Iciclecharts with CPU profiling data
Iciclechart is a visualization method that allows you to see the CPU usage of your application over time. In other words, it is similar to a flamegraph, but has an additonal time dimension. This means that you can see how the CPU usage of your application changes over time, and how it is affected by different events.
Screenshot of Iciclechart with CPU profiling data:
Prerequisite
Before you can use Iciclechart with CPU profiling data, you need to be collecting the CPU profiling data with cpu
or thread_id
label, or any other label that will never have samples with overlapping timestamps, threads or CPUs can't have two things running on them at the same time so they are well suited for this purpose.
You can do that by adding the following section to the parca agent configuration if you don't have it already:
relabel_configs:
- source_labels: [__meta_thread_id]
target_label: thread_id
- source_labels: [__meta_cpu]
target_label: cpu
This will add the cpu
and thread_id
labels to the CPU profiling data, which can be then used for Iciclechart visualization. More information about the relabeling can be found in the relabeling documentation.
How to use Iciclechart with CPU profiling data
Once you're on the Polar Signals cloud, you can use Iciclechart by selecting the Iciclechart
option in the visualization type dropdown.
Note: Since the Iciclechart is right now in alpha, you will have to specifically enable Iciclecharts in the Preferences
section. you can do this by clicking on the Preferences
button near the visualization type selector and then toggling the Enable Icicle charts
on.
Recommended Usage
It is always recommended to use iciclechart with the following query conditions:
- Add a
node
filter to the query to limit the data to a specific node. - Add either
cpu
orthread_id
label to theSum by
section to group the data by CPU or thread ID.