How Pyroscope (OSS) does compression 10x better than gzip

https://github.com/pyroscope-io/pyroscope

What Is Pyroscope?

Pyroscope is software that lets you continuously profile your code to debug performance issues down to a line of code. With just a few lines of code it will do the following:

Pyroscope Agent

  • Polls the stack trace every 0.01 seconds to see which functions are consuming resources
  • Batches that data into 10s blocks and sends it to Pyroscope server

Pyroscope Server

  • Receives data from the Pyroscope agent and processes it to be stored efficiently
  • Pre-aggregates profiling data for fast querying when data needs to be retrieved

Storage Efficiency is Problem with Traditional Profilers

The challenge with continuous profiling is that if…


Using flame graphs to get to the root of the problem

Flame graph
Flame graph
Photo by the author.

“Debugging is like being the detective in a crime movie where you are also the murderer.” — Filipe Fortes

I know from personal experience that debugging performance issues on Python servers can be incredibly frustrating. Usually, increased traffic or a transient bug would cause end-users to report that something was wrong.

More often than not, it’s impossible to exactly replicate the conditions under which the bug occurred, so I would be stuck trying to figure out which part of our code/infrastructure was responsible for the performance issue on our server.

This article explains how to use flame graphs to continuously…


The little things are the big things

Image credit: Author

Since I started my journey in Software Engineering three years ago, there have been plenty of times that I’ve found the field to be non-inclusive. The most egregious of these is in the term “master-slave” architecture and the fact that I start off every day on Github requesting updates from “master.”

Even worse is that in Software Engineering “machines” are often called “workers” so I’ve heard people at work discuss “killing the slave [workers]” when talking about taking down servers.

Recently, Github made a transition from labeling their main branches as the “master” branch in an effort to promote more…


After a couple months of starting (but not finishing) several game prototypes, about a month a go I decided to commit to actually publishing one.

I knew I wanted to start with a game concept that was simple enough to build from beginning to end, but complex enough to require demonstrating many of the game development practices that I’ve learned.

The game that I settled on is a clone of a simple 2d puzzle game with a twist: the puzzle is a video instead of a static image.

After beginning a level, the “pieces” of the game board shuffle (while…


Photo Credit: Natasha Dzhola

My Start with Side Projects

A few years ago, I came up with a plan to make $10,000 per month. I had gotten comfortable in my role at work and I wanted to start working on a side project idea that would generate some “passive” income.

One day, a coworker of mine helped me solve (what I thought was) the last problem preventing me from starting and I told him that I was going to start working on it that night. But, after a few months of no updates he asked, “Whatever happened with that project you were working on?”.

As it turned out, I…


And the case for why Snapchat lenses will become a bigger part of marketing strategies in the future

I think it’s fair to say that Augmented Reality (AR) is still in its “gimmicky” phase. People know about it, but it’s not quite taken seriously in a business context yet.

However, many popular products we use today had to go through a “gimmick” phase to get to where they are. And given recent trends in mobile hardware, one could make the argument that some day augmented reality will be part of our everyday lives.

One of the more practical present-day uses for augmented reality is adding effects to videos in popular apps like TikTok, Instagram, Skype, and Snapchat.

And…


Does colorful and graphic beat plain and professional?

For most, writing a resume is one of the most boring activities on the planet. When I recently re-wrote mine, I couldn’t tell whether I was more dissatisfied with the tedious process or with the bland final result (or both?). As a former software engineer, making a resume in the standard professional format felt like building a website’s landing page with no CSS styling.

For example, let’s use Twitter’s landing page, which is designed to quickly give users direct snippets of information, in a similar way to how resumes are designed. …


My personal experience of learning to code in a bootcamp

Photo Credit: Felix Feng

In 2017, after four years of business school and internships at PwC, Google, and Goldman Sachs I made a decision not to pursue business at all.

I had always been on the business side of technical products but after seeing the kind of value that the engineers provided, I decided I wanted to learn how to code.

How Do I Get Into Coding?

When I asked software engineers this question, they usually advised me to start with a language or a framework, but their answers were varied and sometimes even in direct contradiction of each other.

Being overwhelmed with choices of where to start, I ultimately…

Ryan Perry

Open source contributor | https://github.com/pyroscope-io/pyroscope | Previously a software engineer, a PM, and a data engineer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store