我在Azure上的Kusto中做了一个查询,以获得Redis的内存碎片值,这个值是通过将RSS内存除以所使用的内存来获得的,问题是我无法使用这两个不同的字段进行计算,因为有必要过滤"平均值";字段";usedmemoryRss";以及";使用的存储器";字段当我在扩展行上进行筛选时,查询没有返回值,代码如下所示:
AzureMetrics
| extend m1 = Average | where MetricName == "usedmemoryRss" and
| extend m2 = Average | where MetricName == "usedmemory"
| extend teste = m1 / m2
当我删除";其中";clauyse从行中分离出每条记录的值,并返回1。有可能做到吗?提前感谢您的帮助。
谢谢你的回答Justin你给了我一个想法,我用这种方式解决了
let m1 = AzureMetrics | where MetricName == "usedmemoryRss" | where Average != 0 | project Average;
let m2 = AzureMetrics | where MetricName == "usedmemory" | where Average != 0 | project Average;
print memory_fragmentation=toscalar(m1) / toscalar(m2)
let Average=datatable (MetricName:string, Value:long)
["usedmemoryRss", 10,
"usedmemory", "5"];
let m1=Average
| where MetricName =="usedmemoryRss" | project Value;
let m2=Average
| where MetricName =="usedmemory" | project Value;
print teste=toscalar(m1) / toscalar (m2)