如何在 Datadog Dashboard Widget 中显示正确的货币价值
How to display correct monetary value in Datadog Dashboard Widget
我在 Springboot Java 应用程序中创建了自定义 Datadog 指标,并打开了管理端点。
我正在增加一个双精度值的 MeterRegistry 计数器(与订单的货币价值相关)
当我使用 /management/metrics 端点时,我可以看到存储了正确的值。
然而,当我在我的 Datadog 仪表板中创建一个小部件时,它只显示数据的小数点前的值。例如,订单值为 61.67,而在 Datadog 中显示为 61,因此它甚至没有进行任何舍入!
有什么方法可以在 Datadog 仪表板小部件中显示计数器的原始值吗?
提前致谢
- 首先,我会使用 API
检查 Datadog 中存储了哪些指标
- 其次,我会检查您发送的指标类型
https://app.datadoghq.com/metric/summary?metric=<my-metric>
不确定计数器类型是否可以有十进制值,也许计量器会更合适。
- 最后,要显示值,您可以使用查询值小部件,例如下面代码段中的小部件。确保:
- 取最后一个值(这里是聚合器:last)
- Select感兴趣的小数位数(此处精度:3)
- Select 正确的 space 聚合,如果您从多个地方(即多个标签)收到此指标(此处 avg:my_metric{*})
{
"viz": "query_value",
"requests": [
{
"q": "avg:nginx.logs.request.count{*}.as_count()",
"type": null,
"style": {
"palette": "dog_classic",
"type": "solid",
"width": "normal"
},
"aggregator": "last",
"conditional_formats": [
{
"comparator": ">",
"palette": "white_on_red",
"value": null
},
{
"comparator": ">=",
"palette": "white_on_yellow",
"value": null
},
{
"comparator": "<",
"palette": "white_on_green",
"value": null
}
]
}
],
"autoscale": true,
"precision": "3"
}
旁注:我也将它用于 Kafka(仅作为参考),但您的情况不需要它:
ENTRYPOINT ["java","-javaagent:dd-java-agent.jar","-Ddd.agent.host=localhost","-Ddd.jmxfetch.statsd.host=localhost","-Ddd.trace.global.tags=env:kafka","-Ddd.agent.port=8126","-Ddd.service.name=KafkaProducer","-Ddd.logs.injection=true","-Ddd.trace.analytics.enabled=true","-Ddd.kafka.analytics.enabled=true","-Ddd.servlet.analytics.enabled=true","-Ddd.spring-web.analytics.enabled=true","-jar","target/KafkaConsumer-0.0.1-SNAPSHOT.jar"]
我在 Springboot Java 应用程序中创建了自定义 Datadog 指标,并打开了管理端点。
我正在增加一个双精度值的 MeterRegistry 计数器(与订单的货币价值相关) 当我使用 /management/metrics 端点时,我可以看到存储了正确的值。
然而,当我在我的 Datadog 仪表板中创建一个小部件时,它只显示数据的小数点前的值。例如,订单值为 61.67,而在 Datadog 中显示为 61,因此它甚至没有进行任何舍入!
有什么方法可以在 Datadog 仪表板小部件中显示计数器的原始值吗?
提前致谢
- 首先,我会使用 API 检查 Datadog 中存储了哪些指标
- 其次,我会检查您发送的指标类型
https://app.datadoghq.com/metric/summary?metric=<my-metric>
不确定计数器类型是否可以有十进制值,也许计量器会更合适。 - 最后,要显示值,您可以使用查询值小部件,例如下面代码段中的小部件。确保:
- 取最后一个值(这里是聚合器:last)
- Select感兴趣的小数位数(此处精度:3)
- Select 正确的 space 聚合,如果您从多个地方(即多个标签)收到此指标(此处 avg:my_metric{*})
{
"viz": "query_value",
"requests": [
{
"q": "avg:nginx.logs.request.count{*}.as_count()",
"type": null,
"style": {
"palette": "dog_classic",
"type": "solid",
"width": "normal"
},
"aggregator": "last",
"conditional_formats": [
{
"comparator": ">",
"palette": "white_on_red",
"value": null
},
{
"comparator": ">=",
"palette": "white_on_yellow",
"value": null
},
{
"comparator": "<",
"palette": "white_on_green",
"value": null
}
]
}
],
"autoscale": true,
"precision": "3"
}
旁注:我也将它用于 Kafka(仅作为参考),但您的情况不需要它:
ENTRYPOINT ["java","-javaagent:dd-java-agent.jar","-Ddd.agent.host=localhost","-Ddd.jmxfetch.statsd.host=localhost","-Ddd.trace.global.tags=env:kafka","-Ddd.agent.port=8126","-Ddd.service.name=KafkaProducer","-Ddd.logs.injection=true","-Ddd.trace.analytics.enabled=true","-Ddd.kafka.analytics.enabled=true","-Ddd.servlet.analytics.enabled=true","-Ddd.spring-web.analytics.enabled=true","-jar","target/KafkaConsumer-0.0.1-SNAPSHOT.jar"]