Stackdriver是否将日志中的不同时间单位转换为毫秒?

时间:2019-02-14 22:15:25

标签: google-cloud-platform stackdriver

我有粗略格式的日志数据:

textPayload: "latency=1.539325257s method=GET"
textPayload: "latency=355.376208ms method=GET" 
textPayload: "latency=704.816053ms method=GET"
textPayload: "latency=751.597856ms method=GET"
textPayload: "latency=1.845525343s method=GET"

我已经使用正则表达式latency=([0-9.]+)在Stackdriver中创建了一个分配指标,该度量提取了延迟(并由stackdriver转换为double)

当我绘制此数据的图形时,它似乎在图表上显示了值“ 1539.32”和“ 1845.52”,表明这些s值已转换为ms

这就是我想要的,但是我找不到任何显示Stackdriver actually 的地方,即读取单元的后缀(它绝对不是我的正则表达式的一部分)并将时间转换为标准单位。这是Stackdriver的 actual 行为吗?

2 个答案:

答案 0 :(得分:1)

Stackdriver绝对不会为您在时间单位之间进行转换,它只是提取double值并将其视为您在自定义指标中指定的任何单位,在我的情况下为ms。我们最终将记录代码更改为始终以ms输出,并且永远不会“漂亮地打印”该值到类似3.293s2m51s的位置,这是处理golang {{1 }}。

一个图形值一千个单词,看看您是否能发现我们将代码更改部署到何处。

the true latency is revealed

答案 1 :(得分:0)

最好过滤例如httpRequest.latency,请参见https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#HttpRequest

  

等待时间-持续时间(以秒为单位),最多9个小数位,以's'结尾。例如:“ 3.5s”。

请参见agent metrics