-
Notifications
You must be signed in to change notification settings - Fork 298
Expand file tree
/
Copy pathGCDynamicEvents.cs
More file actions
84 lines (81 loc) · 4.3 KB
/
Copy pathGCDynamicEvents.cs
File metadata and controls
84 lines (81 loc) · 4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
namespace GC.Analysis.API.DynamicEvents
{
internal static class GCDynamicEvents
{
public static DynamicEventSchema SizeAdaptationSampleSchema = new DynamicEventSchema
{
DynamicEventName = "SizeAdaptationSample",
Fields = new List<KeyValuePair<string, Type>>
{
KeyValuePair.Create("version", typeof(ushort)),
KeyValuePair.Create("GCIndex", typeof(ulong)),
KeyValuePair.Create("ElapsedTimeBetweenGCs", typeof(uint)),
KeyValuePair.Create("GCPauseTime", typeof(uint)),
KeyValuePair.Create("SOHMSLWaitTime", typeof(uint)),
KeyValuePair.Create("UOHMSLWaitTime", typeof(uint)),
KeyValuePair.Create("TotalSOHStableSize", typeof(ulong)),
KeyValuePair.Create("Gen0BudgetPerHeap", typeof(uint)),
}
};
public static DynamicEventSchema SizeAdaptationTuningSchema = new DynamicEventSchema
{
DynamicEventName = "SizeAdaptationTuning",
Fields = new List<KeyValuePair<string, Type>>
{
KeyValuePair.Create("version", typeof(ushort)),
KeyValuePair.Create("NewNHeaps", typeof(ushort)),
KeyValuePair.Create("MaxHeapCountDatas", typeof(ushort)),
KeyValuePair.Create("MinHeapCountDatas", typeof(ushort)),
KeyValuePair.Create("CurrentGCIndex", typeof(ulong)),
KeyValuePair.Create("TotalSOHStableSize", typeof(ulong)),
KeyValuePair.Create("MedianThroughputCostPercent", typeof(float)),
KeyValuePair.Create("TcpToConsider", typeof(float)),
KeyValuePair.Create("CurrentAroundTargetAccumulation", typeof(float)),
KeyValuePair.Create("RecordedTcpCount", typeof(ushort)),
KeyValuePair.Create("RecordedTcpSlope", typeof(float)),
KeyValuePair.Create("NumGcsSinceLastChange", typeof(uint)),
KeyValuePair.Create("AggFactor", typeof(bool)),
KeyValuePair.Create("ChangeDecision", typeof(ushort)),
KeyValuePair.Create("AdjReason", typeof(ushort)),
KeyValuePair.Create("HcChangeFreqFactor", typeof(ushort)),
KeyValuePair.Create("HcFreqReason", typeof(ushort)),
KeyValuePair.Create("AdjMetric", typeof(bool))
}
};
public static DynamicEventSchema SizeAdaptationFullGCTuningSchema = new DynamicEventSchema
{
DynamicEventName = "SizeAdaptationFullGCTuning",
Fields = new List<KeyValuePair<string, Type>>
{
KeyValuePair.Create("version", typeof(ushort)),
KeyValuePair.Create("NewNHeaps", typeof(ushort)),
KeyValuePair.Create("CurrentGCIndex", typeof(ulong)),
KeyValuePair.Create("MedianThroughputCostPercent", typeof(float)),
KeyValuePair.Create("NumGcsSinceLastChange", typeof(uint)),
KeyValuePair.Create("DiffSamples0", typeof(uint)),
KeyValuePair.Create("GcPercent0", typeof(float)),
KeyValuePair.Create("DiffSamples1", typeof(uint)),
KeyValuePair.Create("GcPercent1", typeof(float)),
KeyValuePair.Create("DiffSamples2", typeof(uint)),
KeyValuePair.Create("GcPercent2", typeof(float)),
}
};
public static DynamicEventSchema OOMDetailsSchema = new DynamicEventSchema
{
DynamicEventName = "OOMDetails",
Fields = new List<KeyValuePair<string, Type>>
{
KeyValuePair.Create("version", typeof(ushort)),
KeyValuePair.Create("GCIndex", typeof(ulong)),
KeyValuePair.Create("AllocSize", typeof(ulong)),
KeyValuePair.Create("Reason", typeof(byte)),
KeyValuePair.Create("FailureGetMemory", typeof(byte)),
KeyValuePair.Create("Size", typeof(ulong)),
KeyValuePair.Create("IsLOH", typeof(byte)),
KeyValuePair.Create("MemoryLoad", typeof(uint)),
KeyValuePair.Create("AvailablePageMemoryMB", typeof(ulong)),
},
MaxOccurrence = 1000 // TODO: This should be the max of the number of heaps allowed.
};
}
}