The VictoriaMetrics Observability Blog

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

Meet Our Team at KubeCon North America 2024

by Gonzalo García Labat on Oct 28, 2024

Come say hello at booth R17 for KubeCon 2024 in Salt Lake City, meet our team, and find out about the latest updates on our new VictoriaLogs solution, VictoriaMetrics Enterprise, anomaly detection capabilities, and more

Read

Monitoring Azure AKS & Azure Linux with VictoriaMetrics

by Zakhar Bessarab on Oct 22, 2024

Learn how to monitor Azure AKS and Azure Linux with VictoriaMetrics. This blog post covers the setup process for environments with high security requirements and how to monitor them with VictoriaMetrics.

Read

Go I/O Closer, Seeker, WriterTo, and ReaderFrom

by Phuong Le on Oct 18, 2024

Still, we haven’t really covered some other important interfaces, like Closer, Seeker, and a few others. And honestly, if you’re learning Go, you probably don’t want to leave those in the blind spot.

Read

Go I/O Readers, Writers, and Data in Motion

by Phuong Le on Oct 11, 2024

The io.Reader and io.Writer interfaces are probably some of the most common tools. Today, we’re kicking off the I/O series by taking a look at a lot of these readers and writers, and pointing out some common mistakes — like using io.ReadAll in ways that can backfire.

Read

Go sync.Map: The Right Tool for the Right Job

by Phuong Le on Oct 4, 2024

Go’s sync.Map isn’t a magic bullet for all concurrent map needs. It’s got some good tricks up its sleeve, like handling reads without locking, but it’s not always the best choice. This article dives into how sync.Map works under the hood, from its two-map system to the bottom line of expunged entries.

Read

Inside Go's Unique Package: String Interning Simplified

by Phuong Le on Sep 30, 2024

When you’ve got several identical values in your code, you only store one copy. Instead of having several copies of the same thing, they all just point to this one version, which is a lot more efficient. It’s a process often called ‘interning’ in programming circles.

Read

Go Singleflight Melts in Your Code, Not in Your DB

by Phuong Le on Sep 20, 2024

What singleflight does is ensure that only one of those goroutines actually runs the operation, like getting the data from the database. It allows only one ‘in-flight’ (ongoing) operation for the same piece of data (known as a ‘key’) at any given moment.

Read

Go sync.Cond, the Most Overlooked Sync Mechanism

by Phuong Le on Sep 13, 2024

In Go, sync.Cond is a synchronization primitive, though it’s not as commonly used as its siblings like sync.Mutex or sync.WaitGroup. That said, as a Go engineer, you don’t really want to find yourself reading through code that uses sync.Cond and not have a clue what’s going on.

Read

The Rise of Open Source Time Series Databases

by Aliaksandr Valialkin on Sep 11, 2024

Time series databases are essential tools in any software engineer’s toolbelt. Their development has been shaped by user needs and countless open source contributors, leading to the healthy ecosystem of options we see today. In this article, you’ll see how time series databases came about, and why so many are open source.

Read

Go sync.WaitGroup and The Alignment Problem

by Phuong Le on Sep 6, 2024

When we’re spinning off many goroutines to do their thing, we want to keep track of them so that the main goroutine doesn’t just finish up and exit before everyone else is done. That’s where the WaitGroup comes in. Each time one of our goroutines wraps up its task, it lets the WaitGroup know.

Read

Watch Your Monitoring SkyRocket With VictoriaMetrics!