簡體   English   中英

如何根據自定義圖表中天藍色儀表板中的選定時間段計算時間粒度

[英]How to calculate time grain based on selected period from azure dashboard in a custom chart

在編寫 kusto 查詢以在我的 azure 儀表板上創建自定義圖表時,我希望能夠根據用戶在儀表板上選擇的時間段計算時間粒度。

例如:最后 4 小時 => 時間顆粒 2 分鍾,最后 24 小時 => 10 分鍾

我嘗試了以下方法來計算時間段,因為我們仍然無法訪問它(就我在互聯網上找到的而言)。

let timeGrain = traces
| summarize min_time = min(timestamp), max_time = max(timestamp)
| extend timeWindow = max_time - min_time   // days / hrs/ min / seconds
| project timeWindow
| extend timeGrain = case(timeWindow <= 4h, "2m", 
                       timeWindow <= 12h, "5m", 
                       timeWindow <= 24h, "10m",
                       "2h")
                       | project timeGrain;      

該查詢返回我想要實現的時間粒度,但我無法在其他查詢中使用此變量。

traces
...
| summarize percentile(DurationInMs, 50) by bin(timestamp, timeGrain), CommandType
| render areachart with (ytitle = "Duration In Ms", xtitle = "Timestamp");

(我知道跟蹤不是存儲有關持續時間的數據的最佳位置,我們會將其更改為指標,但這不是問題的范圍)

這給了我以下錯誤:“summarize”運算符:無法解析名為“timeGrain”的標量表達式

有沒有辦法解決這個錯誤,或者有沒有更好的方法來創建動態時間顆粒?

顯然,我的跟蹤中沒有相同的字段,但您應該使用時間跨度而不是字符串來定義timeGrain

此外,要將查詢結果timeGrain用作變量,請使用toscalar ( docs ):

let timeGrain = toscalar(traces
| summarize min_time = min(timestamp), max_time = max(timestamp)
| extend timeWindow = max_time - min_time   // days / hrs/ min / seconds
| project timeWindow
| extend timeGrain = case(timeWindow <= 4h, 2m, 
                       timeWindow <= 12h, 5m, 
                       timeWindow <= 24h, 10m,
                       2h)
                       | project timeGrain);  
traces
| summarize count() by bin(timestamp, timeGrain)
| order by timestamp desc       

這工作得很好。

這可能不是問題的直接答案,但對於不想創建邏輯以從時間范圍推斷時間粒度​​的其他人可能有用。

使用工作簿從應用洞察查詢創建圖表。 添加時間范圍參數,參考查詢中的參數。 {TimeRange:grain} 將為您提供與所選時間范圍相對應的粒度。 現在將查詢部分固定到儀表板,瞧! 您的圖表已准備好使用儀表板上選擇的時間范圍,自動刷新參數。

創建工作簿並將部件固定到儀表板: https : //docs.microsoft.com/en-us/azure/azure-monitor/visualize/workbooks-overview時間范圍參數: https : //docs.microsoft.com/en-us /azure/azure-monitor/visualize/workbooks-time

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM