问题描述
我的应用程序为特定用例生成“分数”值。这些分数通常在 0-120 范围内的任何位置,但大多数集群在 60-95 范围内。
我目前有一个使用基数计数的统计图表,例如 0、1-12、13-24、25-36、... 97-108 和 109+。
我想创建一个带有时间序列线的百分位图表,以 10% 的增量显示百分位分数,即 10% 分数线、20% 分数线、40% 分数线等,最高可达 90%得分线。
这可能吗?从使用 OpenCensus Java 记录统计开始,我该怎么做?
解决方法
Cloud Monitoring 并没有真正能够以您想要的方式在显示时间计算百分比。您可以使用 OpenCensus 编写一个带桶的分布,然后您可以查询它们的边界和计数——这是一个例子:
https://cloud.google.com/solutions/identifying-causes-of-app-latency-with-stackdriver-and-opencensus
具体来说,我引用了准确性部分:
Monitoring 根据存储区边界以数字间隔计算分布指标的延迟百分位数。此方法是 Monitoring 和 OpenCensus 使用的常用方法,其中 OpenCensus 表示指标数据并将其导出到 Monitoring。 Cloud Monitoring API 的 TimeSeries.list 方法返回您的项目和指标类型的存储桶计数和边界。您可以在 Cloud Monitoring API BucketOptions 对象中检索存储桶边界,您可以在 TimeSeries.list 的 API Explorer 中进行试验