Have you been trying to profile your Kubernetes applications with perf
? Maybe you want to see what all the FlameGraphs fuss is about? If your version of Docker was upgraded within the last year, you’ll likely run into issues.
Foot-candles: the different paths to tech
Despite working in tech with an engineering title, my only degree is a BFA in Film and Animation. While some schools emphasize critique in their film programs, mine was more technical and hands-on. That meant I was shooting 16mm film by my second week, organizing set crews by my second quarter, and did everything from directing commercials to writing my own imaging codecs.
It’s also how I learned about foot-candles.
2017 Year in Review
I have a tradition of writing down my accomplishments from the past year and sticking them on the wall in my favorite depression zone-out corner to comfort me in the winter.
This year, I thought I would share the results. It’s a nice way for people to catch up with my recent shenanigans, as well as a chance for me to categorize and reflect on the parts I liked the most and would like to continue in the new year.
Perhaps adopting this tradition will help you, too.
Tea and Tech Culture
For the majority of my life, I was not a social drinker. Not only did I abstain from alcohol, but also any sort of caffeine not found in a good hot chocolate. I made it through high school, college, and the first years of my professional life without a beer, latte, or late-night crunch energy drink.
Some of it was personal morals, but most of it was personal taste. I would sip friends’ drinks, make a face, and return to my water and cake. I was fine with this, because I was staying true to myself. And the people worth keeping in my life didn’t care. But I knew I was missing out.
Making FlameGraphs with Containerized Java
About a month ago, I had the pleasure of taking a tutorial led by the fantastic Brendan Gregg on creating FlameGraphs using the Linux perf
toolset. I recommend reading his many blog posts on the subject, but in short: while perf
is an excellent resource for debugging kernel and user space processes, FlameGraphs make the data even easier to consume.
Now, if the process you’re trying to profile is Java, there are some extra hoops to jump through, which Brendan has also detailed online.
But if the Java process is in a container, it’s even more annoying. That’s where this post comes in.