performancecounter - Hvordan konfigurerer Windows Performance DataCollectors at notere DST korrekt?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at bruge Windows-performance tællere til at overvåge maskinens sundhed som en del af min ansøgning. Jeg har nogle DataCollectors konfigureret til at skrive ud data til enten CSV eller BLG format. Jeg bemærker dog, at tidsstempler ikke har TZ-oplysninger pr. Prøve tidsstempel, bare en gang pr. fil. Det betyder i en enkelt fil med data, jeg vil se ting som:


"(PDH-CSV 4.0) (GMT Standard Time)(-60)","\MACHINE-NAME\% C2 Time"
"10/29/2017 01:59:44.562","88.359340674585567"
"10/29/2017 01:59:59.562","93.754278507632279"
"10/29/2017 01:00:14.562","89.834673388599242"
"10/29/2017 01:00:29.563","94.014449309223536"


På samme måde i overgangen ser du på anden måde en manglende time med data (hvilket er sværere at disambiguere mod en maskine, der er offline for den time).


Jeg troede måske, at de binære data måske lagrer flere oplysninger, så jeg lavede de samme metrics i BLG-format og brugte PowerShell til at læse informationen tilbage. Men i så fald kan jeg stadig ikke få tidszoneoplysninger pr. Tidsstempel. F.eks.


# $counters = Import-Counter -Path mysamples.blg

# $counters[10].Timestamp
29 October 2017 01:59:59

# $counters[11].Timestamp
29 October 2017 01:00:14

# $counters[10].Timestamp.IsDaylightSavingTime()
False
# $counters[11].Timestamp.IsDaylightSavingTime()
False

# $counters[10].Timestamp.ToFileTimeUtc()
131537159995620000
# $counters[11].Timestamp.ToFileTimeUtc()
131537124145620000


Er der nogen måde at få den korrekte TZ-information, der er forbundet med en tidsstempel i performance-tællerdata, eller er der mulighed for at tilføje en UTC-tid til loggen i stedet for en TZ-offset tidsstempel?

Bedste reference