Skip to content

ui: arm telemetry pmu recording page#5286

Open
abhmen01 wants to merge 2 commits intogoogle:mainfrom
pan-:ui-arm-telemetry-pmu-recording-page
Open

ui: arm telemetry pmu recording page#5286
abhmen01 wants to merge 2 commits intogoogle:mainfrom
pan-:ui-arm-telemetry-pmu-recording-page

Conversation

@abhmen01
Copy link
Copy Markdown

Add a new widget in the recording section to configure CPU PMUs to capture.
This module aims to simplify PMU selection based on Arm telemetry
specifications loaded by Perfetto.

The recording section allows users to load Arm telemetry specifications and
create multiple configurations. Each configuration lets the user specify which
CPU to record and which PMUs and sampling configuration to use.

In the UI, users can select PMUs to record by choosing metrics applicable to the
selected CPU. Two metric views are available: a flat list and a tree view that
follows the topdown specification for the chosen CPU.

@abhmen01 abhmen01 requested a review from a team as a code owner March 25, 2026 18:27
@google-cla
Copy link
Copy Markdown

google-cla Bot commented Mar 25, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@stevegolton stevegolton self-requested a review March 27, 2026 14:42
@abhmen01 abhmen01 force-pushed the ui-arm-telemetry-pmu-recording-page branch from b8e9f8c to 54a8119 Compare March 31, 2026 15:21
@primiano
Copy link
Copy Markdown
Member

primiano commented Apr 1, 2026

I think there is being some mixing up of commits. I see changes here that are also present in the other PRs.
Can you please split them properly? Otherwise I don't know anymore where I should comment

Add a new UI plugin for Arm CPU telemetry specifications.
Introduces the ArmTelemetryManager interface for parsing, storing, and accessing the
telemetry specifications.

These specifications are unique to Arm CPU cores and include:
- Events: PMU events available on the core.
- Metrics: Computed from events for performance analysis.
- Groups: Coherent collections of events or metrics.
- Methodology: Describes how to conduct performance and micro-architecture
  analysis using the available metrics.

The ArmTelemetryManager is initialized when the plugin is activated, so other
plugins can access the shared telemetry spec registry.
Add `com.arm.ArmPmuRecorder` plugin that registers a
new PMU recording subpage in the recording section to configure
CPU PMUs to capture

The PMU page lets users load local Arm telemetry CPU specs and create
multiple recording configurations. Each configuration can select the CPU
model, optional target CPU list, which PMUs and sampling configuration
to use.

In the UI, users can select PMUs to record by choosing metrics applicable to the
selected CPU. Two metric views are available: a flat list and a tree view that
follows the topdown specification for the chosen CPU.

The plugin depends on ArmTelemetrySpecPlugin for spec parsing and
validation, and updates the shared telemetry spec registry so the
loaded specs are available to other Arm telemetry features.
private static manager: ArmTelemetryManager;

static onActivate(app: App): void {
ArmTelemetrySpecPlugin.manager = new ArmTelemetryManagerImpl(app);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

why this static field out of curiosity? this class is already a singleton effectively

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