Leveraging Prometheus’ TSDB for conprof (Continuous Profiling) - Matthias Loibl

129 Aufrufe
Published
Don’t miss out! Join us at our upcoming event: KubeCon + CloudNativeCon North America 2021 in Los Angeles, CA from October 12-15. Learn more at https://kubecon.io The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy, and all of the other CNCF-hosted projects.

Leveraging Prometheus’ TSDB for conprof (Continuous Profiling) - Matthias Loibl

"conprof - github.com/conprof/conprof - is an open-source project that collects profile samples of CPU and memory over time, which can be used for performance analysis amongst other things. Conprof has its roots in Prometheus, this talk elaborates on the similarities that have prevailed as well as the optimizations that had to be made to make it more suitable for continuous profiling. We will first demonstrate how conprof works by analyzing an application with a memory leak.

Prometheus’ time-series database (TSDB) stores tuples of timestamp and float64 value, for each time series and thus, is optimized for storing these as efficiently as possible. conprof, on the other hand, needs to store tuples of timestamp and the raw, recorded profile that can be arbitrarily large. We needed to adapt the TSDB for a completely new use case.

Every conprof workflow starts by looking at the timestamps of each series and only afterwards individual profiles are requested. We explored optimizing for timestamp-reads to ignore the profiling data to save CPU and memory. Separating timestamps and profiles would make it easier and maybe we could improve the compression for profiles?
This talk will take us on a journey to see how we've answered these questions so far!"
Kategorien
Corona Virus aktuelle Videos Gesundheits Tipps
Kommentare deaktiviert.