Duration
Total: 12 months
Development phase: January 2022 - December 2022
We started by analyzing project specifications. Once this was done, we estimated the work scope, prepared a list of tasks, and promptly assembled a dedicated development team. Dividing the work scope into 2–3 week iterations, our engineers delivered a significant amount of core functionality (Node.js profiler, Ruby agent, etc.).
A part of the team was involved in cloud and back-end development while the other was responsible for the user interface (UI). We also completed multiple tasks upon the requests of Pyroscope’s customers — famous Silicon Valley companies, which became a significant step towards further M&A by Grafana Labs.
As Pyroscope’s customers might use different technology stacks, our main challenge was to provide support for various programming languages, frameworks, etc. On top of that, large-scale organizations like Stripe and Shopify would need to aggregate, store, and process petabytes of data.
To satisfy the requirements of existing and future Pyroscope’s clients, we wrote agents for the necessary languages. For instance, our engineers created a continuous profiler for Node.js, which involved Node.js and C++ modules and used a Sampling Profiling technology.
What’s more, we wrote Ruby and other agents. The agent gathers data and sends it to the Pyroscope’s server. Then, the system puts the data in a common format for further visualization on the dashboard.
Now, Pyroscope supports plenty of agents (Go, Python, eBPF, Ruby, PHP, Node.js, .NET, Java, etc.), from which application performance data is collected.
Then, we delivered a lot of new features and customizations. For example, our developers integrated profiling and tracing (a new method to store data and identify problems) functionality for Honeycomb.
Apart from full-stack tasks, we redesigned the UI, making it super intuitive. Our team made the UI accessible to different user groups, including color-blind people. Additionally, we implemented the “light mode”.
Key features
Our software development team delivered a range of features, involving:
- New types of data visualization: Tag explorer, Tracing exemplars (Heatmap), GraphViz, and Sandwich view.
- “Light mode” with the ability to switch it to a “Dark” one.
- Web accessibility to color-blind people and other user groups.
- Agents to gather data for Node.js, Ruby, etc.
- A local web server to provide the ability to configure users and API keys.
- Statistics visualization with filters like languages and profile types (processor, memory, etc).