Firebase跟踪显示错误的中值时间延迟?

时间:2018-09-26 17:57:01

标签: android firebase trace firebase-analytics firebase-performance

我正在我的应用程序中添加Firebase性能跟踪,下面的图像是最后24 Hrs的数据

enter image description here

您可以看到Median647ms,其中95%的时间延迟是14.81s5%的时间延迟是460ms

中位数如何为647ms,应该接近14秒?我在这里想念东西吗?

编辑-

下面的图像数据是最后7 days

enter image description here

正如您在过去24 Hrs中所看到的,我有95th个百分位数是14.81s的数据,但是在最近7天的图表中如何没有提及14 secs跟踪?所有迹线都在5.95s以下吗?

分布图像的等待时间也在460 ms2.94s之间,但是第一张图像的第95个百分位数是14.81s,第二张图像的是5.95s,但是仅分布显示460ms-2.94s之间的数据?那么,该分布数据显示了什么?他们不应该在这里显示所有请求过去7天的延迟时间吗?

当我检查设备样本时

enter image description here

在所有情况下,最大时延是5.60s而不是14.81s

2 个答案:

答案 0 :(得分:2)

95%并不意味着95%的时间,它是值范围内的第95个百分位数,不要与频率混淆。

您的大多数“执行”(90%)将在5-95%之间,因此中位数为647毫秒是合理的。

我不确切知道95%的值代表什么,它可能是前5%执行时间的平均值,也可能是该范围内的第一个值。

答案 1 :(得分:1)

我认为您面临的行为是这样的:

您正在发送此指标(已排序):

第一天: ...,460ms,...,...,647ms,...,...,14.81s,...       5th 50th 95th

这说明了第一张图,在接下来的几天中,您将发送不同数量的指标。 (我设置了一些随机数):

第2天: ...,460ms,...,...,647ms,...,...,2.95s,...       5th 50th 95th

第3天: ...,460ms,...,...,647ms,...,...,2.95s,...       5th 50th 95th

第4天: ...,619ms,...,...,971ms,...,...,5.95s,...       5th 50th 95th

第5天: ...,460ms,...,...,647ms,...,...,2.94s,...       5th 50th 95th

第6天: ...,460ms,...,...,647ms,...,...,2.01s,...       5th 50th 95th

这可以解释第二张图,并且由于第三张图显示了7天的分布(将您的所有指标合并到一个数组中并计算百分位数),因此可以解释第95条与您的大多数图表有何不同第95天(除非您每天发送的指标相同)。

此外,我注意到您实际上可以检查Firebase控制台从您的浏览器发出的网络请求的响应中的第100个(我认为UI决定不呈现此值)。