Monitoring

Basic monitoring of Go apps with the runtime package

You might be wondering - especially if you’re just beginning to work with Go, how you might add monitoring to your microservice application. As people with some sort of track record will tell you - monitoring is hard. And what I’m telling you - at least basic monitoring doesn’t need to be. You don’t need to set up a Prometheus cluster to get reporting for your simple applications, in fact, you might not even need external services to add a simple printout of your apps statistics.

Read more

Bypassing docker network isolation (hack)

I am the author of the netdata docker image. I created the image before netdata became the popular real time performance monitoring software which it is today - over 15 thousand stars on GitHub! Wow! Due to the network isolation however, you would have to run it in --net=host mode to monitor your network devices.

Read more

So far there is a distinct lack of snakes

In the dashboard which I hacked together at MMC RTV Slovenia, I display a set of related flickr searches based on the current state of the system. So far, there's a distinct lack of snakes, volcanoes, lava, fire, explosions and other things that might freak an engineer out as much as a server outage. Thoughts: I like how the hosts are clearly marked when one of their metrics goes over a threshold.
Read more

Optimization strategy

Sometimes it's not about just optimizing CPU time away. Looking at the details I could optimize away a badly written SQL query along with some more trivial big-O problem in regard with sorting of video clips which I got out of serialized data. All from a few carefully placed calls. Reducing network bandwidth is just as important as CPU time.
Read more