Rob is a Senior Crafty Penguins Engineer. With 25+ years Linux experience, and a background in both Telecoms and ISP systems, Rob now enjoys wrangling packets and fiddling with the bits to try make things work better. Meet the CP team

Kernel Module Snippets – Part 3 – Virtual Network Device

This entry is part 3 of 3 in the series Kernel Module Snippets

Intro A part of the project I’ve been working on requires the use of a virtual network device. Traditionally, this would be a tun/tap device. The user-space program would register a new tunnel device connected to /dev/net/tun, which presents the user with a tun0 device to which you can assign an IP address etc. IP…

Kernel Module Snippets – Part 2 – Hello World Continued

This entry is part 2 of 3 in the series Kernel Module Snippets

Intro In the last post, I mentioned the /proc system but never got much further. We’ll delve a little deeper in this post. So what is /proc anyway? According to wikipedia – “The proc file is a special file system … that acts as an interface to internal data structures in the kernel. It can be used to obtain…

Optimizing Grafana and Prometheus rendering performance using Trickster

Trickster is a reverse proxy cache for the Prometheus HTTP APIv1 that dramatically accelerates dashboard rendering times for any series queried from Prometheus. See our previous post about Why we Love Grafana and Prometheus. We are always super impatient so love cool things like Trickster. Dashboards that automatically refresh should now load on average 90% faster. Oh yeah!…