How to profile Go applications inside a docker container

In this post I’ll give a quick overview of several methods you can use for profiling/debugging Go applications that are running in a docker container. To get a more in-depth overview of the several methods, I’ve added the source links at the end of the article you can reference. I really advise you to read the sources listed, and read up on how to use and interpret the created profiles in order to debug/optimize your application. ... Read more


How to profile Python applications inside a docker container

In the following post I’ll explain how you can profile a running Python program in a Docker container using py-spy. py-spy is able to generate flame graphs, and it can give us profiling capabilities in order to debug our Python programs. Now, when your Python code is running in a Docker container it can be a bit more difficult to profile your code, and this post sets out to show you how this can be done with these tools. ... Read more


A minimal REST API Django setup as a microservices

In this post I will set out on how to set up a django project that can be used as a REST API microservice. To see the end result, you can investigate the code here. An important disclaimer: the code presented here is to be used in a development environment, review security practices for the framework(s) when you want to use it in production or expose it to the internet. ... Read more


How to profile Go applications inside a docker container

This article has been updated and you can view its updated version here In this post I’ll give a quick overview of several methods you can use for profiling/debugging Go applications that are running in a docker container. To get a more in-depth overview of the several methods, I’ve added the source links you can reference. pprof gcvis gotorch general sources Defer Panic - understanding golang memory usage golang. ... Read more


How to restore a PostgreSQL database on Kubernetes

As I wanted to transfer the database from one kubernetes cluster to a new one, I had to find a way to do this. And with a bit of trial and error I succeeded. So for future reference, and the hope that this might help someone, I figured I would write it down. First we will transfer the database to our file system: // pod-name name of the postgres pod // postgres-user database user that is able to access the database // database-name name of the database kubectl exec [pod-name] -- bash -c "pg_dump -U [postgres-user] [database-name]" > database. ... Read more


Create command line applications with a config file

In this tutorial we’ll be using engage to create a cli application by only using a json config file. Enage was created because at FuelUp we have several bash scripts placed in different folders in the project. I wanted a way to bundle them so that I didn’t have to remember the location of these scripts. Additionally when developing it isn’t uncommon to have to type several commands after another, and it would be nice to have them easy accessible. ... Read more


How to enable true-color for neovim, tmux, and gnome-terminal

With the release of tmux version 2.2 we’re able to get true-color support inside of tmux. And because both neovim and gnome-terminal are also supporting this, we can have great looking interfaces and colorschemes inside of tmux. However, there are some steps we need to take in order to make this work. So I created this blog post for future reference, and hopefully you might find it useful too. ... Read more