Our Support for Private-Public Partnerships in Combatting Cyberthreats

As a society, so much of everything we do these days revolves…


Latest Posts

100% Reproducible Builds in Go

This post was featured in our July 2015 anthology of most popular SolarWinds Database Performance Monitor (DPM) blog posts of all time. One of the nice things about Go is statically…

Godaemon, a Library to Daemonize Go Apps

At SolarWinds® Database Performance Monitor we have a specific need to daemonize one of our Go applications, which must safely run detached from terminals, with a working directory that won’t…

A tutorial on how to use Go’s database/sql package

We found ourselves wishing for a tutorial to complement the database/sql documentation in Go, so we wrote one and shared it on Github. Please send pull requests to contribute improvements! UPDATE: …

Streaming Approximate Histograms in Go

If you’re looking at response time, what’s more useful: a mean or a percentile? Not sure? You probably know how to calculate the average or mean of a sample, but…

4 Statistical Process Control Rules That Detect Anomalies in Systems

Statistical Process Control (SPC), or using numbers or data to study the characteristics of our process to make it behave the way we want it to behave, has been around…

Quantifying Abnormal Behavior

At Velocity last week, I spoke about how we quantify abnormality in a system’s time-series metrics cheaply, in realtime, at high frequency. Note that this is not the same thing as…

Replacing Clever Code with Unremarkable Code in Go

Not too long ago, my primary programming language was Perl. I’ve written a lot of Perl, including some things that I think are quite clever. And therein lies the problem.…

How Does Adaptive Fault Detection Work? Does It Eliminate Thresholds?

In previous posts, I claimed that thresholds are a root of much evil in monitoring systems (not the root of all evil, but a root of much evil), and that…

Using Socat to Simulate Networking Traffic to Test and Debug

If you don’t know socat, you probably should. From its man: Socat is a command line based utility that establishes two bidirectional byte streams and transfers data between them. Because the…

Two Reasons Why Threshold-Based Monitoring Is Hopelessly Broken

Why is a threshold-based alert such a disaster? There are two big reasons. Thresholds are always wrong. They’re worse than a broken clock, which is at least right twice a…


SolarWinds's Twitter avatar

Great APM isn’t in a galaxy far, far away. In fact, AppOptics is TopRated! t.co/QxxvNUgzpL

SolarWinds's Twitter avatar

ICYMI: This fifth and final piece to the CMMI overview covers Level 5 and the advantage of business agility from a… t.co/nuDX46mbj2

SolarWinds's Twitter avatar

It pays to be proactive instead of reactive during incident management. And there’s wealth in setting up time-based… t.co/fZZRSVsJNk