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

Google cloud platform Stackdriver是否将日志中的不同时间单位转换为毫秒?,google-cloud-platform,stackdriver,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"

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

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
,请参阅

延迟-以秒为单位的持续时间,最多有九个小数位数,以“s”结尾。例如:“3.5s”


请参阅。

Stackdriver绝对不是为您在时间单位之间转换,它只是提取
double
值,并将其视为您在自定义度量中指定的任何单位,在我的例子中是
ms
。我们最终将日志代码更改为始终以
ms
输出,并且从不将值“漂亮地打印”为
3.293s
2m51s
之类的格式,这是处理golang
time.Duration
时的默认值

一张图抵得上千言万语,看看你能否发现我们在哪里部署了代码更改


这些实际上是在GKE容器中运行的golang应用程序的日志,因此在这种情况下没有任何Stackdriver代理。目前,“Stackdriver”中没有直接读取单位后缀并将时间转换为标准单位(或任何自定义单位)的功能。也就是说,我建议您使用“”链接创建一个这样的功能。