Stackdriver 是否将日志中的不同时间单位转换为毫秒?
Does Stackdriver convert different time units in logs to milliseconds?
我有粗略格式的日志数据:
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"
并且我使用正则表达式在 Stackdriver 中创建了一个分布指标:latency=([0-9.]+)
提取延迟(并由 stackdriver 转换为双精度)
当我绘制此数据时,它似乎在我的图表上显示了值“1539.32”和“1845.52”,这表明这些 s
值正在转换为 ms
。
这就是我想要的,但我找不到任何地方说 Stackdriver 实际上 读取单位的后缀(它绝对不是我的正则表达式的一部分)并将时间转换为标准单位。这是 Stackdriver 的实际行为吗?
过滤例如可能会更好。对于 httpRequest.latency
,请参阅 https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#HttpRequest。
latency - A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
Stackdriver 绝对不会为您在时间单位之间进行转换,它只是提取 double
值并将其视为您在自定义指标中指定的任何单位,在我的例子中是 ms
。我们最终将日志记录代码更改为始终在 ms
中输出,并且永远不会将 "pretty print" 值输出为 3.293s
和 2m51s
之类的值,这是处理 golang [=] 时的默认值15=].
一张图表胜过一千个字,看看您能否发现我们部署了代码更改的位置。
我有粗略格式的日志数据:
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"
并且我使用正则表达式在 Stackdriver 中创建了一个分布指标:latency=([0-9.]+)
提取延迟(并由 stackdriver 转换为双精度)
当我绘制此数据时,它似乎在我的图表上显示了值“1539.32”和“1845.52”,这表明这些 s
值正在转换为 ms
。
这就是我想要的,但我找不到任何地方说 Stackdriver 实际上 读取单位的后缀(它绝对不是我的正则表达式的一部分)并将时间转换为标准单位。这是 Stackdriver 的实际行为吗?
过滤例如可能会更好。对于 httpRequest.latency
,请参阅 https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#HttpRequest。
latency - A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
Stackdriver 绝对不会为您在时间单位之间进行转换,它只是提取 double
值并将其视为您在自定义指标中指定的任何单位,在我的例子中是 ms
。我们最终将日志记录代码更改为始终在 ms
中输出,并且永远不会将 "pretty print" 值输出为 3.293s
和 2m51s
之类的值,这是处理 golang [=] 时的默认值15=].
一张图表胜过一千个字,看看您能否发现我们部署了代码更改的位置。