Hey! Founder of Polar Signals here! We are super excited to be announcing Parca[1] an open source continuous profiling storage and query engine as well as an eBPF based profiler. Oh, and also we got funded! Polar Signals was founded almost to the day a year ago, and we launched a private beta for our product earlier this year[2]. We are long time Prometheus, Kubernetes, Thanos, and Cortex maintainers, which are all very performance sensitive so we wished we had had access to continuous profiling tools when we first started working on those projects.<p>What is continuous profiling? Instead of capturing profiling data on-demand and as a manual process, continuous profiling always captures profiling data, and stores it to be queried over time to aggregate and compare.<p>Using our private beta we explored further what our users want most from continuous profiling, and we identified it to be:<p>* Cost saving: We discovered all companies to have low hanging fruit that can easily be optimized away, often saving easily 20-30% in resources. The only problem is companies don’t know because they don’t measure.
* Optimizing individual interactions: Latencies of interactions have a proven correlation between converting a customer or not. It’s incredibly hard to obtain profiling data at the right time, but if it’s always captured it’s just a matter of querying it.
* Understanding change: Performance engineering tends to be very sensitive and small changes can have a big impact, therefore the ability to deeply understand what changed from a point in time or a newly rolled out version of a software is invaluable for optimizing but also in order to understand incidents better.<p>Parca features a fully from scratch designed storage which implements multiple optimizations that are unique to profiling data, specifically our sparse XOR encoding for uint64 series is what allows us to store this data at raw resolution. More detailed information can be found in the storage docs[3]. And with the newly open sourced Parca Agent[4], we can capture CPU profiling data with practically unnoticeable overhead for the profiled processes, it automatically discovers all containers in a Kubernetes cluster and starts profiling them with zero instrumentation needed!<p>This is only the beginning of the project, but we are excited to work with the community to make this project more and more useful!<p>We will be hanging out in the comments section today, so please leave your feedback, criticisms, or just say hi!<p>[1] <a href="https://parca.dev/" rel="nofollow">https://parca.dev/</a>
[2] <a href="https://www.polarsignals.com/blog/posts/2021/02/09/announcing-polar-signals-continuous-profiler/" rel="nofollow">https://www.polarsignals.com/blog/posts/2021/02/09/announcin...</a>
[3] <a href="https://www.parca.dev/docs/storage" rel="nofollow">https://www.parca.dev/docs/storage</a>
[4] <a href="https://www.parca.dev/docs/parca-agent-design" rel="nofollow">https://www.parca.dev/docs/parca-agent-design</a>