Skip to content

Add graph of tool usage over time to the HTML instrumentation report#204

Merged
machshev merged 1 commit into
lowRISC:masterfrom
AlexJones0:instrumentation_usage
May 21, 2026
Merged

Add graph of tool usage over time to the HTML instrumentation report#204
machshev merged 1 commit into
lowRISC:masterfrom
AlexJones0:instrumentation_usage

Conversation

@AlexJones0
Copy link
Copy Markdown
Contributor

This PR is the eleventh of a series of PRs to introduce instrumentation reporting to DVSim.

This PR adds a 3rd instrumentation report visualization, which is a time series graph showing how tools are used over time. This graph is only created if metadata is available in the instrumentation report. At each point in time, the graph should visualize how many jobs were running that use a given tool. The motivation is to expose:

  • The scope of usage of each tool.
  • The parallelism of using each tool.
  • Potential limitations in overall parallelism and the need to apply more granular parallelism limits through e.g. the resource mechanism.

See the commit message for more info.


Here are some examples of the generated metrics.html report from runs on the OpenTitan repository:

  • A graph generated for an OpenTitan "nightly" run:
image
  • A graph generated for an OpenTitan "weekly" run:
image

Add a new tool usage line graph to the instrumentation report. More
generally, this commit introduces the ability to generate "usage" /
"concurrency" line graphs, which can show how the number of jobs that
are scheduled varies over time, partitioned by some arbitrary function.

The base `ConcurrencyLineGraph` just shows how many jobs are running at
one time, which isn't useful in tandem with the existing parallelism
chart. But if we have metadata available, then we can instead render a
`ToolUsageLineGraph`, where we partition the running jobs by tool used.

This graph can be one of the largest (e.g. 2MB for 50k jobs) - in the
future, it would be nice to be able to apply some sort of sensible
quantization / smoothing of the graph data to reduce the resolution
for the normal rendering profile, to further reduce the size of the
generated report.

Signed-off-by: Alex Jones <alex.jones@lowrisc.org>
Copy link
Copy Markdown
Collaborator

@machshev machshev left a comment

Choose a reason for hiding this comment

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

Nice, thanks @AlexJones0!

@machshev machshev added this pull request to the merge queue May 21, 2026
Merged via the queue into lowRISC:master with commit 5bf5c6b May 21, 2026
6 checks passed
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