Traceql instant query#3859
Merged
mdisibio merged 15 commits intografana:mainfrom Jul 18, 2024
Merged
Conversation
joe-elliott
reviewed
Jul 12, 2024
…erator complete blocks
…tamp handling in metrics diff detection
joe-elliott
reviewed
Jul 17, 2024
joe-elliott
approved these changes
Jul 17, 2024
github-actions Bot
pushed a commit
that referenced
this pull request
Jul 19, 2024
* first working draft * Cleanup request time manipulation code * comment * Update after merge, oops restore accidentally deleted query metrics * Fix request clone for logging * tweak method signature * changelog * Make TrimToOverlap aware of instant query, fix alignment issue on generator complete blocks * Fix test * Add streaming version of metrics query instant, add to cli, fix timestamp handling in metrics diff detection * Fix typo in QueryInstantResponse name * lint * docs * lint, rename (cherry picked from commit 7f788b3)
3 tasks
joe-elliott
pushed a commit
that referenced
this pull request
Jul 19, 2024
* first working draft * Cleanup request time manipulation code * comment * Update after merge, oops restore accidentally deleted query metrics * Fix request clone for logging * tweak method signature * changelog * Make TrimToOverlap aware of instant query, fix alignment issue on generator complete blocks * Fix test * Add streaming version of metrics query instant, add to cli, fix timestamp handling in metrics diff detection * Fix typo in QueryInstantResponse name * lint * docs * lint, rename (cherry picked from commit 7f788b3) Co-authored-by: Martin Disibio <martin.disibio@grafana.com>
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.
What this PR does:
Adds a new api
/api/metrics/querywhich performs an instant query instead of a range query. Includes both http and grpc streaming versions. The parameters are (1) query, (2) start, and (3) end. Wanted to match the Prometheus instant api, but for now we can't. TraceQL is missing the custom interval tidbits like[1h], so it needs the full time range (start and end). I think this is fine.This new api is actually the same, conceptually and implementation-wise, as doing a range query with 1 step. It reuses the existing query_range sharder, pipeline, combiner, etc, and does a transformation of the response at the end.
Extends the tempo-cli command
tempo-cli query metricsto take an--instantparameter to call the new apis. Works with both http and --use-grpc streaming version.Also tried to cleanup/solidify the time range handling.
Which issue(s) this PR fixes:
Fixes #
Checklist
CHANGELOG.mdupdated - the order of entries should be[CHANGE],[FEATURE],[ENHANCEMENT],[BUGFIX]