GoogleCloudPlatform / GoogleCloudPlatform/cloud-logging-data-source-plugin
Cloud Logging datasource appends time range without grouping OR queries
- Lingua principale
- TypeScript
- Stelle
- 24
- Fork
- 17
- Merge medio
- 13h 11m
- PR unite (30g)
- 11
Descrizione
## Bug
In v1.7.0, the datasource appends the dashboard time range to the user query without wrapping the user expression:
```text
%s AND timestamp >= "" AND timestamp <= ""
```
For a query with a top-level OR, Cloud Logging parses AND before OR. For example:
```text
jsonPayload.event_type="app.error" OR (jsonPayload.event_type="app.request" AND jsonPayload.metadata.status>=500)
```
becomes effectively:
```text
jsonPayload.event_type="app.error" OR (jsonPayload.event_type="app.request" AND jsonPayload.metadata.status>=500 AND timestamp >= "" AND timestamp <= "")
```
The time range therefore applies only to the final branch.
The datasource should group the user expression before appending the time range, for example:
```text
() AND timestamp >= "" AND timestamp <= ""
```
This was observed in a Grafana dashboard using GoogleCloudPlatform/cloud-logging-data-source-plugin v1.7.0. A local workaround is to parenthesize any dashboard query containing OR.
Related Kaamos issue: https://github.com/Kaamos-AI/kaamos/issues/2949
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Individua il codice del datasource che aggiunge i limiti temporali della dashboard alle query dell'utente ed esamina come vengono assemblate le espressioni contenenti OR. Aggiungi la copertura per una query OR di primo livello e verifica che l'espressione completa dell'utente venga raggruppata prima dei vincoli temporali, preservando il comportamento esistente delle query.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- google-cloud, grafana, typescript
- Ambito
- backend, cloud
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 72/100