This commit is contained in:
Magnus Root 2026-03-11 17:28:19 +03:00
parent 65f5af7e43
commit d3873bfb2e

View file

@ -402,13 +402,18 @@ func buildVLMultiSumExpressionTargets(cfg map[string]interface{}, sidQuery strin
// ---------- Bucket logs (overview panels) ----------
func buildVLBucketLogsTargets(cfg map[string]interface{}, _ string, _ string, datasourceUID string, _ *DashboardTemplate, _ DomainInfo, _ ClientData) []interface{} {
// Если есть vl_base_query — используем его напрямую (уже в LogsQL формате)
// Иначе конвертируем base_query из Lucene
var baseQuery string
if vlRaw := getString(cfg, "vl_base_query"); vlRaw != "" {
baseQuery = vlRaw
} else {
raw := getString(cfg, "base_query")
// Заменяем Grafana переменные в Lucene формате на LogsQL формат
// SID:({${SID:lucene}}) → SID:in(${SID:csv}) чтобы избежать двойных скобок
raw = strings.ReplaceAll(raw, "SID:(${SID:lucene})", "SID:in(${SID:csv})")
raw = strings.ReplaceAll(raw, "app_name:${app_name:lucene}", "app_name:${app_name}")
raw = strings.ReplaceAll(raw, "response_status_code:${response_status_code:lucene}", "response_status_code:${response_status_code}")
baseQuery := luceneToLogsQL(raw)
baseQuery = luceneToLogsQL(raw)
}
bucketAggsRaw, _ := cfg["bucket_aggs"].([]interface{})
// Разбираем bucket_aggs чтобы понять по какому полю группировать и top N