Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

difffolded.pl: add keep-all mode and propagation features #346

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sean-
Copy link

@sean- sean- commented Oct 24, 2024

Add new features to difffolded.pl to help analyze differences between
stack traces:

Default mode now only shows stacks present in both files, making it
easier to see changes in common code paths.

  • -k: Keep and show all stacks from both files, including those unique
    to either file. This helps visualize new or removed code paths
    between profiles.
  • -p: Propagate differences by accumulating child counts up the stack.
    This flag can be used in both default and -k modes to understand
    how changes in child functions affect their parents' total time.

Additional filtering options that work in all modes:

  • -z: Elide frames where the difference between old and new is below
    a threshold.
  • -Z NUM: Set the threshold for -z (default: 0.01).

This change adds a few new operational modes and filtering options to
difffolded.pl to help analyze differences between stack traces:

-k: Keep and show all stacks, including those with zero counts in
    either file. This helps visualize stacks that are unique to
    either the old or new profile.

-p: Propagate differences up the call stack by accumulating child
    counts. This helps understand how changes in child functions
    affect their parents' total time.

Additional filtering options that work across all modes:

-z: Elide frames where the difference between old and new is below
    a threshold.
-Z NUM: Set the threshold for -z (default: 0.01).
These changes help users better understand performance changes by:
- Showing complete call hierarchies with -k
- Understanding impact on parent functions with -p
- Focusing on significant changes with -z/-Z
@sean- sean- marked this pull request as draft October 24, 2024 04:03
@sean- sean- changed the title difffolded.pl: add new modes for stack analysis and filtering difffolded.pl: add keep-all mode and propagation features Oct 24, 2024
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.

1 participant