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

Missing StartupFlags in Runtime/Start event #52042

Closed
kkokosa opened this issue Apr 29, 2021 · 5 comments · Fixed by #55151
Closed

Missing StartupFlags in Runtime/Start event #52042

kkokosa opened this issue Apr 29, 2021 · 5 comments · Fixed by #55151
Assignees
Labels
area-Tracing-coreclr enhancement Product code improvement that does NOT require public API changes/additions question Answer questions and provide assistance, not an issue with source code or documentation.
Milestone

Comments

@kkokosa
Copy link
Contributor

kkokosa commented Apr 29, 2021

/Runtime/Start event contains StartupFlags field, informing on various attributes provided to host. They were very useful, for example in PerfView analysis - showed in GCStats CLR Startup Flags view. It was a super convenient way to check GC mode, with the help of CONCURRENT_GC/SERVER_GC values. Especially when analysis of sessions recorded on external, not fully controlled environments (like customer support etc.). These flags are reported in .NET Framework apps, but are not used in .NET Core/.NET 5.

I wonder how we can return to informing about GC modes in the recorded session? Do we need a new dedicated "GC settings" event for that (taking the opportunity to add something more than GC mode)? I've created an issue on PerfView side too, but apparently, we need runtime support for that. Or maybe I'm missing something and we can get this info from a trace?

@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged New issue has not been triaged by the area owner label Apr 29, 2021
@dotnet-issue-labeler
Copy link

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

@brianrob
Copy link
Member

@noahfalk, @tommcdon

@tommcdon tommcdon added this to the 6.0.0 milestone Apr 29, 2021
@tommcdon tommcdon removed the untriaged New issue has not been triaged by the area owner label Apr 29, 2021
@tommcdon
Copy link
Member

@sywhang @josalem

@josalem josalem added the question Answer questions and provide assistance, not an issue with source code or documentation. label Apr 29, 2021
@josalem
Copy link
Contributor

josalem commented Apr 29, 2021

You're correct, it looks like the startupMode and startupFlags parameters are both unset when the event is fired. This event should be showing up in .net traces, but that field will be zero. I'll take a look at where we can get that information from and if we can inject it into the event since the field is already there.

CC @cshung who might know off the top of his head where the GC flags are stored or if they're being sent in a new/different event.

@josalem josalem added the enhancement Product code improvement that does NOT require public API changes/additions label Apr 29, 2021
@josalem josalem self-assigned this Apr 29, 2021
@Maoni0
Copy link
Member

Maoni0 commented Jul 3, 2021

it's unfortunate this code was simply deleted, ironically it's the same way to get the startup flags for GC in coreclr as on .NET framework -

startupFlags = CorHost2::GetStartupFlags();

this is how the startup flags are obtained in InitializeStartupFlags in ceemain.cpp.

@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jul 4, 2021
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jul 6, 2021
@ghost ghost locked as resolved and limited conversation to collaborators Aug 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Tracing-coreclr enhancement Product code improvement that does NOT require public API changes/additions question Answer questions and provide assistance, not an issue with source code or documentation.
Projects
.NET Core Diagnostics
  
Awaiting triage
Development

Successfully merging a pull request may close this issue.

5 participants