是否可以在 LogQL 中将字符串值转换为数字?

Posted

技术标签:

【中文标题】是否可以在 LogQL 中将字符串值转换为数字?【英文标题】:Is it possible to convert string values to numbers in LogQL? 【发布时间】:2021-04-20 13:52:14 【问题描述】:

我正在关注documentation,感谢| line_formatregexReplaceAll,我能够从一行中获取一些子字符串。

假设现在我有这些列:

line
123
7
123
54
14

如果我想执行一些变换操作、ex sum 或变换操作,则需要进行分组和总计。 它不起作用,因为我怀疑这些值不是数字,而只是字符串。 可以转成数字吗?

我尝试使用unwrap,但没有成功:

sum_over_time(
    service="some" 
    |="text expression"
    | json
    | line_format ` regexReplaceAll "text expression to remove from (\\d+)" .label_id "$1" | trim `
    | unwrap label_id [1m]
)

结果是

管道错误:系列的“SampleExtractionErr”:

当我过滤掉错误时,没有结果。

【问题讨论】:

【参考方案1】:

我认为您正在寻找“展开”表达式。

请参阅有关此 here 的 Loki 文档。

【讨论】:

感谢您的提示。我已经尝试过了,但没有用 - 问题已更新。 实际上,您使用“line_format”对行进行格式化,但在展开表达式中使用“label-id”而不格式化(整个表达式)。

以上是关于是否可以在 LogQL 中将字符串值转换为数字?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JavaScript 中将字符串转换为布尔值?

在 Netezza 中将数字时间值转换为字符串

在 C# 中将 char 转换为 int

如何在freemarker模板中将字符串转换为数字

在python中将字符串转换为数字[关闭]

在 Flutter 输入中将值转换为数字格式?