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

Adding DATAS GC info to !eeversion #5090

Open
mahamr opened this issue Dec 6, 2024 · 4 comments
Open

Adding DATAS GC info to !eeversion #5090

mahamr opened this issue Dec 6, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mahamr
Copy link

mahamr commented Dec 6, 2024

Background and Motivation

Debugging and being caught off-guard :)

Proposed Feature

When debugging dumps with DATAS GC enabled, it would be great to have !eeversion include that and related information in its output. This could be especially helpful for .NET 8 where DATAS is opt-in, but having extra DATAS-focused output like current heap count vs. max heap count would be nice in general.

Usage Examples

Right now, with a dump of a .NET 8 app with DATAS GC opted-in (and GC running), this is what !eeversion shows:

0:000> !eeversion
8.0.624.26715 free
8,0,624,26715 @Commit: 3b8b000a0e115700b18265d8ec8c6307056dc94d
Server mode with 1 gc heaps
In plan phase of garbage collection
SOS Version: 9.0.11.3101 retail build

That "Server mode with 1 gc heaps" caught me off-guard initially (don't recall having ever seen that before but I might be wrong), but then I checked for DATAS GC and it was enabled (this is from a customer dump and that info had not yet been shared).

If the output could show something like the below, that would be great:

0:000> !eeversion
8.0.624.26715 free
8,0,624,26715 @Commit: 3b8b000a0e115700b18265d8ec8c6307056dc94d
Using DATAS GC 
DATAS: Max heap count: 2
DATAS: Current heap count: 1
In plan phase of garbage collection
SOS Version: 9.0.11.3101 retail build

Perhaps along with any other information that might be helpful, like the metrics that led to the current heap count changing or not changing, etc.

@mahamr mahamr added the enhancement New feature or request label Dec 6, 2024
@mikem8361
Copy link
Member

That sounds good, but !sosstatus might be a better place (C# command, easier to write and already displays a bunch other things).

We may need a new DAC and CLRMD APIs to get the DATAS info.

@mikem8361 mikem8361 self-assigned this Dec 6, 2024
@tommcdon
Copy link
Member

tommcdon commented Dec 6, 2024

When debugging dumps with DATAS GC enabled, it would be great to have !eeversion include that and related information in its output.
We may need a new DAC and CLRMD APIs to get the DATAS info.

FYI @Maoni0 @cshung

@cshung
Copy link
Member

cshung commented Dec 6, 2024

Earlier I was doing that and looking for a use case, now we have one.

dotnet/runtime#107115

@mikem8361
Copy link
Member

Andrew, that PR doesn't help SOS display the DATAS info without a new DAC API.

@tommcdon tommcdon added this to the 10.0.0 milestone Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants