gpt4 book ai didi

c# - CounterSample 中的时间字段是什么意思?

转载 作者:太空狗 更新时间:2023-10-30 00:55:19 24 4
gpt4 key购买 nike

我有一个 PerformanceCounter 实例,我对其调用 NextSample() 并获得一个 CounterSample。其中有几个与时间相关的字段:CounterFrequency、SystemFrequency、CounterTimeStamp、Timestamp和TimeStamp100nSec。

MSDN page for CounterSample只说“获取原始计数器频率”和类似无用的描述,以及一个打印值但没有解释的示例。

  • 这些到底是什么意思?
  • 它们的单位是什么?我尝试了所有 DateTime.FromX() 函数,但没有一个能产生合理的结果。

最佳答案

(sample2.Timestamp - sample1.Timestamp) / sample2.SystemFrequency = elapsed seconds

(sample2.TimeStamp100nSec - sample1.TimeStamp100nSec) / 10000000 = elapsed seconds

当我分析 LOGMAN.EXE 如何读取性能计数器并将它们存储在 SQL 数据库中时,我能够对此进行逆向工程。 CounterSample 类(来自各种反汇编)包装了这个 C 结构

PDH_RAW_COUNTER

在此 C 结构中,SecondValue 具有 TimeStamp 或 TimeStamp100nSec depending on the counter type .当它被包装在 .NET CounterSample 结构中时,您可以通过属性获取其中之一。

关于c# - CounterSample 中的时间字段是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9996418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com