Uh oh!
There was an error while loading. Please reload this page.
[cDAC] Remaining GC data APIs - #119324
Conversation
Tagging subscribers to this area: @steveisok, @dotnet/dotnet-diag |
…runtime into cdac-dynamicadaptationmode
There was a problem hiding this comment.
Pull Request Overview
This PR implements the remaining GC data APIs for the cDAC (compact Data Access Component) system, completing the transition from legacy DAC implementations. The changes focus on providing structured access to garbage collector internal data including heap analysis, segment information, out-of-memory data, and global GC mechanisms.
Key changes implemented:
- Implementation of heap analysis APIs (GetHeapAnalyzeData, GetHeapAnalyzeStaticData)
- Addition of heap segment data access (GetHeapSegmentData)
- Out-of-memory data retrieval APIs (GetOOMData, GetOOMStaticData)
- GC interesting info and global mechanisms APIs
- Dynamic adaptation mode support
Reviewed Changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| SOSDacImpl.cs | Implements concrete API methods replacing legacy delegations with cDAC implementations |
| ISOSDacInterface.cs | Updates interface definitions with strongly-typed parameters and adds new data structures |
| OOMHistory.cs | New data structure for out-of-memory history tracking |
| HeapSegment.cs | New data structure for heap segment information |
| GCHeapSVR.cs | Enhanced server GC heap data structure with additional fields for analysis |
| IGCHeap.cs | New interface defining common GC heap operations |
| GC_1.cs | Core GC contract implementation with new data retrieval methods |
| GCHeapWKS.cs | New workstation GC heap implementation |
| Constants.cs | Added global constants for new GC data arrays and mechanisms |
| DataType.cs | Added new data types for heap segments and OOM history |
| IGC.cs | Extended interface with new API signatures and data structures |
| datadescriptor.inc | Added C++ data descriptors for new heap segment and OOM history types |
| datadescriptor.h | Added field mappings for GC heap analysis and interesting data |
| GC.md | Updated documentation with new API signatures and data structures |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
noahfalk
commented
Sep 16, 2025
fyi @Maoni0 |
Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com>
Maoni0
commented
Sep 16, 2025
CC @mangod9 |
Uh oh!
There was an error while loading. Please reload this page.
APIs Implemented
internal_root_array#119396Test run against new runtime-diagnostic tests: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1144229&view=results