From 9b5bc37a42a2709d4799128a24f0ece3976bc3d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Otto=20Kr=C3=B6pke?= Date: Mon, 10 Jul 2023 03:02:46 +0200 Subject: [PATCH] Re-add NameIndex MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan-Otto Kröpke --- perflib/perflib.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/perflib/perflib.go b/perflib/perflib.go index 399de3fd..b4366aba 100644 --- a/perflib/perflib.go +++ b/perflib/perflib.go @@ -127,7 +127,9 @@ const averageCount64Type = 1073874176 // PerfObject Top-level performance object (like "Process"). type PerfObject struct { - Name string + Name string + // NameIndex Same index you pass to QueryPerformanceData + NameIndex uint Instances []*PerfInstance CounterDefs []*PerfCounterDef @@ -148,7 +150,8 @@ type PerfInstance struct { } type PerfCounterDef struct { - Name string + Name string + NameIndex uint // For debugging - subject to removal. CounterType is a perflib // implementation detail (see perflib.h) and should not be used outside @@ -321,6 +324,7 @@ func QueryPerformanceData(query string) ([]*PerfObject, error) { objects[i] = &PerfObject{ Name: obj.LookupName(), + NameIndex: uint(obj.ObjectNameTitleIndex), Instances: instances, CounterDefs: counterDefs, Frequency: obj.PerfFreq, @@ -335,8 +339,9 @@ func QueryPerformanceData(query string) ([]*PerfObject, error) { } counterDefs[i] = &PerfCounterDef{ - Name: def.LookupName(), - rawData: def, + Name: def.LookupName(), + NameIndex: uint(def.CounterNameTitleIndex), + rawData: def, CounterType: def.CounterType,