VictoriaLogs is GA - Try it out now!

The VictoriaMetrics Observability Blog

Read Our Technical & Business Content on Monitoring Solutions & Time Series Databases

Go sync.Pool and the Mechanics Behind It

by Phuong Le on Aug 23, 2024

Instead of just throwing these objects after each use, which would only give the garbage collector more work, we stash them in a pool (sync.Pool). The next time we need something similar, we just grab it from the pool instead of making a new one from scratch.

Read

VictoriaMetrics Cloud reduces monitoring costs by 5x

by Jean-Jerome Schmidt-Soisson on Aug 20, 2024

We’re happy to announce VictoriaMetrics Cloud, a hosted monitoring platform and managed service for metrics that allows organizations to monitor and store large amounts of time-series data, without having to run the underlying infrastructure.

Read

Go Maps Explained: How Key-Value Pairs Are Actually Stored

by Phuong Le on Aug 16, 2024

Map is a built-in type that acts as a key-value storage. Unlike arrays where you’re stuck with keys as increasing indices like 0, 1, 2, and so on, with maps, the key can be any comparable type.

Read

Troubleshooting Time Series Databases: Where Did My Metrics Go?

by Zhu Jiekun on Aug 9, 2024

I have already recorded metrics in the application, why can’t I see my metrics on Grafana?

Read

Go sync.Mutex: Normal and Starvation Mode

by Phuong Le on Aug 9, 2024

Mutex in Go has two main flows: Lock and Unlock and 2 modes: Normal and Starvation Mode. The state field of mutex is a 32-bit integer that represents the current state, it’s divided into multiple bits that encode various pieces of information about the mutex.

Read

How Go Arrays Work and Get Tricky with For-Range

by Phuong Le on Aug 2, 2024

As always, we’ll start with the basics and then dig a bit deeper. Don’t worry, Go arrays get pretty interesting when you look at them from different angles. Arrays in Go are a lot like those in other programming languages. They’ve got a fixed size and store elements of the same type in contiguous memory locations.

Read

Golang Defer: From Basic To Traps

by Phuong Le on Jul 26, 2024

The defer statement actually has 3 types: open-coded defer, heap-allocated defer, and stack-allocated. Each one has different performance and different scenarios where they’re best used, which is good to know if you want to optimize performance.

Read

VictoriaMetrics Anomaly Detection: What's New in H1 2024?

by Fred Navruzov on Jul 17, 2024

Explore the latest improvements in VictoriaMetrics Anomaly Detection (vmanomaly), including presets, new models, enhanced tuning, and better resource management

Read

Vendoring, or go mod vendor: What Is It?

by Phuong Le on Jul 16, 2024

Vendoring is a different strategy as it keeps a copy of all your project’s dependencies directly within the project’s directory, rather than relying on an external cache.

Read

Q2 2024 Round Up: VictoriaMetrics & VictoriaLogs Updates

by Jean-Jerome Schmidt-Soisson on Jul 5, 2024

Read about our Q2 2024 achievements, the roadmap for VictoriaMetrics, the latest news on VictoriaLogs, and more!

Read

Watch Your Monitoring SkyRocket With VictoriaMetrics!