Skip to content

Conversation

@ddelnano
Copy link
Member

@ddelnano ddelnano commented Nov 4, 2024

Summary: Support rendering differential flamegraphs in the StackTraceFlameGraph display spec

This change makes it possible to render a differential flamegraphs. These are useful for comparing flamegraph profiles against each other in order to see what code paths are called more or less than the baseline profile. When a Vis spec specifies a differenceColumn, the widget will render this differential flamegraph. The difference column computes the sample delta between the baseline profile and the new profile.

Relevant Issues: N/A

Type of change: /kind feature

Test Plan: New unit tests pass and pxl script relying on this works as expected (see #2044)

differential

Changelog Message: Add support for rendering differential flamegraphs in the StackTraceFlameGraph display spec

Signed-off-by: Dom Del Nano <ddelnano@gmail.com>
(cherry picked from commit 12881672c021e47a9090df3335c29f6048e99df3)
@ddelnano ddelnano requested a review from a team as a code owner November 4, 2024 17:49
Copy link
Member

@NickLanam NickLanam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool feature!

@ddelnano ddelnano merged commit 4778ba1 into pixie-io:main Nov 12, 2024
21 checks passed
@ddelnano ddelnano deleted the ddelnano/add-differential-flamegraph-support branch November 12, 2024 22:11
ddelnano added a commit that referenced this pull request Nov 13, 2024
Summary: Add differential flamegraph script

This depends on #2043.

Relevant Issues: N/A

Type of change: /kind new-pxl-script

Test Plan: Ran the local UI and verified that the non negated version
works as expected

![differential](https://github.com/user-attachments/assets/e021d5f6-e3e2-4d5c-a3a6-17612695e429)

Changelog Message: Add `px/differential_flamegraph` script for comparing
flamegraphs profiles between pods. See [this
post](https://www.brendangregg.com/blog/2014-11-09/differential-flame-graphs.html)
for more background on how to use a differential flamegraph.

---------

Signed-off-by: Dom Del Nano <ddelnano@gmail.com>
ddelnano added a commit that referenced this pull request Dec 16, 2024
Summary: Fix release note generation script

Our releases have blank release notes. This makes it difficult for end
users to understand what has changed between releases. This PR updates
the existing script that was built to auto generate changelog notes.

Relevant Issues: N/A

Type of change: /kind bug

Test Plan: Ran the script for each artifact type and verified the output
was expected
- [x] cli release notes are expected
```
$ ./scripts/create_release_tag.sh cli -n
$ git tag -l --format='%(contents)' release/cli/v0.9.0-pre-ddelnano-fix-release-note-generation.4
### New Features
- (#2048) Enhanced the `px` cli to detect OpenShift clusters
and prompt to install the appropriate SecurityContextConstraints before
proceeding with a deploy
```
- [x] vizier release notes are expected
```
# Needed to modify prev_tag in script since v0.14.13 to main's HEAD doesn't have vizier changelog messages
$ ./scripts/create_release_tag.sh vizier -n
$ git tag -l --format='%(contents)' release/vizier/v0.15.0-pre-main.4
### Bug Fixes
- (#2047) Ensures that the `--stirling_bpf_loop_limit` and
`--stirling_bpf_chunk_limit` values are respected if explicitly provided
on the command line. For 5.1 and later kernels, cli provided values
would have been ignored

```
- [x] cloud release notes are generated correctly
```
$ ./scripts/create_release_tag.sh cloud -n
Generating changelog from release/cloud/v0.1.8..release/cloud/v0.2.0-pre-ddelnano-fix-release-note-generation.1

$ git tag -l --format='%(contents)' release/cloud/v0.2.0-pre-ddelnano-fix-release-note-generation.1
### New Features
- (#2043) Add support for rendering differential flamegraphs in
the `StackTraceFlameGraph` display spec
### Bug Fixes
- (#2041) Upgraded bcc and libbpf to support kernels 6.10 and
later
```
ddelnano added a commit to ddelnano/pixie that referenced this pull request Aug 6, 2025
…ameGraph` display spec (pixie-io#2043)

Summary: Support rendering differential flamegraphs in the
`StackTraceFlameGraph` display spec

This change makes it possible to render a [differential
flamegraphs](https://www.brendangregg.com/blog/2014-11-09/differential-flame-graphs.html).
These are useful for comparing flamegraph profiles against each other in
order to see what code paths are called more or less than the baseline
profile. When a Vis spec specifies a `differenceColumn`, the widget will
render this differential flamegraph. The difference column computes the
sample delta between the baseline profile and the new profile.

Relevant Issues: N/A

Type of change: /kind feature

Test Plan: New unit tests pass and pxl script relying on this works as
expected (see pixie-io#2044)

![differential](https://github.com/user-attachments/assets/3f86ee2d-c0a1-402b-9455-b1e22b522fe1)

Changelog Message: Add support for rendering differential flamegraphs in
the `StackTraceFlameGraph` display spec

GitOrigin-RevId: 4778ba1
ddelnano added a commit to ddelnano/pixie that referenced this pull request Aug 6, 2025
Summary: Add differential flamegraph script

This depends on pixie-io#2043.

Relevant Issues: N/A

Type of change: /kind new-pxl-script

Test Plan: Ran the local UI and verified that the non negated version
works as expected

![differential](https://github.com/user-attachments/assets/e021d5f6-e3e2-4d5c-a3a6-17612695e429)

Changelog Message: Add `px/differential_flamegraph` script for comparing
flamegraphs profiles between pods. See [this
post](https://www.brendangregg.com/blog/2014-11-09/differential-flame-graphs.html)
for more background on how to use a differential flamegraph.

---------

Signed-off-by: Dom Del Nano <ddelnano@gmail.com>
GitOrigin-RevId: fd5cd63
ddelnano added a commit to ddelnano/pixie that referenced this pull request Aug 6, 2025
Summary: Fix release note generation script

Our releases have blank release notes. This makes it difficult for end
users to understand what has changed between releases. This PR updates
the existing script that was built to auto generate changelog notes.

Relevant Issues: N/A

Type of change: /kind bug

Test Plan: Ran the script for each artifact type and verified the output
was expected
- [x] cli release notes are expected
```
$ ./scripts/create_release_tag.sh cli -n
$ git tag -l --format='%(contents)' release/cli/v0.9.0-pre-ddelnano-fix-release-note-generation.4
### New Features
- (pixie-io#2048) Enhanced the `px` cli to detect OpenShift clusters
and prompt to install the appropriate SecurityContextConstraints before
proceeding with a deploy
```
- [x] vizier release notes are expected
```
# Needed to modify prev_tag in script since v0.14.13 to main's HEAD doesn't have vizier changelog messages
$ ./scripts/create_release_tag.sh vizier -n
$ git tag -l --format='%(contents)' release/vizier/v0.15.0-pre-main.4
### Bug Fixes
- (pixie-io#2047) Ensures that the `--stirling_bpf_loop_limit` and
`--stirling_bpf_chunk_limit` values are respected if explicitly provided
on the command line. For 5.1 and later kernels, cli provided values
would have been ignored

```
- [x] cloud release notes are generated correctly
```
$ ./scripts/create_release_tag.sh cloud -n
Generating changelog from release/cloud/v0.1.8..release/cloud/v0.2.0-pre-ddelnano-fix-release-note-generation.1

$ git tag -l --format='%(contents)' release/cloud/v0.2.0-pre-ddelnano-fix-release-note-generation.1
### New Features
- (pixie-io#2043) Add support for rendering differential flamegraphs in
the `StackTraceFlameGraph` display spec
### Bug Fixes
- (pixie-io#2041) Upgraded bcc and libbpf to support kernels 6.10 and
later
```

GitOrigin-RevId: e2a6737
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants