How HTTP/2 Works and How to Enable It in Go
HTTP/2 solves head-of-line blocking at the application layer by multiplexing multiple streams over a single TCP connection. While HTTP/1.1 requires requests to be processed sequentially, HTTP/2 allows parallel processing through independent streams, each with its own ID. The Go standard library supports HTTP/2 out of the box when using HTTPS, and with some configuration, it can work over plain HTTP too
VictoriaMetrics Cloud: What's New in Q4 2024?
As we start the year we discuss the latest-and-greatest enhancements of VictoriaMetrics Cloud. These updates include two new integrations, improved billing features, enriched documentation, a more user-friendly interface, and enhanced usability—each designed to make your monitoring experience even smoother and more productive.
When Metrics Meet vminsert: A Data-Delivery Story
vminsert acts as a gateway for incoming monitoring data. It receives data in different formats, processes it by parsing and adjusting labels, then uses memory buffers to send this data to storage nodes. It’s smart enough to always send the same type of data to the same storage node and can redirect data if a node isn’t working properly.
From net/rpc to gRPC in Go Applications
The net/rpc package in Go demonstrates basic RPC concepts by establishing TCP connections between clients and servers, using sequence numbers to match requests with responses, and supporting both gob (Go-specific) and JSON codecs for data serialization. While net/rpc is simpler and limited to Go services by default, gRPC offers advanced features like HTTP/2 streaming, cross-language support, and better performance
VictoriaMetrics helps IHI Terrasun Win Big in Vegas on $1.2B Clean Energy Project
We’re happy to announce that VictoriaMetrics and IHI Terrasun Solutions, a leading energy storage system integrator, have partnered on one of North America’s largest clean energy projects!
How vmstorage Turns Raw Metrics into Organized History
This article walks through how data flows from collection to storage, explaining how vmstorage processes incoming metrics, assigns unique IDs to time series, and organizes everything into different types of storage parts. The whole system is pretty clever - it uses in-memory buffers for speed, smart compression to save space, and has various watchdogs keeping an eye on things like disk space and data retention.
Weak Pointers in Go: Why They Matter Now
Through the weak package, you can create these special pointers that automatically become nil when their target memory gets collected. While they’re a bit trickier to use than regular pointers, they’re super useful for things like canonicalization maps and memory-efficient caching. The implementation is pretty clever too, using an 8-byte indirection object to make garbage collection more efficient.
How vmagent Collects and Ships Metrics Fast with Aggregation, Deduplication, and More
VictoriaMetrics agent, or vmagent, is a lightweight tool designed to gather metrics from a number of different sources. Once it pulls in all those metrics, vmagent lets you ‘design’ them (through ‘relabeling’) or filter them down (doing things like reducing cardinality, stream aggregation, deduplication, and so on) before shipping them off to wherever you want to store them.
VictoriaMetrics Efficiently Simplifies Log Complexity with VictoriaLogs
We’re delighted to announce the GA release of our innovative logging solution: VictoriaLogs. It’s perfect for managing and analyzing large volumes of log data, especially in containerized environments such as Kubernetes.
VictoriaMetrics Anomaly Detection: What's New in Q3 2024?
Explore the latest improvements in VictoriaMetrics Anomaly Detection (vmanomaly), including optimizations, online models, multitenantcy and mTLS support.