Internally, VictoriaMetrics makes heavy use of sync.Pool, a data structure built into Go’s standard library. sync.Pool is intended to store temporary, fungible objects for reuse to relieve pressure on the garbage collector. If you are familiar with free lists, you can think of sync.Pool as a data structure that allows you to implement them in a thread-safe way.
We’re happy to announce that we now offer a free trial of our VictoriaMetrics Enterprise solution! Designed to help solve an organisation’s monitoring and observability set ups, no matter the scale, VictoriaMetrics Enterprise provides reliable, secure and cost-efficient monitoring. The free trial of VictoriaMetrics Enterprise is perfect for organisations with large data loads, for whom cost-efficient monitoring is mission-critical.
Welcome to the third chapter of the handbook on Anomaly Detection for Time Series Data! This series of blog posts aims to provide an in-depth look into the fundamentals of anomaly detection and root cause analysis. It will also address the challenges posed by the time-series characteristics of the data and demystify technical jargon by breaking it down into easily understandable language.
This blog post is also available as a recorded talk with slides.
Relabeling is an important feature that allows users to modify metadata (labels) of scraped metrics before they ever make it to the database. As an example, some of your scrape targets may generate metric labels with underscores (_), and some of your targets may generate labels with hyphens (-). Relabeling allows you to make this consistent, making database queries easier to write.
VictoriaMetrics is an open-source time-series database (TSDB) written in Go, and I’ve had the pleasure of working on it for the past couple of years. TSDBs have stringent performance requirements, and building VictoriaMetrics has taught me a thing or two about optimization. In this blog post, I’ll share some of the performance tips I’ve learned during my time at VictoriaMetrics.