|
|
@@ -123,25 +123,31 @@ Alert **ei toeta `table`-paneeli** (`Unsupported alert source: tile`). Kasuta
|
|
|
**taaskäivita `clickstack`** (vahemälu).
|
|
|
|
|
|
### Chart Explorer: `Syntax error ... toString()` (tühi valueExpression + count)
|
|
|
-Vaikimisi Chart Explorer'i seeria on `{aggFn:"count", valueExpression:""}`. HyperDX 2.37
|
|
|
-genereerib y-telje min/max päringu kujul `toFloat64OrDefault(toString())` (tühi argument) →
|
|
|
-`Code: 62 SYNTAX_ERROR ... failed at position 58 (>=)`. **Lahendus:** pane seeria
|
|
|
-**Value** väljale `1` (või mõni veerg) → `count()` + `toString(1)` on korrektne:
|
|
|
-```sql
|
|
|
-SELECT count() FROM default.otel_logs; -- seeria ise töötab
|
|
|
-SELECT quantileIf(0.01)(toFloat64OrDefault(toString(1)), 1>=0 AND ...) AS "min",
|
|
|
- MAX(toFloat64OrDefault(toString(1))) AS "max" FROM default.otel_logs; -- OK
|
|
|
-```
|
|
|
-UI-s: Chart Explorer → seeria → **Value** = `1`; alternatiivselt kasuta `table`-kuva
|
|
|
-(min/max päringut ei tehta). See on upstream HyperDX nõks, mitte andmeviga.
|
|
|
-
|
|
|
-### Heatmap: „Value expression is required for heatmap charts"
|
|
|
-Chart Explorer → Heatmap nõuab, et seeria **Value expression** oleks täidetud
|
|
|
-(HyperDX valideerib `series[0].valueExpression`). See on UI-konfiguratsioon, mitte andmeviga.
|
|
|
-- **Metrics** source: vali metrika (nt `node_load1`) ja sisesta **Value** väljale `Value`
|
|
|
- (või `avg(Value)`), lisa filtrisse `MetricName`.
|
|
|
-- **Logs** source: Value väljale `count()`; "Group by" nt `ServiceName` või `SeverityText`.
|
|
|
-- Kui metrika valimine ei täida Value välja automaatselt, trüki see käsitsi.
|
|
|
+Sama juur kui heatmap'il allpool: min/max päring kasutab tühja `valueExpression`-i.
|
|
|
+Vaikimisi seeria `{aggFn:"count", valueExpression:""}` → `toFloat64OrDefault(toString())` →
|
|
|
+`Code: 62 SYNTAX_ERROR ... position 58 (>=)`. **Lahendus:** kas anna **Value**-le arvuline
|
|
|
+veerg (nt `SeverityNumber`) või vaheta kuva **`table`**-ks (min/max päringut ei tehta).
|
|
|
+`Value = 1` väldib küll vea, aga annab skaala 1..1 (ei sobi graafikule). Upstream viga.
|
|
|
+
|
|
|
+### Heatmap + y-telg: tühi `valueExpression` → `Syntax error ... toString()`
|
|
|
+HyperDX 2.37 arvutab heatmap'i/joongraafiku min/max **tooresest** `select[0].valueExpression`-ist
|
|
|
+(app-chunk `4719-*`, funktsioon `A`): `quantileIf(0.01)(toFloat64OrDefault(toString(<expr>)), <expr> >= 0 ...)`.
|
|
|
+Kui `expr` on tühi (vaikimisi count-seeria), tekib `toString())` + ` >= 0` → **Code: 62 SYNTAX_ERROR**.
|
|
|
+Sama kehtib heatmap'i „Low/High" legendile. See on **upstream viga**, mitte andmeviga.
|
|
|
+
|
|
|
+**Kontrollitud lahendused (Logs `otel_logs`):**
|
|
|
+| Value expression | Tulemus |
|
|
|
+|---|---|
|
|
|
+| `""` (vaikimisi) | ❌ süntaksiviga |
|
|
|
+| `1` | ✅ töötab, aga skaala 1..1 (flat — ei sobi) |
|
|
|
+| `SeverityNumber` / `TraceFlags` | ✅ töötab, sisuline skaala |
|
|
|
+| `count()` | ❌ agregaadi pesastamine (`quantileIf(count())`) — keelatud |
|
|
|
+
|
|
|
+**Soovitus:** heatmap (ja y-telg) vajab **arvulist veergu**, mitte count'i:
|
|
|
+- **Logs** source: Value = `SeverityNumber` (või `TraceFlags`), „Group by" nt `ServiceName`.
|
|
|
+- **Metrics** source: Value = `Value` (või `avg(Value)`), filter `MetricName`.
|
|
|
+- Puhta count-heatmap'i jaoks kasuta mõnda muud kuva (nt `table`) kuni upstream-paranduseni.
|
|
|
+- Kui metrika valimine ei täida Value välja automaatselt, trüki käsitsi.
|
|
|
|
|
|
### Metrics source peab sisaldama `metricTables.exponentialHistogram`
|
|
|
Vaikimisi bootstrap võib selle puudumisel metrikate valija katki teha. Kontroll:
|