pdh/registry: fix panic when T is a struct type (#2366)

This commit is contained in:
Kayla Ondracek
2026-03-20 10:18:12 -08:00
committed by GitHub
parent 43a413a2bb
commit e8e775b711
2 changed files with 17 additions and 1 deletions

View File

@@ -21,6 +21,22 @@ import (
"testing"
)
// TestNewCollectorStructTypeParam guards against a regression where
// reflect.TypeFor[T]().Elem() panicked when T is a plain struct (not a pointer).
// See https://github.com/prometheus-community/windows_exporter/issues/2365
func TestNewCollectorStructTypeParam(t *testing.T) {
type systemCounterValues struct {
Name string
ProcessorQueueLength float64 `perfdata:"Processor Queue Length"`
}
_, err := NewCollector[systemCounterValues]("System", nil)
if err != nil {
t.Skipf("skipping: failed to create collector: %v", err)
}
}
func BenchmarkQueryPerformanceData(b *testing.B) {
for b.Loop() {
_, _ = QueryPerformanceData("Global", "")