Skip to content

Add a method to print the disk profile of an ntuple#22914

Open
albfsg wants to merge 2 commits into
root-project:masterfrom
albfsg:print_disk_profile
Open

Add a method to print the disk profile of an ntuple#22914
albfsg wants to merge 2 commits into
root-project:masterfrom
albfsg:print_disk_profile

Conversation

@albfsg

@albfsg albfsg commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

This Pull request:

Changes or fixes:

Adds PrintDiskProfile method to the experimental RNTupleInspector class.

Its brief:

Print a string that represents the on-disk storage of the cluster groups, clusters, column ranges and pages on an RNTuple in a format which a performance profile visualizer can render

In order to implement it I've added free function GetAnchor into the ROOT::Internal namespace, friend to the RPageSourceFile class. Otherwise RNTupleInspector has no access to it's anchor, which is necessary to visualize an ntuple's header and footer.

Comes with a unit test.

Right now only supports Speedscope, with the following results for the test ntuple:

image

Checklist:

  • tested changes locally
  • updated the docs (if necessary) <- don't think there is a need to

This PR fixes # (nothing, it's a new feature)

albfsg added 2 commits July 24, 2026 15:35
Shows cluster groups, clusters, column ranges and pages.

Comes with a test which stress tests the method with an ntuple
shuffled on the 3 uppermost layers of the hierarchy: cluster groups,
clusters, column ranges (pages are by definition uninterrupted
serialized blobs).
Adds the ntuple header, footer and page list to the method.

Updates its unit test accordingly.
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.

2 participants