GoogleCloudPlatform / GoogleCloudPlatform/cloud-logging-data-source-plugin

Cloud Logging datasource appends time range without grouping OR queries

Aperta Adatta ai principianti
#222 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.