Update list of intrinsics returned by search tags endpoint (#5857)

* Update list of intrinsics at /api/v2/search/tags?scope=intrinsic

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>

* add changelog entry

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>

* update test

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>

---------

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>
This commit is contained in:
Andreas Gerstmayr
2025-11-06 09:37:31 +01:00
committed by GitHub
parent 8842bf0a56
commit cf3934717a
4 changed files with 17 additions and 7 deletions
+1
View File
@@ -24,6 +24,7 @@
* [ENHANCEMENT] Increase weight for heavy TraceQL queries [#5782](https://github.com/grafana/tempo/pull/5782) (@ruslan-mikhailov)
* [ENHANCEMENT] Add TraceQL support for nonexistential attribute queries [#4950](https://github.com/grafana/tempo/pull/4905) (@ie-pham)
* [ENHANCEMENT] Add partition ownership metric to live-store [#5815](https://github.com/grafana/tempo/pull/5815) (@javiermolinar, @mapno)
* [ENHANCEMENT] Update list of intrinsics returned by search tags endpoint [#5857](https://github.com/grafana/tempo/pull/5857) (@andreasgerstmayr)
* [BUGFIX] Fix compactor to properly consider SSE-KMS information during metadata copy [#5774](https://github.com/grafana/tempo/pull/5774) (@steffsas)
* [BUGFIX] Correctly track and reject too large traces in live stores. [#5757](https://github.com/grafana/tempo/pull/5757) (@joe-elliott)
* [BUGFIX] Fix issues related to integer dedicated columns in vParquet5-preview2 [#5716](https://github.com/grafana/tempo/pull/5716) (@stoewer)
+1 -1
View File
@@ -222,7 +222,7 @@ func TestSearchTagsV2Intrinsics(t *testing.T) {
{
// Only a subset of intrinsic tags will fit
Name: api.ParamScopeIntrinsic,
Tags: search.GetVirtualIntrinsicValues()[0:10],
Tags: search.GetVirtualIntrinsicValues()[0:9],
},
},
},
+14 -6
View File
@@ -54,16 +54,27 @@ func GetVirtualTagValuesV2(tagName string) []tempopb.TagValue {
return nil
}
// keep this list in sync with pkg/traceql/enum_attributes.go
func GetVirtualIntrinsicValues() []string {
return []string{
traceql.IntrinsicDuration.String(),
traceql.IntrinsicKind.String(),
traceql.IntrinsicName.String(),
traceql.IntrinsicStatus.String(),
traceql.IntrinsicStatusMessage.String(),
traceql.IntrinsicTraceDuration.String(),
traceql.IntrinsicKind.String(),
traceql.IntrinsicTraceRootService.String(),
traceql.IntrinsicTraceRootSpan.String(),
traceql.IntrinsicTraceDuration.String(),
traceql.IntrinsicEventName.String(),
traceql.IntrinsicEventTimeSinceStart.String(),
traceql.IntrinsicLinkSpanID.String(),
traceql.IntrinsicLinkTraceID.String(),
traceql.IntrinsicInstrumentationName.String(),
traceql.IntrinsicInstrumentationVersion.String(),
traceql.IntrinsicTraceID.String(),
traceql.IntrinsicSpanID.String(),
traceql.IntrinsicParentID.String(),
traceql.ScopedIntrinsicSpanStatus.String(),
traceql.ScopedIntrinsicSpanStatusMessage.String(),
traceql.ScopedIntrinsicSpanDuration.String(),
@@ -72,10 +83,7 @@ func GetVirtualIntrinsicValues() []string {
traceql.ScopedIntrinsicTraceRootName.String(),
traceql.ScopedIntrinsicTraceRootService.String(),
traceql.ScopedIntrinsicTraceDuration.String(),
traceql.IntrinsicEventName.String(),
traceql.IntrinsicEventTimeSinceStart.String(),
traceql.IntrinsicInstrumentationName.String(),
traceql.IntrinsicInstrumentationVersion.String(),
/* these are technically intrinsics that can be requested, but they are not generally of interest to a user
typing a query. for simplicity and clarity we are leaving them out of autocomplete
IntrinsicNestedSetLeft
+1
View File
@@ -63,6 +63,7 @@ func AttributeScopeFromString(s string) AttributeScope {
type Intrinsic int8
// keep the intrinsics in sync with GetVirtualIntrinsicValues() in pkg/search/util.go
const (
IntrinsicNone Intrinsic = iota
IntrinsicDuration