Skip to main content

Concepts

Data model

Parca's multi-dimensional data-model originates from the Prometheus project. It allows for concise and easy to use label-selectors to slice and dice the data when querying.

Parca has a strong philosophy on having stable links. Observability projects work best when they can be shared with teams and so Parca does its best to represent the state of the frontend via the URL to be shared with other people via chat such as Discord, Slack or issue trackers like GitHub or GitLab.

Pprof

Parca ingests profiles using the open-source pprof profile.proto format. More can be read about pprof and the format here.

How is this different than the pprof utility?

The pprof utility offers a robust set of tools for exploring profiles. Parca specifically tries to solve the storage and retrieval of these profiles, and allows you to explore these profiles across time.

Icicle Graphs

Often to better understand how your application is behaving you need to compare two profiles. Parca allows you to make selections of two points in time that you want to compare and will generate an icicle graph of the difference between the two selected profiles.

If a span is larger in the second profile, you'll see that span colored in red, and will be darker shade the larger the difference is. This allows one to quickly visually identify where a program is growing in usage scope.

image

You'll see in the image below with the profile selections reversed from the previous example, that the spans that are now smaller in the second selection are colored green. This allows you to quickly visually identify where improvements to usage are being made.

image

If a span remains blue, it means there was no significant change between the two compared profiles for that section of code.