You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is especially useful for Python workloads that call out to native extensions, so just viewing interpreted frames is not quite right, but just hiding the Python runtime. This means other native extensions like libcuda or pytorch would still be visible.
56
56
57
-
In addition to that, you can hide multiple binaries at a time! Using the same icicle graph as above, we also want to hide the <em>libc.so.6</em> frames.
57
+
In addition to that, you can hide multiple binaries at a time! Using the same Flame Graph as above, we also want to hide the <em>libc.so.6</em> frames.
58
58
59
59
<BrowserWindow>
60
60
@@ -64,12 +64,12 @@ In addition to that, you can hide multiple binaries at a time! Using the same ic
64
64
<br />
65
65
<BrowserWindow>
66
66
67
-

67
+

68
68
69
69
</BrowserWindow>
70
70
<br />
71
71
72
-
To get the icicle graph back to its initial state, there's a "Reset Legend" button to reset the icicle graph.
72
+
To get the Flame Graph back to its initial state, there's a "Reset Legend" button to reset the Flame Graph.
We provide an example configuration file that you can use to get Parca running, and the scrape configuration section should look familiar to anyone familiar with Prometheus.
To start Parca, pass this config file with the `config-path` flag:
@@ -147,12 +153,12 @@ Selecting one of these profile types and clicking the `Search` button will retri
147
153
148
154
</BrowserWindow>
149
155
150
-
This should result in a time series based on the profile that is interactable. Clicking anywhere on the line graph should then bring up an icicle graph for the profile that you've selected.
156
+
This should result in a time series based on the profile that is interactable. Clicking anywhere on the line graph should then bring up an Flame Graph for the profile that you've selected.
@@ -18,9 +18,9 @@ Parca ingests profiles using the open-source pprof profile.proto format. More ca
18
18
19
19
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.
20
20
21
-
## Icicle Graphs
21
+
## Flame Graphs
22
22
23
-
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.
23
+
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 Flame Graph of the difference between the two selected profiles.
24
24
25
25
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.
26
26
@@ -42,14 +42,14 @@ If a span remains blue, it means there was no significant change between the two
42
42
43
43
## Cumulative and Diff values
44
44
45
-
When comparing two profiles, it's not unusual to see a `Cumulative` value and `Diff` value in the tooltip that displays when you hover over the icicle graph.
45
+
When comparing two profiles, it's not unusual to see a `Cumulative` value and `Diff` value in the tooltip that displays when you hover over the Flame Graph.
As an example, a stack trace like `main() > foo() > bar()` where `main` calls `foo` that calls `bar`. In one profile, we observe this stack trace running at 500ns, so its cumulative value will be 500 and then later in another profile, we see this stack trace but it was running for only 300ns, thus it's cumulative value will be 300.
54
54
55
-
However, if we compare the latest stack trace that was running at 300ns to the former one running 500ns, we see that the diff is 300-500 = -200. It means that compared to the first profile we've seen this same stack trace 200ns less.
55
+
However, if we compare the latest stack trace that was running at 300ns to the former one running 500ns, we see that the diff is 300-500 = -200. It means that compared to the first profile we've seen this same stack trace 200ns less.
To continuously send every profile collected to a Parca server configure the `--remote-store-address` and the potential credentials needed.
133
141
For example, to send to a Parca server in the `parca` namespace set: `--remote-store-address=parca.parca.svc:7070`.
@@ -137,7 +145,7 @@ This has already been set up for our current setup in the previously applied man
137
145
138
146
You can use `--remote-store-insecure` and `--remote-store-insecure-skip-verify` for simpler setups.
139
147
140
-
```shell
148
+
```shell
141
149
--remote-store-insecure Send gRPC requests via plaintext instead of
142
150
TLS.
143
151
--remote-store-insecure-skip-verify
@@ -156,28 +164,29 @@ You should shortly see the `Select profile...` dropdown menu populate with the p
156
164
Parca supports any pprof formatted profile, but here we are demonstrating Parca Agent's automatic profiling with zero-instrumentation, which currently only supports CPU profiling.
Selecting `CPU Samples` as profile type and clicking the `Search` button will retrieve the profiles from Parca Agent for the time selection (default Last Hour).
168
177
169
178
This should result in a time series based on the profile that is interactable.
170
-
Clicking anywhere on the line graph should then bring up an icicle graph for the profile that you've selected.
179
+
Clicking anywhere on the line graph should then bring up a Flame Graph for the profile that you've selected.
You can then interact with the icicle graph to better understand how Parca is behaving.
189
+
You can then interact with the Flame Graph to better understand how Parca is behaving.
181
190
182
191
:::info
183
192
@@ -193,7 +202,7 @@ If you go to query bar and enter `namespace="kube-system"` you can focus on them
193
202
194
203
</BrowserWindow>
195
204
196
-
<br/>
205
+
<br/>
197
206
198
207
And you can click the samples on the graph to focus on the individual profiles.
199
208
@@ -203,7 +212,6 @@ And you can click the samples on the graph to focus on the individual profiles.
203
212
204
213
</BrowserWindow>
205
214
206
-
207
215
### Selecting a subset of applications to profile
208
216
209
217
Metadata discovery mechanism enriches the collected profiles with Kubernetes labels. You can use relabelling feature of the Parca Agent to drop a subset of labels.
@@ -216,6 +224,7 @@ To learn more about relabelling please see the [Prometheus `relabel_config` docu
216
224
:::
217
225
218
226
First you need to specify a configuration file if you haven't already. The relevant manifest changes on `parca-agent-daemonSet.yaml` would like the following:
227
+
219
228
```diff
220
229
...
221
230
template:
@@ -245,11 +254,12 @@ For brevity, we skip the details of mounting a `ConfigMap` with relevant content
245
254
:::
246
255
247
256
For example, to only profile Pods with the `app.kubernetes.io/name=my-web-app` label, the relevant configuration file `/etc/parca-agent.yaml` would like the following:
0 commit comments