The VictoriaMetrics Observability News And Blogs
Read Our Technical & Business Content on Monitoring Solutions & Time Series Databases
Category:

Open Source Tech

Go synctest: Solving Flaky Tests

by Phuong Le on May 23, 2025

Traditional concurrent Go tests can be flaky due to non-deterministic scheduler behavior and timing. Go 1.24’s experimental synctest feature provides deterministic testing by running goroutines in isolated ‘bubbles’ where a synthetic clock only advances when all internally managed goroutines are durably blocked.

Read

VictoriaMetrics Components: Getting Started

by Phuong Le on May 9, 2025

VictoriaMetrics is a fast, scalable monitoring system made of modular components like vminsert, vmstorage, and vmselect. It supports both single-node and clustered setups, along with tools for backup, restore, alerting, access control, and data migration. Data can be ingested, stored, queried, backed up, and restored with high performance and minimal resource use.

Read

VictoriaMetrics Connects with the Open Source Community at LinuxFest Northwest 2025

by Marc Sherwood on May 6, 2025

We have just got back from an incredible weekend representing VictoriaMetrics at LinuxFest Northwest 2025 in beautiful Bellingham, WA! 🌲🏔️

Read

Graceful Shutdown in Go: Practical Patterns

by Phuong Le on May 2, 2025

Go applications can implement graceful shutdown by handling termination signals (SIGTERM, SIGINT) via os/signal or signal.NotifyContext. Shutdown must complete within a specified timeout (e.g., Kubernetes’ terminationGracePeriodSeconds)…

Read

Prometheus Monitoring: Functions, Subqueries, Operators, and Modifiers

by Phuong Le on Apr 25, 2025

Prometheus querying involves multiple moving parts: functions, operators, modifiers, and subqueries. Small differences in how vectors are handled or rollups are applied can lead to completely different outcomes or errors. MetricsQL extends PromQL by handling these edge cases more gracefully with features like default rollups.

Read

Don’t default to microservices: You’ll thank us later!

by Roman Khavronenko on Apr 18, 2025

We believe microservices shouldn’t be the default and that companies should start with monoliths until reality actually demands they scale and shift from one node to a cluster of nodes. As a result, we offer clustering on an open source basis because we want to support realistic growth. Read on for details!

Read

Container CPU Requests & Limits Explained with GOMAXPROCS Tuning

by Phuong Le on Apr 11, 2025

When running Go apps in Kubernetes, default CPU thread scheduling can conflict with cgroup CPU limits. The runtime sees all host CPUs, but the container may only be allowed a fraction of one. This often leads to early throttling. Properly configuring GOMAXPROCS avoids this waste and improves stability.

Read

gRPC in Go: Streaming RPCs, Interceptors, and Metadata

by Phuong Le on Mar 28, 2025

Go’s gRPC implementation uses code generation to create type-safe client and server interfaces. Streaming RPCs allow sending multiple messages over a single connection, perfect for real-time updates and continuous data flows. Interceptors provide middleware-like functionality for authentication, logging, and error handling without modifying your core service logic.

Read

Prometheus Alerting 101: Rules, Recording Rules, and Alertmanager

by Phuong Le on Mar 18, 2025

Recording rules can transform complex PromQL queries into pre-computed metrics, eliminating repeated calculation overhead. When organized in groups, these alerting and recording rules can be precisely scheduled to run at specific times like 01:30, 02:30, and even execute in parallel for maximum efficiency.

Read

Inside vmselect: The Query Processing Engine of VictoriaMetrics

by Phuong Le on Mar 7, 2025

The article explains vmselect’s core functionalities: concurrent request processing, query parsing and validation, data fetching and merging from vmstorage nodes, and memory-efficient result caching.

Read

Watch Your Monitoring SkyRocket With VictoriaMetrics!