Conversation
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
…verlay Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
Covers: configured logMessageField (single and multiple fields), missing field handling, empty dataframes, log-volume skip, no-refId skip, and the case where no logMessageField is configured (no synthetic field inserted). Refs #165
When logMessageField is unconfigured or its value is empty for a row, build a display line by trying well-known OTEL fields (body.message, attributes.message) then falling back to a key=value summary of document fields. Metadata fields (pod info, node labels, sort, etc.) are excluded from the summary and attributes. prefixes are stripped for readability. The fallback is per-row so mixed log types (structured logger output, lograge requests, raw nginx lines) each show the best available content. Refs #165
Generate quoted phrase filters for text values that contain whitespace or punctuation, matching manually-entered Quickwit queries such as service_name:"auth-api" and attributes.grpc_message:"...". Keep unquoted term filters only for simple token values and escape term values correctly. Improve filter autocomplete with fuzzy matching for keys and values, and pass previous complete filters into later value lookups so suggestions narrow progressively. Add tests for phrase rendering, punctuated values, term escaping, fuzzy matching, and prior-filter selection. Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
Documents how the = operator wraps array values like ["paperclip"] in quotes, producing phrase queries that don't match indexed array elements. Tests cover all operator types and edge cases. Refs #179
When Grafana passes a stringified array like ["paperclip"] as a filter value, detect it as JSON array and generate term queries on the individual elements instead of a phrase query on the literal string. Single element: attributes.tags:paperclip Multiple elements: attributes.tags:paperclip OR attributes.tags:stapler Empty array: no-op Fixes #179
Single-element arrays still produce a simple term query. Multi-element arrays now produce field:IN ["a" "b"] which maps to tantivy's TermSetQuery — cleaner than chaining OR clauses. Refs #179
Tantivy indexes array elements as individual terms with no way to match on array structure. Document why IN (match any) is used for multi-element arrays.
Values like ["foo bar"] or ["foo:bar"] produced broken queries (e.g. field:foo bar) because the single-element path emitted bare terms. Now all array element values are quoted as phrase queries, consistent with the multi-element IN path.
- render Quickwit-safe filters for text phrases, simple text terms, JSON arrays, numeric arrays, boolean arrays, and scalar numeric/boolean values - fix quick-filter toggle behavior so filter-in/filter-out matches by operator and replaces opposite filters instead of adding duplicates - avoid mutating query filter objects when adding or toggling quick filters - add configurable filter autocomplete limit, defaulting to 1000 and supporting 0 for no terms limit - apply autocomplete limit to tag values and field autocomplete requests - add filter chain mode datasource option: no chain, sampled chain, or full chain - dedupe tag keys when fields expose multiple capabilities - improve template multi-value interpolation for Quickwit by inferring field context and avoiding bare IN fallbacks - add focused tests for filter rendering, quick-filter toggles, autocomplete limits, chain modes, and template interpolation Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
Signed-off-by: Patrik Cyvoct <patrik@ptrk.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.