logo

Continuous Profiling Your Production Kubernetes Deployments Running at Scale

2023-04-20

Authors:   Vijay Samuel, Nick Pordash


Summary

The presentation discusses the use of profiling in DevOps to optimize code, reduce resource waste, and improve triage time.
  • Pyroscope UI allows for ad hoc profiling and comparison views
  • Profiles can help detect slow bleeds like memory leaks
  • Profiles can aid in root cause analysis and reduce time to triage
  • Profiles can help optimize code and reduce resource waste
The presenter explains how the Pyroscope UI can be used to compare two different instances or time periods to analyze differences in flame graphs and tabular views. This can be useful in identifying issues during a rollout or detecting slow bleeds like memory leaks.

Abstract

Continuous profiling is dubbed as fourth pillar of Observability and is rapidly growing in popularity. The Open Telemetry project is formalizing profiles as a supported signal type and we will soon see standardization of profiling in the Observability space. At eBay, we recently explored continuous profiling and immediately saw its benefits. We were so impressed that we decided to turn it on for our metrics platform which runs at massive scale. This talk focuses on: * what is a profile * what is continuous profiling * what are the open source options available to do continuous profiling * how our setup inside of eBay's Observability platform looks like * real life examples on how we greatly improved our system's efficiency * what are the benefits of continuous profiling * what is the promise that it holds for the future

Materials: