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