Skip to content
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

[Mono] Include loaded interpreter methods as EventPipe session rundown method events. #54953

Merged

Conversation

lateralusX
Copy link
Member

JIT and AOT methods are currently included as EventPipe session rundown method events since they are part of the mono jit info table. Interpreted methods however are not part of that table, meaning they won't be included in session rundown, meaning that it might lead to missing symbols when parsing generated nettrace file.

This PR adds support to include all interpreted methods as EventPipe session rundown method events making sure tools like perfview and SpeedScope have all needed symbols matching callstacks when running in interpreter mode.

@ghost
Copy link

ghost commented Jun 30, 2021

Tagging subscribers to this area: @BrzVlad
See info in area-owners.md if you want to be subscribed.

Issue Details

JIT and AOT methods are currently included as EventPipe session rundown method events since they are part of the mono jit info table. Interpreted methods however are not part of that table, meaning they won't be included in session rundown, meaning that it might lead to missing symbols when parsing generated nettrace file.

This PR adds support to include all interpreted methods as EventPipe session rundown method events making sure tools like perfview and SpeedScope have all needed symbols matching callstacks when running in interpreter mode.

Author: lateralusX
Assignees: -
Labels:

area-Codegen-Interpreter-mono

Milestone: -

@lewing lewing merged commit 8dad364 into dotnet:main Jul 1, 2021
thaystg added a commit to thaystg/runtime that referenced this pull request Jul 2, 2021
* origin/main: (27 commits)
  [mono][llvm] Only emit 'LLVM failed' messages on verbosity > 0. (dotnet#55060)
  Http2Stream throws a wrapped Http2ConnectionException on GO_AWAY (dotnet#54625)
  [main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/xharness dotnet/hotreload-utils (dotnet#55007)
  disable a failing test. (dotnet#55063)
  [mono][wasm] Disable some tests which crash on AOT. (dotnet#55054)
  Fix fix_allocation_context for regions (dotnet#54931)
  Delete stale references to System.IO.FileSystem.Primitives (dotnet#55041)
  Add binplaced analyzers to ASP.NET transport package (dotnet#55042)
  [mono] Enable many HardwareIntrinsic tests on wasm
  Delete `compQuirkForPPP`. (dotnet#55050)
  [Mono] Condition Workload AOT import to be osx only (dotnet#55040)
  package native quic library (dotnet#54992)
  Make GlobalizationMode code consistent (dotnet#55039)
  Expand PerfMap format to support metadata for symbol indexation (dotnet#53792)
  [debugger]Componentize debugger (dotnet#54887)
  [Mono] Include loaded interpreter methods as EventPipe session rundown method events. (dotnet#54953)
  Delete stale ActiveIssue from HttpHeadersTest (dotnet#55027)
  Poison address-exposed user variables in debug (dotnet#54685)
  Recategorize emsdk dependency (dotnet#55028)
  Remove the the wasm AOT specific test project exclusions (dotnet#54988)
  ...
@ghost ghost locked as resolved and limited conversation to collaborators Jul 31, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants