我的状态更改持续时间数据介于我的对象状态之间,以毫秒为单位。我将此数据发送到石墨。我想创建一个统计面板,显示持续时间小于20秒的百分比。我该如何创建它?任何想法或任何类似的场景示例都会很有用。
myProjectName.FromStateToState.duration 10000ms
myProjectName.FromStateToState.duration 15000ms
myProjectName.FromStateToState.duration 21000ms
myProjectName.FromStateToState.duration 25000ms
myProjectName.FromStateToState.duration 30000ms
假设上述情况我希望我的百分比应为%40。因为我有5个持续时间数据,其中2个不到20秒。我使用Graphite作为数据源,使用Grafana作为可视化。
因为我无法得到足够的关注和任何答案,所以我会在这里添加我的临时解决方案。如果我将来学习确切的解决方案,我也会作为答案发布。
基本上我创建了两个计数器,如counterSuccess和counterFail。如果状态更改持续时间少于20秒,则增加counterSuccess
,否则增加counterFail
。然后通过以下基本公式counterSuccess/(counterSuccess + counterFail)
获得成功率的百分比。
Grafana Panel的石墨命令:
A : sumSeries(myProjectName.FromStateToState.counterSuccess.count)
B : sumSeries(myProjectName.FromStateToState.counterFail.count)
C : sumSeries(#A, #B)
D : divideSeries(#A,#C)
我在grafana定义了一个统计数据,将其显示为单个百分比;