mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-02-27 07:06:35 +00:00
Merge pull request #999 from trunov-ms/master
fix PercentTimeinGC metric
This commit is contained in:
@@ -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,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user