v2.6.0
Breaking Changes
autocomplete_filtering_enabled
feature flag has been removed and always enabled.use_v2_sdk
in the Azure backend has been removed. Azure v2 sdk has been promoted to GA/dfeault.- Removed
completedfilepath
andblocksfilepath
from the wal config. - TraceQL metrics now bases historical requests off of a set of RF1 blocks written to the backend by the metrics-generators. Set
flush_to_storage
to true to run metrics queries on historical data.metrics_generator: processor: local_blocks: flush_to_storage: true
Changes
- [CHANGE] BREAKING CHANGE Remove
autocomplete_filtering_enabled
feature flag #3729 (@mapno) - [CHANGE] Bump opentelemetry-collector to 0.102.1 #3784 (@debasishbsws)
- [CHANGE] Bump Jaeger query docker image to 1.57.0 #3652 (@iblancasa)
- [CHANGE] Update Go to 1.22.4 #3757 #3793 (@joe-elliott, @mapno)
- [CHANGE] Make vParquet4 the default block encoding #3810 (@ie-pham)
- [CHANGE] Azure v2 backend becomes the only and primary Azure backend #3875 (@zalegrala)
BREAKING CHANGE Theuse_v2_sdk
configuration option has been removed.
Features
- [FEATURE] TraceQL support for link scope and link:traceID and link:spanID #3741 (@stoewer)
- [FEATURE] TraceQL support for link attribute querying #3814 (@ie-pham)
- [FEATURE] TraceQL support for event scope and event:name intrinsic #3708 (@stoewer)
- [FEATURE] TraecQL support for event attributes #3708 (@ie-pham)
- [FEATURE] TraceQL support for event:timeSinceStart #3908 (@ie-pham)
- [FEATURE] Autocomplete support for events and links #3846 (@ie-pham)
- [FEATURE] Flush and query RF1 blocks for TraceQL metric queries #3628 #3691 #3723 (@mapno)
- [FEATURE] Add new compare() metrics function #3695 (@mdisibio)
- [FEATURE] Add new api
/api/metrics/query
for instant metrics queries #3859 (@mdisibio) - [FEATURE] Add a
q
parameter to/api/v2/search/tags
for tag name filtering #3822 (@joe-elliott) - [FEATURE] Add exemplars to TraceQL metrics #3824 (@mapno)
- [FEATURE] Added new middleware to block matching urls #3963 (@javiermolinar)
- [FEATURE] Flush and query RF1 blocks for TraceQL metric queries #3628 #3691 #3723 (@mapno) #3995 (@mdisibio)
- [FEATURE] Add support for generating native histograms from metrics-generator #3789 (@zalegrala, @kvrhdn)
Enhancements
- [ENHANCEMENT] Implement arrays for traceql.Static with reused fields #3827 (@stoewer)
- [ENHANCEMENT] Tag value lookup use protobuf internally for improved latency #3731 (@mdisibio)
- [ENHANCEMENT] TraceQL metrics queries use protobuf internally for improved latency #3745 (@mdisibio)
- [ENHANCEMENT] TraceQL search and other endpoints use protobuf internally for improved latency and resource usage #3944 (@mdisibio)
- [ENHANCEMENT] Add local disk caching of metrics queries in local-blocks processor #3799 (@mdisibio)
- [ENHANCEMENT] Improve use of OTEL semantic conventions on the service graph #3711 (@zalegrala)
- [ENHANCEMENT] Performance improvement for
rate() by ()
queries #3719 (@mapno) - [ENHANCEMENT] Performance improvement for queries using trace-level intrinsics #3920 (@mdisibio)
- [ENHANCEMENT] Use multiple goroutines to unmarshal responses in parallel in the query frontend. #3713 (@joe-elliott)
- [ENHANCEMENT] Protect ingesters from panics by adding defer/recover to all read path methods. #3790 (@joe-elliott)
- [ENHANCEMENT] Added a boolean flag to enable or disable dualstack mode on Storage block config for S3 #3721 (@sid-jar, @mapno)
- [ENHANCEMENT] Add caching to query range queries #3796 (@mapno)
- [ENHANCEMENT] Only stream diffs on metrics queries #3808 (@joe-elliott)
- [ENHANCEMENT] Add data quality metric to measure traces without a root #3812 (@mapno)
- [ENHANCEMENT] Added an example for running Tempo vulture #3829 (@javiermolinar)
- [ENHANCEMENT] Add a new helper method to allow debugging e2e tests #3836 (@javiermolinar)
- [ENHANCEMENT] Refactor Tempo Vulture to reduce code complexity #3850 (@javiermolinar)
- [ENHANCEMENT] Self document makefile #3844 (@javiermolinar)
- [ENHANCEMENT] Added a Tempo CLI command to drop traces by id by rewriting blocks. #3856 (@joe-elliott)
- [ENHANCEMENT] Mixin, make recording rule range interval configurable and increase range interval in alert to support scrape interval of 1 minute #3851 (@jmichalek132)
- [ENHANCEMENT] Add vParquet4 support to the tempo-cli analyse blocks command #3868 (@stoewer)
- [ENHANCEMENT] Improve trace id lookup from Tempo Vulture by selecting a date range #3874 (@javiermolinar)
- [ENHANCEMENT] Add native histograms for internal metrics#3870 (@zalegrala)
- [ENHANCEMENT] Expose availability-zone as a cli flag in ingester #3881
- [ENHANCEMENT] Rename batches property of Trace to ResourceSpans to be OTEL compatible #3895
- [ENHANCEMENT] Reduce memory consumption of query-frontend#3888 (@joe-elliott)
- [ENHANCEMENT] Reduce log level verbosity for e2e tests#3900 (@javiermolinar)
- [ENHANCEMENT] Added new Traces api V2#3912 (@javiermolinar)
- [ENHANCEMENT] Update to the latest dskit #3915 (@andreasgerstmayr)
- [ENHANCEMENT] Reduce allocs building queriers sharded requests #3932 (@javiermolinar)
- [ENHANCEMENT] Allow compaction disablement per-tenant #3965 (@zalegrala)
- [ENHANCEMENT] Implement polling tenants concurrently #3647 (@zalegrala)
- [ENHANCEMENT] Reduce allocs of caching middleware #3976 (@joe-elliott)
- [ENHANCEMENT] BlockMeta improvements to reduce the size #3950 #3951 #3952(@zalegrala)
- [ENHANCEMENT] Add bytes and spans received to usage stats #3983 (@joe-elliott)
Bugfixes
- [BUGFIX] Fix panic in certain metrics queries using
rate()
withby
#3847 (@stoewer) - [BUGFIX] Fix double appending the primary iterator on second pass with event iterator #3903 (@ie-pham)
- [BUGFIX] Fix metrics queries when grouping by attributes that may not exist #3734 (@mdisibio)
- [BUGFIX] Fix frontend parsing error on cached responses #3759 (@mdisibio)
- [BUGFIX] Fix autocomplete of a query using scoped instrinsics #3865 (@mdisibio)
- [BUGFIX] Fix metrics query histograms and quantiles on traceDuration #3879 (@mdisibio)
- [BUGFIX] Fix divide by 0 bug in query frontend exemplar calculations #3936 (@mdisibio)
- [BUGFIX] max_global_traces_per_user: take into account ingestion.tenant_shard_size when converting to local limit #3618 (@kvrhdn)
- [BUGFIX] Fix http connection reuse on GCP and AWS by reading io.EOF through the http body. #3760 (@bmteller)
- [BUGFIX] Improved handling of complete blocks in localblocks processor after enabling flusing #3805 (@mapno)
- [BUGFIX] Handle out of boundaries spans kinds #3861 (@javiermolinar)
- [BUGFIX] Maintain previous tenant blocklist on tenant errors #3860 (@zalegrala)
- [BUGFIX] Fix prefix handling in Azure backend Find() call #3875 (@zalegrala)
- [BUGFIX] BREAKING CHANGE Remove unused properties from the WAL configuration #3911 (@javiermolinar)
- [BUGFIX] Bring back OTEL receiver metrics #3917 (@javiermolinar)
- [BUGFIX] Correct block end time when the ingested traces are outside the ingestion slack #3954 (@javiermolinar)
- [BUGFIX] Fix race condition where a streaming response could be marshalled while being modified in the combiner resulting in a panic. #3961 (@joe-elliott)
- [BUGFIX] Pass search options to the backend for SearchTagValuesBlocksV2 requests #3971 (@javiermolinar)