CommOverTime: Add average message size line views - #156
Merged
Conversation
- NaN values in line data are gaps: the line breaks instead of dropping to zero, and samples that start a segment (including isolated points) are marked with a dot so sparse series stay visible. - Hover popups now work on unstacked line graphs: getXValue handles LINE, getYValue picks the nearest series within a small pixel tolerance, and showPopup admits LINE alongside stacked graphs. - Optional light horizontal gridlines at every other y tick, drawn under the data in a luminance-aware gray (setHorizontalGridlines). - GraphPanel.selectGraphType() lets tools switch graph type programmatically while keeping the bottom controls in sync; LINE/BAR/AREA constants are public for callers. - GenericGraphWindow exposes getGraphPanel() and a setYAxis(YAxis) overload for custom-labeled axes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New "Avg Size" radio row (Sent / Recv / External Recv / External Node Recv) plotting per-interval bytes-per-message as one unstacked line per entry method, since averages are not additive: - Y values are log2(bytes): message sizes span orders of magnitude. Ticks are labeled with actual sizes (2, 4, ... 512, 1K, 2K, ... 1M). - Only the top 10 EPs by total byte volume are plotted; EPs whose messages all fall in a single interval are omitted as outliers. The bottom label reports what was left out. - Intervals with no messages break the line (NaN gap) rather than plotting zero; rare messages appear as dots. - A "Show Legend" checkbox (auto-enabled entering an avg view) opens the movable Legend window listing exactly the plotted EPs with their overall average size and message count; bar views get a top-10 legend by total. - Avg mode forces an unstacked line chart, a white background, and horizontal gridlines, restoring the previous settings on leaving. Rate scalings are disabled (bytes/message is already a ratio). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lvkale
requested review from
ericjbohm,
matthiasdiener and
ritvikrao
as code owners
July 27, 2026 22:43
ritvikrao
approved these changes
Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds average-message-size views to Communication Over Time, plus the line-graph infrastructure they need.
Communication Over Time gets a second radio row — Avg Size Sent / Recv / External Recv / External Node Recv — plotting per-interval bytes-per-message as one unstacked line per entry method (averages are not additive, so stacked bars would be wrong):
Graph infrastructure (reusable by other tools):
Tested interactively on a 480-PE trace across three review rounds.
🤖 Generated with Claude Code