Grafana Live | Chicago 2023
These are my notes from the GrafanaLive workshop held in the Google offices in Chicago.
These are my notes from the GrafanaLive workshop held in the Google offices in Chicago.
In this post, we'll explore Profile Guided Optimizations (PGO) introduced in Go 1.20 and how they can be effectively used to improve the performance of your production applications. PGO is a compiler optimization technique that allows you to tune the performance of your Go applications in an environment- and workload-specific way. The profiles themselves are simple metadata files that contain information on what functions are called, how often they're called, what system calls are used, and generally what the computational profile is of your application. This information can be used by the compiler to better inform what sorts of optimizations are useful in your specific environment and workfload.
In this blog post, we discover how you can analyze what variables the Go compiler decides should escape to the heap, a common source of performance problems in Golang. We'll also show how you can configure the gopls language server in VSCode to give you a Codelens view into your escaped variables.
Systemd administrators often find themselves needing to run services on their bare-metal machines. Services can be broken down into roughly two broad categories:
Long-running services comprise of the majority of the services in use by Linux. One of the challenging aspects of long-running services in a production environment is the dual question of monitoring and reliability:
In 2022, I bought myself an Intech Sol Horizon Rover. I had been looking at RVs for a long time and decided on this particular manufacturer because of the excellent build quality and reputation of the manufacturer. The Horizon was a good fit for my needs because it was spacious enough to be comfortable for two adults to live in for long periods of time, and small enough that I could tow it with my Jeep Grand Cherokee. My goal for this RV is to be something that I could work remotely from, which means I needed to get a reliable internet setup. This post will show you my journey with finding the right internet solution, the lessons I learned, and the resources I used to make this a successful build.
packages
Featurevektra/mockery is a Go package that auto-generates mock implementations of interfaces in your project. For those not familiar with what mockery is, please take a look at its documentation page. I took over the project in 2020 and have overseen a number of significant feature updates to the code. The most recent of these is a feature I call packages
, and it's one I'm most proud of due to the enormous benefits it grants you.
AWS Batch provides an excellent way to process hundreds or thousands of batch jobs very easily, but the default configurations provided may not be enough for most users. This post will help address the limitations of the default Amazon Machine Image (AMI) used in the managed compute environment.