我正在使用Azul的jHiccup运行应用程序。该应用程序通过带有-javaagent选项的jsvc启动。 jHiccup设置是默认值(输出文件名除外)。
应用程序运行约107分钟。但是,如果我将结果hgrm
文件中的所有值相加,则打嗝的总长度似乎太大。
我计算这样的打嗝值的总和:
Sum( (TotalCountIncludingThisValue[n] - TotalCountIncludingThisValue[n-1]) * Value[n] )
结果是12.75毫升,或~213分钟(假设值以毫秒为单位)。这大约是应用程序运行时间的两倍。
Total count * Mean
(从直方图值的底部)也给出12毫升,所以公式可能是正确的。
为了比较,我从GC日志中添加了“应用程序时间”和“停止时间”。结果接近我的预期:~105分钟。应用时间和~2分钟。停止了时间。
我不小心覆盖了原始文件,因此这些是来自不同运行的示例文件:
https://dl.dropboxusercontent.com/u/644287/jHiccup/hiccup.dat
https://dl.dropboxusercontent.com/u/644287/jHiccup/hiccup.dat.hgrm
跑步需要约79分钟(17:50-19:09),但是平均值* TotalCount约为2300万。 (即380分钟)。
答案 0 :(得分:3)
更新:[保留我原来错误的帖子]
确定。所以我们都有错误的数学(在你的问题和我最初的答案中)。理智的检查(总计数*平均值(应该大致等于运行时间)只是虚假的数学。
通过以下思考练习简单地证明了这一点:
以下非常简单的场景:您测量一个完美运行的应用程序(空闲,所有间隔显示0打嗝)持续100秒。然后你^ Z系统100秒。然后你让它再次在前台运行并立即^ C它。总运行时间为200秒。
以下是关于这样一个系统的一些正确的“人类如何在数字中描述这个”:
但是,直觉图的TotalCount中将会(正确地)报告200,000个结果(每1毫秒经过一个时间一个)。
所以(平均值*总计数)= 200,000 * 25,000 == 5,000,000,000
这是挂钟时间的25,000倍。这并没有错。这个乘法有一个~N ^ 2的事情(实际上是N *(N-1)/ 2),这正是它的正确表现......
这里的关键是,对于每个百分位数,直方图[正确]报告将遇到低于某一幅度的打嗝水平的总随机样本(在没有协调的情况下执行)的百分比。当发生单次长时间冻结时(例如,在样本输出中最大2,654毫秒),这不是受影响的1个时间点。受影响的样本点数量与冻结中的毫秒数一样多。正确地测量和表示,单次冻结将每毫秒产生大约1个计数,其值在最大值和0之间线性变化(2654毫秒,2653毫秒,2652毫秒,...... 3毫秒,2毫秒,1毫秒)。这是计算随机,未协调样本可能遇到的延迟的传播的正确方法。
我有点尴尬,因为我的原始答案在我的题为“如何不测量潜伏期”的谈话中重复了我警告的相同错误假设(用幻灯片中的图表准确讨论了上述情况)({{3}这是在“协调遗漏问题”下约32分钟)。我用正确的数学运算建立了jHiccup和HdrHistogram以避免这个问题,这就是为什么你在数据中看到正确的结果。
事实上,如果您的理智检查显示“良好”数字,最长时间为1000毫秒,这将很好地表明测量系统显示出协调的遗漏......
- 吉尔。
--------原始答案,这是“错误的”-----------
你能发布一个显示这个的示例.hgrm数据集吗?我刚刚看到的文件似乎显示了总检测运行时间与.hgrm文件中的计数之间的密切关系。最简单的健全性测试是Total Count * Mean(均在文件底部报告)应该非常接近运行时。该数据来自产生百分位线的相同直方图......
请注意,百分位数处的计数不是加法的,原因很简单。可以报告相同精确值的两个百分位数水平。这对于长时间运行而言非常常见,其中噪音相当小。但是,上面的数学(仅计算增量计数)“应该”正常工作。
[小注意,你的数学偏离1行:每个百分位线显示值的等级和数量,其值等于或低于该行的值。因此,值应乘以下一行(n + 1)处的计数与“此”行(n)处的计数之间的差值,但这不会对您的测量产生很大影响。
下面是一个样本文件格式控制运行,耗时约1685秒,其中jHiccup开始检测运行30秒(所以~1655秒的检测时间)。在此数据集上使用excel,结果为:
总和((TotalCountIncludingThisValue [n + 1] - TotalCountIncludingThisValue [n])* Value [n])
显示约16237秒,平均值*总计数显示约16591秒。
Value,Percentile,TotalCountIncludingThisValue
1.01 0.000000000000 47
1.06 0.100000000000 483774
1.06 0.200000000000 483774
1.06 0.300000000000 483774
1.10 0.400000000000 628589
1.11 0.500000000000 804685
1.12 0.550000000000 1024190
1.12 0.600000000000 1024190
1.12 0.650000000000 1024190
1.13 0.700000000000 1388741
1.13 0.750000000000 1388741
1.13 0.775000000000 1388741
1.13 0.800000000000 1388741
1.13 0.825000000000 1388741
1.13 0.850000000000 1388741
1.13 0.875000000000 1388741
1.13 0.887500000000 1388741
1.13 0.900000000000 1388741
1.13 0.912500000000 1388741
1.14 0.925000000000 1471124
1.14 0.937500000000 1471124
1.14 0.943750000000 1471124
1.14 0.950000000000 1471124
1.14 0.956250000000 1471124
1.14 0.962500000000 1471124
1.14 0.968750000000 1471124
1.14 0.971875000000 1471124
1.14 0.975000000000 1471124
1.14 0.978125000000 1492169
1.14 0.981250000000 1492169
1.14 0.984375000000 1492169
1.14 0.985937500000 1492169
1.14 0.987500000000 1492169
1.14 0.989062500000 1492169
1.15 0.990625000000 1500639
1.15 0.992187500000 1500639
1.15 0.992968750000 1500639
1.15 0.993750000000 1500639
1.15 0.994531250000 1500639
1.16 0.995312500000 1504895
1.16 0.996093750000 1504895
1.16 0.996484375000 1504895
1.16 0.996875000000 1504895
1.16 0.997265625000 1504895
1.16 0.997656250000 1504895
1.17 0.998046875000 1506535
1.17 0.998242187500 1506535
1.17 0.998437500000 1506535
1.17 0.998632812500 1506535
1.17 0.998828125000 1506535
1.18 0.999023437500 1507442
1.18 0.999121093750 1507442
1.18 0.999218750000 1507442
1.18 0.999316406250 1507442
1.18 0.999414062500 1507442
1.18 0.999511718750 1507836
1.18 0.999560546875 1507836
1.18 0.999609375000 1507836
1.18 0.999658203125 1507836
1.18 0.999707031250 1507836
1.19 0.999755859375 1508028
1.19 0.999780273438 1508028
1.19 0.999804687500 1508028
1.19 0.999829101563 1508028
1.20 0.999853515625 1508106
1.20 0.999877929688 1508106
1.21 0.999890136719 1508145
1.21 0.999902343750 1508145
1.22 0.999914550781 1508163
1.22 0.999926757813 1508174
1.25 0.999938964844 1508186
1.34 0.999945068359 1508195
1.82 0.999951171875 1508204
2.42 0.999957275391 1508213
3.54 0.999963378906 1508222
4.74 0.999969482422 1508231
5.09 0.999972534180 1508236
5.98 0.999975585938 1508241
6.24 0.999978637695 1508245
7.01 0.999981689453 1508251
7.97 0.999984741211 1508254
8.26 0.999986267090 1508257
8.96 0.999987792969 1508259
9.02 0.999989318848 1508261
9.98 0.999990844727 1508265
10.24 0.999992370605 1508266
11.01 0.999993133545 1508268
11.01 0.999993896484 1508268
11.97 0.999994659424 1508269
13.95 0.999995422363 1508271
14.98 0.999996185303 1508272
14.98 0.999996566772 1508272
16.00 0.999996948242 1508273
16.00 0.999997329712 1508273
17.02 0.999997711182 1508274
18.05 0.999998092651 1508275
18.05 0.999998283386 1508275
18.05 0.999998474121 1508275
18.05 0.999998664856 1508275
19.07 0.999998855591 1508276
19.07 0.999999046326 1508276
19.07 0.999999141693 1508276
19.07 0.999999237061 1508276
19.07 0.999999332428 1508276
19.97 0.999999427795 1508277
19.97 1.000000000000 1508277
#[Mean = 1.10, StdDeviation = 0.06]
#[Max = 19.84, Total count = 1508277]
#[Buckets = 25, SubBuckets = 256]