java - 如何在 Datadog Dashboard Widget 中显示正确的货币价值
问题描述
我在 Springboot Java App 中创建了一个自定义 Datadog 指标,并打开了管理端点。
我正在使用双精度值(与订单的货币价值相关)增加 MeterRegistry 计数器当我使用 /management/metrics 端点时,我可以看到存储的正确值。
但是,当我在 Datadog 仪表板中创建小部件时,它仅显示数据的小数点前值。例如,订单值为 61.67,在 Datadog 中显示为 61,因此它甚至没有进行任何舍入!
有没有办法在 Datadog Dashboard 小部件中显示计数器的原始值?
提前致谢
解决方案
- 首先,我将使用API检查 Datadog 中存储了哪些指标
- 其次,我会检查您发送的指标类型
https://app.datadoghq.com/metric/summary?metric=<my-metric>
不确定计数器类型是否可以具有十进制值,也许仪表会更合适。 - 最后,要显示一个值,您可以使用查询值小部件,例如下面片段中的小部件。确保:
- 取最后一个值(这里是聚合器:last)
- 选择感兴趣的小数位数(此处精度:3)
- 如果您从多个地方(即多个标签)收到此指标,请选择正确的空间聚合(此处为 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"]
推荐阅读
- git - Git:删除`git branch`未列出的分支的本地副本
- sockets - 在持久连接中最好使用哪个循环?
- nginx - 在 kubernetes GKE 上为 nginx 入口控制器设置缓存控制标头
- office365 - Exchange 2016/混合环境和 MS Graph
- android - 无法通过更新 google-services 插件的版本来修复版本冲突
- c# - 如何编写使用 HttpContext 的服务器端单元测试?
- r - R 中的 glm 输出和 SAS 中的 proc genmod 输出之间的区别,用于交互式模型但不是加法模型
- javascript - 使用 Vue.js 根据字段内容添加类
- vue.js - Nuxt 嵌套路由
- excel-formula - Excel:如果新客户在 x 个月后离开,则给定月份的客户数