Graceful Shutdown in Go: Practical Patterns
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)…
VictoriaLogs: Gaps, Gains & Growth
In our fourth VictoriaMetrics Tech Talks episode, we wrapped up our deep dive into logs and summarized the key takeaways for effective log management. This installment concluded our log series, featuring Co-founder and CTO Alex who joined to share some exciting news and updates from VictoriaMetrics.
VictoriaMetrics Cloud: What's New in Q1 2025?
This post recaps the latest VictoriaMetrics Cloud updates, including new organization management features, OpenTelemetry integration, a powerful Explore tab, and expanded API capabilities, making your monitoring experience even more seamless and efficient.
Prometheus Monitoring: Functions, Subqueries, Operators, and Modifiers
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.
Don’t default to microservices: You’ll thank us later!
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!
Container CPU Requests & Limits Explained with GOMAXPROCS Tuning
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.
gRPC in Go: Streaming RPCs, Interceptors, and Metadata
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.
From Chaos to Clarity with VictoriaLogs
In our third episode, we will guide you through efficiently ingesting and optimizing log pipelines with VictoriaLogs. We’ll provide actionable insights on streamlining your logging processes, enhancing performance, and, most importantly, extracting valuable insights from your data to improve your operations, troubleshoot issues, and gain a competitive edge.
Prometheus Alerting 101: Rules, Recording Rules, and Alertmanager
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.
Heading to London: Meet Our Team at KubeCon Europe 2025
Say hello at booth #N503 for KubeCon Europe 2025 in London, meet our team, and find out about the latest updates on our new VictoriaLogs solution, VictoriaMetrics, anomaly detection capabilities, and more.