Merge pull request #999 from trunov-ms/master

fix PercentTimeinGC metric
This commit is contained in:
Ben Reedy
2022-09-10 10:55:25 +10:00
committed by GitHub

View File

@@ -124,26 +124,31 @@ func (c *NETFramework_NETCLRMemoryCollector) Collect(ctx *ScrapeContext, ch chan
type Win32_PerfRawData_NETFramework_NETCLRMemory struct { type Win32_PerfRawData_NETFramework_NETCLRMemory struct {
Name string Name string
AllocatedBytesPersec uint64 AllocatedBytesPersec uint64
FinalizationSurvivors uint64 FinalizationSurvivors uint64
Frequency_PerfTime uint64 Frequency_PerfTime uint64
Gen0heapsize uint64 Gen0heapsize uint64
Gen0PromotedBytesPerSec uint64 Gen0PromotedBytesPerSec uint64
Gen1heapsize uint64 Gen1heapsize uint64
Gen1PromotedBytesPerSec uint64 Gen1PromotedBytesPerSec uint64
Gen2heapsize uint64 Gen2heapsize uint64
LargeObjectHeapsize uint64 LargeObjectHeapsize uint64
NumberBytesinallHeaps uint64 NumberBytesinallHeaps uint64
NumberGCHandles uint64 NumberGCHandles uint64
NumberGen0Collections uint64 NumberGen0Collections uint64
NumberGen1Collections uint64 NumberGen1Collections uint64
NumberGen2Collections uint64 NumberGen2Collections uint64
NumberInducedGC uint64 NumberInducedGC uint64
NumberofPinnedObjects uint64 NumberofPinnedObjects uint64
NumberofSinkBlocksinuse uint64 NumberofSinkBlocksinuse uint64
NumberTotalcommittedBytes uint64 NumberTotalcommittedBytes uint64
NumberTotalreservedBytes uint64 NumberTotalreservedBytes uint64
PercentTimeinGC uint32 // PercentTimeinGC has countertype=PERF_RAW_FRACTION.
// Formula: (100 * CounterValue) / BaseValue
// By docs https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/scripting-articles/ms974615(v=msdn.10)#perf_raw_fraction
PercentTimeinGC uint32
// BaseValue is just a "magic" number used to make the calculation come out right.
PercentTimeinGC_base uint32
ProcessID uint64 ProcessID uint64
PromotedFinalizationMemoryfromGen0 uint64 PromotedFinalizationMemoryfromGen0 uint64
PromotedMemoryfromGen0 uint64 PromotedMemoryfromGen0 uint64
@@ -294,7 +299,7 @@ func (c *NETFramework_NETCLRMemoryCollector) collect(ch chan<- prometheus.Metric
ch <- prometheus.MustNewConstMetric( ch <- prometheus.MustNewConstMetric(
c.TimeinGC, c.TimeinGC,
prometheus.GaugeValue, prometheus.GaugeValue,
float64(process.PercentTimeinGC)/float64(process.Frequency_PerfTime), float64(100*process.PercentTimeinGC)/float64(process.PercentTimeinGC_base),
process.Name, process.Name,
) )
} }