Skip to content

[browser][WBT] EventPipe - end to end test #115945

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

Merged
merged 7 commits into from
May 28, 2025

Conversation

pavelsavara
Copy link
Member

@pavelsavara pavelsavara commented May 23, 2025

  • CPU samples
  • GC heap dump
  • metrics

Fixes #115930

@pavelsavara pavelsavara added this to the 10.0.0 milestone May 23, 2025
@pavelsavara pavelsavara self-assigned this May 23, 2025
@pavelsavara pavelsavara added arch-wasm WebAssembly architecture area-Diagnostics-mono os-browser Browser variant of arch-wasm labels May 23, 2025
@pavelsavara pavelsavara changed the title [browser][WBT] EventPipe - CPU profiler end to end test [browser][WBT] EventPipe - end to end test May 26, 2025
@pavelsavara
Copy link
Member Author

Log

Totals
     6,590 events.
     6,449 events with stack traces.
         0 events with code addresses in them.
   139,606 total code address instances. (stacks or other)
     1,017 unique code addresses. 
     2,664 unique stacks.
       431 unique managed methods parsed.
     7,168 CLR method event records.
[Conversion complete 6,590 events.  Conversion took 0 sec.]

@pavelsavara pavelsavara marked this pull request as ready for review May 28, 2025 08:54
@Copilot Copilot AI review requested due to automatic review settings May 28, 2025 08:54
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds end-to-end tests verifying EventPipe functionality for CPU samples, GC heap dumps, and metrics in a Blazor WebAssembly test app. Key changes include:

  • Introducing a runtime configuration for browser with host properties.
  • Adding a conditional PackageReference and a file upload endpoint in DevServerStartup.
  • Implementing new EventPipe diagnostics tests with updated timeout and validation options.

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
App/BlazorBasicTestApp.runtimeconfig.json Added runtime configuration for browser host properties.
App/BlazorBasicTestApp.csproj Updated PackageReference with a condition for DEVSERVER.
host/DevServer/DevServerStartup.cs Added file upload endpoint to facilitate test trace uploads.
Wasm.Build.Tests.csproj Added dependency on Microsoft.Diagnostics.Tracing.TraceEvent.
Wasm.Build.Tests/Templates/WasmTemplateTestsBase.cs Updated timeout logic in WaitForExitMessageAsync.
Wasm.Build.Tests/BrowserStructures/RunOptions.cs Introduced TimeoutSeconds property with default value.
Wasm.Build.Tests/Blazor/EventPipeDiagnosticsTests.cs Added tests for CPU samples, metrics, and GC heap dump validations.
Wasm.Build.Tests/Blazor/BlazorRunOptions.cs Propagated TimeoutSeconds to the run options.
diagnostics/diagnostics-js.ts Added a runtime check to prevent multiple diagnostic clients.
eng/testing/scenarios/BuildWasmAppsJobsList.txt Updated job list to include EventPipe diagnostics tests.

@pavelsavara pavelsavara merged commit d44d5d6 into dotnet:main May 28, 2025
33 checks passed
@pavelsavara pavelsavara deleted the ep_test_prof branch May 28, 2025 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-wasm WebAssembly architecture area-Diagnostics-mono os-browser Browser variant of arch-wasm
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[browser] add unit test for event pipe profiler
3 participants