Releases: grafana/tempo
Releases · grafana/tempo
v2.1.1
Bugfixes
- [BUGFIX] Fix issue where Tempo sometimes flips booleans from false->true at storage time. #2400 (@joe-elliott)
v2.1.0
Breaking Changes
- [CHANGE] Breaking Change Remove support for search on v2 blocks. #2159 (@joe-elliott)
Removed config options:Removed metrics:overrides: max_search_bytes_per_trace: search_tags_allow_list: search_tags_deny_list:
tempo_ingester_trace_search_bytes_discarded_total
- [CHANGE] BREAKING CHANGE Change metrics prefixed with
cortex_
totempo_
#2204 (@mapno) - [ENHANCEMENT] Add Throughput and SLO Metrics with SLOConfig in Query Frontend #2008 (@electron0zero)
- BREAKING CHANGE
query_frontend_result_metrics_inspected_bytes
metric removed in favour ofquery_frontend_bytes_processed_per_second
- BREAKING CHANGE
Changes
- [CHANGE] Stop caching parquet files for search #2164 (@mapno)
- [CHANGE] Update Go to 1.20 #2079 (@scalalang2)
- [CHANGE] Upgrade OTel to v0.74.0 #2317 (@mapno)
Features
- [FEATURE] New parquet based block format vParquet2 #2244 (@stoewer)
- [FEATURE] Add support for Azure Workload Identity authentication #2195 (@LambArchie)
- [FEATURE] Add flag to check configuration #2131 (@robertscherbarth @agrib-01)
- [FEATURE] Add flag to optionally enable all available Go runtime metrics #2005 (@andreasgerstmayr)
- [FEATURE] Add support for span
kind
to TraceQL #2217 (@joe-elliott) - [FEATURE] Add support for min/max/sum aggregates to TraceQL#2255 (@joe-elliott)
Enhancements
- [ENHANCEMENT] Capture and update search metrics for TraceQL #2087 (@electron0zero)
- [ENHANCEMENT] Add support for s3 session token in static config #2093 (@farodin91)
- [ENHANCEMENT] Metrics generator to make use of counters earlier #2068 (@zalegrala)
- [ENHANCEMENT] Log when a trace is too large to compact #2105 (@scalalang2)
- [ENHANCEMENT] Add support for arbitrary arithemtic to TraceQL queries #2146 (@joe-elliott)
- [ENHANCEMENT] tempo-cli: add command to migrate a tenant #2130 (@kvrhdn)
- [ENHANCEMENT] Added the ability to multiple span metrics by an attribute such as
X-SampleRatio
#2172 (@altanozlu)
Bugfixes
- [BUGFIX] Correctly connect context during compaction #2220 (@ie-pham)
- [BUGFIX] Apply
rate()
to bytes/s panel in tenant's dashboard. #2081 (@mapno) - [BUGFIX] Retry copy operations during compaction in GCS backend #2111 (@mapno)
- [BUGFIX] Fix float/int comparisons in TraceQL. #2139 (@joe-elliott)
- [BUGFIX] Improve locking and search head block in SearchTagValuesV2 #2164 (@mapno)
- [BUGFIX] Fix not closing WAL block file before attempting to delete the folder. #2152 (@kostya9)
- [BUGFIX] Stop searching for virtual tags if there are any hits.
This prevents invalid values from showing up for intrinsics likestatus
#2219 (@joe-elliott) - [BUGFIX] Correctly return unique spans when &&ing and ||ing spansets. #2254 (@joe-elliott)
- [BUGFIX] Support negative values on aggregate filters like
count() > -1
. #2289 (@joe-elliott) - [BUGFIX] Support float as duration like
{duration > 1.5s}
[#2304]#2304 (@ie-pham)
v2.1.0-rc.0
Breaking Changes
- [CHANGE] Breaking Change Remove support for search on v2 blocks. #2159 (@joe-elliott)
Removed config options:Removed metrics:overrides: max_search_bytes_per_trace: search_tags_allow_list: search_tags_deny_list:
tempo_ingester_trace_search_bytes_discarded_total
- [CHANGE] BREAKING CHANGE Change metrics prefixed with
cortex_
totempo_
#2204 (@mapno) - [ENHANCEMENT] Add Throughput and SLO Metrics with SLOConfig in Query Frontend #2008 (@electron0zero)
- BREAKING CHANGE
query_frontend_result_metrics_inspected_bytes
metric removed in favour ofquery_frontend_bytes_processed_per_second
- BREAKING CHANGE
Changes
- [CHANGE] Stop caching parquet files for search #2164 (@mapno)
- [CHANGE] Update Go to 1.20 #2079 (@scalalang2)
- [CHANGE] Upgrade OTel to v0.74.0 #2317 (@mapno)
Features
- [FEATURE] New parquet based block format vParquet2 #2244 (@stoewer)
- [FEATURE] Add support for Azure Workload Identity authentication #2195 (@LambArchie)
- [FEATURE] Add flag to check configuration #2131 (@robertscherbarth @agrib-01)
- [FEATURE] Add flag to optionally enable all available Go runtime metrics #2005 (@andreasgerstmayr)
- [FEATURE] Add support for span
kind
to TraceQL #2217 (@joe-elliott) - [FEATURE] Add support for min/max/sum aggregates to TraceQL#2255 (@joe-elliott)
Enhancements
- [ENHANCEMENT] Capture and update search metrics for TraceQL #2087 (@electron0zero)
- [ENHANCEMENT] Add support for s3 session token in static config #2093 (@farodin91)
- [ENHANCEMENT] Metrics generator to make use of counters earlier #2068 (@zalegrala)
- [ENHANCEMENT] Log when a trace is too large to compact #2105 (@scalalang2)
- [ENHANCEMENT] Add support for arbitrary arithemtic to TraceQL queries #2146 (@joe-elliott)
- [ENHANCEMENT] tempo-cli: add command to migrate a tenant #2130 (@kvrhdn)
- [ENHANCEMENT] Added the ability to multiple span metrics by an attribute such as
X-SampleRatio
#2172 (@altanozlu)
Bugfixes
- [BUGFIX] Correctly connect context during compaction #2220 (@ie-pham)
- [BUGFIX] Apply
rate()
to bytes/s panel in tenant's dashboard. #2081 (@mapno) - [BUGFIX] Retry copy operations during compaction in GCS backend #2111 (@mapno)
- [BUGFIX] Fix float/int comparisons in TraceQL. #2139 (@joe-elliott)
- [BUGFIX] Improve locking and search head block in SearchTagValuesV2 #2164 (@mapno)
- [BUGFIX] Fix not closing WAL block file before attempting to delete the folder. #2139 (@kostya9)
- [BUGFIX] Stop searching for virtual tags if there are any hits.
This prevents invalid values from showing up for intrinsics likestatus
#2219 (@joe-elliott) - [BUGFIX] Correctly return unique spans when &&ing and ||ing spansets. #2254 (@joe-elliott)
- [BUGFIX] Support negative values on aggregate filters like
count() > -1
. #2289 (@joe-elliott) - [BUGFIX] Support float as duration like
{duration > 1.5s}
[#2304]#2304 (@ie-pham)
v2.0.1
Changes
- [CHANGE] No longer return
status.code
from /api/search/tags unless it is an attribute present in the data #2059 (@mdisibio) - [CHANGE] Pad leading zeroes in span id to always be 16 chars #2062 (@ie-pham)
Bugfixes
- [BUGFIX] Suppress logspam in single binary mode when metrics generator is disabled. #2058 (@joe-elliott)
- [BUGFIX] Error more gracefully while reading some blocks written by an interim commit between 1.5 and 2.0 #2055 (@mdisibio)
- [BUGFIX] Correctly coalesce trace level data when combining Parquet traces. #2095 (@joe-elliott)
- [BUGFIX] Unescape query parameters in AWS Lambda to allow TraceQL queries to work. #2114 (@joe-elliott)
v2.0.0
Breaking Changes
Config
- [CHANGE] BREAKING CHANGE Use snake case on Azure Storage config #1879 (@faustodavid)
Example of using snake case on Azure Storage config:# config.yaml storage: trace: azure: storage_account_name: storage_account_key: container_name:
- [CHANGE] Config updates to prepare for Tempo 2.0. #1978 (@joe-elliott)
query_frontend: query_shards: // removed. use trace_by_id.query_shards querier: query_timeout: // removed. use trace_by_id.query_timeout compactor: compaction: chunk_size_bytes: // renamed to v2_in_buffer_bytes flush_size_bytes: // renamed to v2_out_buffer_bytes iterator_buffer_size: // renamed to v2_prefetch_traces_count ingester: use_flatbuffer_search: // removed. automatically set based on block type storage: traces: wal: encoding: // renamed to v2_encoding version: // removed and pinned to block.version block: index_downsample_bytes: // renamed to v2_index_downsample_bytes index_page_size_bytes: // renamed to v2_index_page_size_bytes encoding: // renamed to v2_encoding row_group_size_bytes: // renamed to parquet_row_group_size_bytes
- [CHANGE] BREAKING CHANGE Remove
search_enabled
andmetrics_generator_enabled
. Both default to true. #2004 (@joe-elliott) - [CHANGE] BREAKING CHANGE Parquet is the new default block version #1678
To continue using the v2 backend set:storage: trace: block: version: v2
Jsonnet
- [CHANGE] Delete TempoRequestErrors alert from mixin #1810 (@zalegrala)
- BREAKING CHANGE Any jsonnet users relying on this alert should copy this into their own environment.
Metrics Generator
- [CHANGE] metrics-generator: handle collisions between user defined and default dimensions #1794 (@stoewer)
BREAKING CHANGE Custom dimensions colliding with intrinsic dimensions will be prefixed with__
.
Changes
- [CHANGE] Increase default values for
server.grpc_server_max_recv_msg_size
andserver.grpc_server_max_send_msg_size
from 4MB to 16MB #1688 (@mapno) - [CHANGE] Update Go to 1.19 #1665 (@ie-pham)
- [CHANGE] Update alpine image version to 3.16. #1784 (@zalegrala)
- [CHANGE] Config updates to prepare for Tempo 2.0. #1978 (@joe-elliott)
Defaults updated:query_frontend: max_oustanding_per_tenant: 2000 search: concurrent_jobs: 1000 target_bytes_per_job: 104857600 max_duration: 168h query_ingesters_until: 30m trace_by_id: query_shards: 50 querier: max_concurrent_queries: 20 search: prefer_self: 10 ingester: concurrent_flushes: 4 max_block_duration: 30m max_block_bytes: 524288000 storage: trace: pool: max_workers: 400 queue_depth: 20000 search: read_buffer_count: 32 read_buffer_size_bytes: 1048576
Features
- [FEATURE] TraceQL Phase 1 support. A new query language for traces!
- [FEATURE] Parquet backend is GA and default. By default Tempo will create Parquet blocks to enhance search performance
and to provide users with their data in an open format. See breaking changes above for a note on how to continue using older backends. - [FEATURE] Add generic forwarder and implement otlpgrpc forwarder #1775 (@Blinkuu)
New config options and example configuration:# config.yaml distributor: forwarders: - name: "otel-forwarder" backend: "otlpgrpc" otlpgrpc: endpoints: ['otelcol:4317'] tls: insecure: true # overrides.yaml overrides: "example-tenant-1": forwarders: ['otel-forwarder'] "example-tenant-2": forwarders: ['otel-forwarder']
Enhancements
- [ENHANCEMENT] Add
/status/usage-stats
endpoint to show usage stats data #1782 (@electron0zero) - [ENHANCEMENT] Add TLS support to jaeger query plugin. #1999 (@rubenvp8510)
- [ENHANCEMENT] Collect inspectedBytes from SearchMetrics #1975 (@electron0zero)
- [ENHANCEMENT] Add zone awareness replication for ingesters. #1936 (@manohar-koukuntla)
# use the following fields in _config field of jsonnet config, to enable zone aware ingester
multi_zone_ingester_enabled: false,
multi_zone_ingester_migration_enabled: false,
multi_zone_ingester_replicas: 0,
multi_zone_ingester_max_unavailable: 25,
- [ENHANCEMENT] Add new data-type aware searchtagvalues v2 api #1956 (@mdisibio)
- [ENHANCEMENT] Filter namespace by cluster in tempo dashboards variables #1771 (@electron0zero)
- [ENHANCEMENT] Exit early from sharded search requests #1742 (@electron0zero)
- [ENHANCEMENT] Avoid running tempodb pool jobs with a cancelled context #1852 (@zalegrala)
- [ENHANCEMENT] Add config flag to allow for compactor disablement for debug purposes #1850 (@zalegrala)
- [ENHANCEMENT] Identify bloom that could not be retrieved from backend block #1737 (@AlexDHoffer)
- [ENHANCEMENT] tempo: check configuration returns now a list of warnings #1663 (@frzifus)
- [ENHANCEMENT] Make DNS address fully qualified to reduce DNS lookups in Kubernetes #1687 (@electron0zero)
- [ENHANCEMENT] Return 200 instead of 206 when blocks failed is < tolerate_failed_blocks. #1725 (@joe-elliott)
- [ENHANCEMENT] Add GOMEMLIMIT variable to compactor jsonnet and set the value to equal compactor memory limit. #1758 (@ie-pham)
- [ENHANCEMENT] Add capability to configure the used S3 Storage Class #1697 (@amitsetty)
- [ENHANCEMENT] cache: expose username and sentinel_username redis configuration options for ACL-based Redis Auth support #1708 (@jsievenpiper)
- [ENHANCEMENT] metrics-generator: expose span size as a metric #1662 (@ie-pham)
- [ENHANCEMENT] Set Max Idle connections to 100 for Azure, should reduce DNS errors in Azure #1632 (@electron0zero)
- [ENHANCEMENT] Add PodDisruptionBudget to ingesters in jsonnet #1691 (@joe-elliott)
- [ENHANCEMENT] Add a cli command to convert a block to the current parquet schema. #1707 (@joe-elliott)
- [ENHANCEMENT] metrics-generator: filter out older spans before metrics are aggregated #1612 (@ie-pham)
- [ENHANCEMENT] Add hedging to trace by ID lookups created by the frontend. #1735 (@mapno)
New config options and defaults:
query_frontend:
trace_by_id:
hedge_requests_at: 5s
hedge_requests_up_to: 3
- [ENHANCEMENT] Vulture now has improved distribution of the random traces it searches. #1763 (@rfratto)
- [ENHANCEMENT] Add TLS support to the vulture #1874 (@zalegrala)
- [ENHANCEMENT] metrics-generator: extract
status_message
field from spans #1786, #1794 (@stoewer) - [ENHANCEMENT] metrics-generator: handle collisions between user defined and default dimensions #1794 (@stoewer)
- [ENHANCEMENT] metrics-generator: make intrinsic dimensions configurable and disable
status_message
by default #1960 (@stoewer) - [ENHANCEMENT] distributor: Log span names when
distributor.log_received_spans.include_all_attributes
is on #1790 (@suraciii) - [ENHANCEMENT] metrics-generator: truncate label names and values exceeding a configurable length #1897 (@kvrhdn)
- [ENHANCEMENT] Convert last few Jsonnet alerts with per_cluster_label #2000 (@Whyeasy)
- [ENHANCEMENT] New tenant dashboard #1901 (@mapno)
- [ENHANCEMENT] Upgrade opentelemetry-proto submodule to v0.18.0 Internal types are updated to use
scope
instead ofinstrumentation_library
.
This is a breaking change in trace by ID queries if JSON is requested. #1754 (@mapno)
Bugfix...
v2.0.0-rc.0
Breaking Changes
Config
- [CHANGE] BREAKING CHANGE Use snake case on Azure Storage config #1879 (@faustodavid)
Example of using snake case on Azure Storage config:# config.yaml storage: trace: azure: storage_account_name: storage_account_key: container_name:
- [CHANGE] Config updates to prepare for Tempo 2.0. #1978 (@joe-elliott)
query_frontend: query_shards: // removed. use trace_by_id.query_shards querier: query_timeout: // removed. use trace_by_id.query_timeout compactor: compaction: chunk_size_bytes: // renamed to v2_in_buffer_bytes flush_size_bytes: // renamed to v2_out_buffer_bytes iterator_buffer_size: // renamed to v2_prefetch_traces_count ingester: use_flatbuffer_search: // removed. automatically set based on block type storage: traces: wal: encoding: // renamed to v2_encoding version: // removed and pinned to block.version block: index_downsample_bytes: // renamed to v2_index_downsample_bytes index_page_size_bytes: // renamed to v2_index_page_size_bytes encoding: // renamed to v2_encoding row_group_size_bytes: // renamed to parquet_row_group_size_bytes
- [CHANGE] BREAKING CHANGE Remove
search_enabled
andmetrics_generator_enabled
. Both default to true. #2004 (@joe-elliott) - [CHANGE] BREAKING CHANGE Parquet is the new default block version #1678
To continue using the v2 backend set:storage: trace: block: version: v2
Jsonnet
- [CHANGE] Delete TempoRequestErrors alert from mixin #1810 (@zalegrala)
- BREAKING CHANGE Any jsonnet users relying on this alert should copy this into their own environment.
Metrics Generator
- [CHANGE] metrics-generator: handle collisions between user defined and default dimensions #1794 (@stoewer)
BREAKING CHANGE Custom dimensions colliding with intrinsic dimensions will be prefixed with__
.
Changes
- [CHANGE] Increase default values for
server.grpc_server_max_recv_msg_size
andserver.grpc_server_max_send_msg_size
from 4MB to 16MB #1688 (@mapno) - [CHANGE] Update Go to 1.19 #1665 (@ie-pham)
- [CHANGE] Update alpine image version to 3.16. #1784 (@zalegrala)
- [CHANGE] Config updates to prepare for Tempo 2.0. #1978 (@joe-elliott)
Defaults updated:query_frontend: max_oustanding_per_tenant: 2000 search: concurrent_jobs: 1000 target_bytes_per_job: 104857600 max_duration: 168h query_ingesters_until: 30m trace_by_id: query_shards: 50 querier: max_concurrent_queries: 20 search: prefer_self: 10 ingester: concurrent_flushes: 4 max_block_duration: 30m max_block_bytes: 524288000 storage: trace: pool: max_workers: 400 queue_depth: 20000 search: read_buffer_count: 32 read_buffer_size_bytes: 1048576
Features
- [FEATURE] TraceQL Phase 1 support. A new query language for traces!
- [FEATURE] Parquet backend is GA and default. By default Tempo will create Parquet blocks to enhance search performance
and to provide users with their data in an open format. See breaking changes above for a note on how to continue using older backends. - [FEATURE] Add generic forwarder and implement otlpgrpc forwarder #1775 (@Blinkuu)
New config options and example configuration:# config.yaml distributor: forwarders: - name: "otel-forwarder" backend: "otlpgrpc" otlpgrpc: endpoints: ['otelcol:4317'] tls: insecure: true # overrides.yaml overrides: "example-tenant-1": forwarders: ['otel-forwarder'] "example-tenant-2": forwarders: ['otel-forwarder']
Enhancements
- [ENHANCEMENT] Add
/status/usage-stats
endpoint to show usage stats data #1782 (@electron0zero) - [ENHANCEMENT] Add TLS support to jaeger query plugin. #1999 (@rubenvp8510)
- [ENHANCEMENT] Collect inspectedBytes from SearchMetrics #1975 (@electron0zero)
- [ENHANCEMENT] Add zone awareness replication for ingesters. #1936 (@manohar-koukuntla)
# use the following fields in _config field of jsonnet config, to enable zone aware ingester
multi_zone_ingester_enabled: false,
multi_zone_ingester_migration_enabled: false,
multi_zone_ingester_replicas: 0,
multi_zone_ingester_max_unavailable: 25,
- [ENHANCEMENT] Add new data-type aware searchtagvalues v2 api #1956 (@mdisibio)
- [ENHANCEMENT] Filter namespace by cluster in tempo dashboards variables #1771 (@electron0zero)
- [ENHANCEMENT] Exit early from sharded search requests #1742 (@electron0zero)
- [ENHANCEMENT] Avoid running tempodb pool jobs with a cancelled context #1852 (@zalegrala)
- [ENHANCEMENT] Add config flag to allow for compactor disablement for debug purposes #1850 (@zalegrala)
- [ENHANCEMENT] Identify bloom that could not be retrieved from backend block #1737 (@AlexDHoffer)
- [ENHANCEMENT] tempo: check configuration returns now a list of warnings #1663 (@frzifus)
- [ENHANCEMENT] Make DNS address fully qualified to reduce DNS lookups in Kubernetes #1687 (@electron0zero)
- [ENHANCEMENT] Return 200 instead of 206 when blocks failed is < tolerate_failed_blocks. #1725 (@joe-elliott)
- [ENHANCEMENT] Add GOMEMLIMIT variable to compactor jsonnet and set the value to equal compactor memory limit. #1758 (@ie-pham)
- [ENHANCEMENT] Add capability to configure the used S3 Storage Class #1697 (@amitsetty)
- [ENHANCEMENT] cache: expose username and sentinel_username redis configuration options for ACL-based Redis Auth support #1708 (@jsievenpiper)
- [ENHANCEMENT] metrics-generator: expose span size as a metric #1662 (@ie-pham)
- [ENHANCEMENT] Set Max Idle connections to 100 for Azure, should reduce DNS errors in Azure #1632 (@electron0zero)
- [ENHANCEMENT] Add PodDisruptionBudget to ingesters in jsonnet #1691 (@joe-elliott)
- [ENHANCEMENT] Add a cli command to convert a block to the current parquet schema. #1707 (@joe-elliott)
- [ENHANCEMENT] metrics-generator: filter out older spans before metrics are aggregated #1612 (@ie-pham)
- [ENHANCEMENT] Add hedging to trace by ID lookups created by the frontend. #1735 (@mapno)
New config options and defaults:
query_frontend:
trace_by_id:
hedge_requests_at: 5s
hedge_requests_up_to: 3
- [ENHANCEMENT] Vulture now has improved distribution of the random traces it searches. #1763 (@rfratto)
- [ENHANCEMENT] Add TLS support to the vulture #1874 (@zalegrala)
- [ENHANCEMENT] metrics-generator: extract
status_message
field from spans #1786, #1794 (@stoewer) - [ENHANCEMENT] metrics-generator: handle collisions between user defined and default dimensions #1794 (@stoewer)
- [ENHANCEMENT] metrics-generator: make intrinsic dimensions configurable and disable
status_message
by default #1960 (@stoewer) - [ENHANCEMENT] distributor: Log span names when
distributor.log_received_spans.include_all_attributes
is on #1790 (@suraciii) - [ENHANCEMENT] metrics-generator: truncate label names and values exceeding a configurable length #1897 (@kvrhdn)
- [ENHANCEMENT] Convert last few Jsonnet alerts with per_cluster_label #2000 (@Whyeasy)
- [ENHANCEMENT] New tenant dashboard #1901 (@mapno)
- [ENHANCEMENT] Upgrade opentelemetry-proto submodule to v0.18.0 Internal types are updated to use
scope
instead ofinstrumentation_library
.
This is a breaking change in trace by ID queries if JSON is requested. #1754 (@mapno)
Bugfix...
v1.5.0
Breaking Changes
- (#1478) In order to build advanced visualization features into Grafana we have decided to change our spanmetric names to match OTel conventions. This way any functionality added to Grafana will work whether you use Tempo, Grafana Agent or the OTel Collector to generate metrics. Details in the span metrics documentation.
- (#1556) Jsonnet users will need to specify ephemeral storage requests and limits for the metrics generator.
- (#1481) Anonymous usage reporting has been added. Distributors and metrics generators will now require permissions to object storage equivalent to compactors and ingesters. This feature is enabled by default but can be disabled easily.
- (#1558) Deprecated metrics
tempodb_(gcs|s3|azure)_request_duration_seconds
have been removed in favor oftempodb_backend_request_duration_seconds
.
Changes
- [CHANGE] metrics-generator: Changed added metric label
instance
to__metrics_gen_instance
to reduce collisions with custom dimensions. #1439 (@joe-elliott) - [CHANGE] Don't enforce
max_bytes_per_tag_values_query
when set to 0. #1447 (@joe-elliott) - [CHANGE] Add new querier service in deployment jsonnet to serve
/status
endpoint. #1474 (@annanay25) - [CHANGE] Swapped out Google Cloud Functions serverless docs and build for Google Cloud Run. #1483 (@joe-elliott)
- [CHANGE] BREAKING CHANGE Change spanmetrics metric names and labels to match OTel conventions. #1478 (@mapno)
Old metric names:
traces_spanmetrics_duration_seconds_{sum,count,bucket}
New metric names:
traces_spanmetrics_latency_{sum,count,bucket}
Additionally, default label span_status
is renamed to status_code
.
- [CHANGE] Update to Go 1.18 #1504 (@annanay25)
- [CHANGE] Change tag/value lookups to return partial results when reaching response size limit instead of failing #1517 (@mdisibio)
- [CHANGE] Change search to be case-sensitive #1547 (@mdisibio)
- [CHANGE] Relax Hedged request defaults for external endpoints. #1566 (@joe-elliott)
querier: search: external_hedge_requests_at: 4s -> 8s external_hedge_requests_up_to: 3 -> 2
- [CHANGE] BREAKING CHANGE Include emptyDir for metrics generator wal storage in jsonnet #1556 (@zalegrala)
Jsonnet users will now need to specify a storage request and limit for the generator wal.
_config+:: {
metrics_generator+: {
ephemeral_storage_request_size: '10Gi',
ephemeral_storage_limit_size: '11Gi',
},
}
- [CHANGE] Two additional latency buckets added to the default settings for generated spanmetrics. Note that this will increase cardinality when using the defaults. #1593 (@fredr)
- [CHANGE] Mark
log_received_traces
as deprecated. New flag islog_received_spans
.
Extend distributor spans logger with optional features to include span attributes and a filter by error status. #1465 (@faustodavid)
Features
- [FEATURE] Add parquet block format #1479 #1531 #1564 (@annanay25, @mdisibio)
- [FEATURE] Add anonymous usage reporting, enabled by default. #1481 (@zalegrala)
BREAKING CHANGE As part of the usage stats inclusion, the distributor will also require access to the store. This is required so the distirbutor can know which cluster it should be reporting membership of. - [FEATURE] Include messaging systems and databases in service graphs. #1576 (@kvrhdn)
Enhancements
- [ENHANCEMENT] Added the ability to have a per tenant max search duration. #1421 (@joe-elliott)
- [ENHANCEMENT] metrics-generator: expose max_active_series as a metric #1471 (@kvrhdn)
- [ENHANCEMENT] Azure Backend: Add support for authentication with Managed Identities. #1457 (@joe-elliott)
- [ENHANCEMENT] Add metric to track feature enablement #1459 (@zalegrala)
- [ENHANCEMENT] Added s3 config option
insecure_skip_verify
#1470 (@zalegrala) - [ENHANCEMENT] Added polling option to reduce issues in Azure
blocklist_poll_jitter_ms
#1518 (@joe-elliott) - [ENHANCEMENT] Add a config to query single ingester instance based on trace id hash for Trace By ID API. (1484)[https://github.com//pull/1484] (@sagarwala, @bikashmishra100, @ashwinidulams)
- [ENHANCEMENT] Add blocklist metrics for total backend objects and total backend bytes #1519 (@ie-pham)
- [ENHANCEMENT] Adds
tempo_querier_external_endpoint_hedged_roundtrips_total
to count the total hedged requests #1558 (@joe-elliott)
BREAKING CHANGE Removed deprecated metricstempodb_(gcs|s3|azure)_request_duration_seconds
in favor oftempodb_backend_request_duration_seconds
. These metrics
have been deprecated since v1.1. - [ENHANCEMENT] Add tags option for s3 backends. This allows new objects to be written with the configured tags. #1442 (@stevenbrookes)
- [ENHANCEMENT] metrics-generator: support per-tenant processor configuration #1434 (@kvrhdn)
- [ENHANCEMENT] Include rollout dashboard #1456 (@zalegrala)
- [ENHANCEMENT] Add SentinelPassword configuration for Redis #1463 (@zalegrala)
- [ENHANCEMENT] Add support for time picker in jaeger query plugin. #1631 (@rubenvp8510)
Bugfixes
- [BUGFIX] Fix nil pointer panic when the trace by id path errors. #1441 (@joe-elliott)
- [BUGFIX] Update tempo microservices Helm values example which missed the 'enabled' key for thriftHttp. #1472 (@hajowieland)
- [BUGFIX] Fix race condition in forwarder overrides loop. 1468 (@mapno)
- [BUGFIX] Fix v2 backend check on span name to be substring #1538 (@mdisibio)
- [BUGFIX] Fix wal check on span name to be substring #1548 (@mdisibio)
- [BUGFIX] Prevent ingester panic "cannot grow buffer" #1258 (@mdisibio)
- [BUGFIX] metrics-generator: do not remove x-scope-orgid header in single tenant modus #1554 (@kvrhdn)
- [BUGFIX] Fixed issue where backend does not support
root.name
androot.service.name
#1589 (@kvrhdn) - [BUGFIX] Fixed ingester to continue starting up after block replay error #1603 (@mdisibio)
v1.5.0-rc.2
v1.5.0-rc.1
v1.5.0-rc.0
Breaking Changes
- (#1478) In order to build advanced visualization features into Grafana we have decided to change our spanmetric names to match OTel conventions. This way any functionality added to Grafana will work whether you use Tempo, Grafana Agent or the OTel Collector to generate metrics. Details below.
- (#1556) Jsonnet users will need to specify ephemeral storage requests and limits for the metrics generator.
- (#1481) Anonymous usage reporting has been added. Distributors and metrics generators will now require permissions to object storage equivalent to compactors and ingesters. This feature is enabled by default but can be disabled easily.
- (#1558) Deprecated metrics
tempodb_(gcs|s3|azure)_request_duration_seconds
have been removed in favor oftempodb_backend_request_duration_seconds
.
Changes
- [CHANGE] metrics-generator: Changed added metric label
instance
to__metrics_gen_instance
to reduce collisions with custom dimensions. #1439 (@joe-elliott) - [CHANGE] Don't enforce
max_bytes_per_tag_values_query
when set to 0. #1447 (@joe-elliott) - [CHANGE] Add new querier service in deployment jsonnet to serve
/status
endpoint. #1474 (@annanay25) - [CHANGE] Swapped out Google Cloud Functions serverless docs and build for Google Cloud Run. #1483 (@joe-elliott)
- [CHANGE] BREAKING CHANGE Change spanmetrics metric names and labels to match OTel conventions. #1478 (@mapno)
Old metric names:
traces_spanmetrics_duration_seconds_{sum,count,bucket}
New metric names:
traces_spanmetrics_latency_{sum,count,bucket}
Additionally, default label span_status
is renamed to status_code
.
- [CHANGE] Update to Go 1.18 #1504 (@annanay25)
- [CHANGE] Change tag/value lookups to return partial results when reaching response size limit instead of failing #1517 (@mdisibio)
- [CHANGE] Change search to be case-sensitive #1547 (@mdisibio)
- [CHANGE] Relax Hedged request defaults for external endpoints. #1566 (@joe-elliott)
querier: search: external_hedge_requests_at: 4s -> 8s external_hedge_requests_up_to: 3 -> 2
- [CHANGE] BREAKING CHANGE Include emptyDir for metrics generator wal storage in jsonnet #1556 (@zalegrala)
Jsonnet users will now need to specify a storage request and limit for the generator wal.
_config+:: {
metrics_generator+: {
ephemeral_storage_request_size: '10Gi',
ephemeral_storage_limit_size: '11Gi',
},
}
- [CHANGE] Two additional latency buckets added to the default settings for generated spanmetrics. Note that this will increase cardinality when using the defaults. #1593 (@fredr)
- [CHANGE] Mark
log_received_traces
as deprecated. New flag islog_received_spans
.
Extend distributor spans logger with optional features to include span attributes and a filter by error status. #1465 (@faustodavid)
Features
- [FEATURE] Add parquet block format #1479 #1531 #1564 (@annanay25, @mdisibio)
- [FEATURE] Add anonymous usage reporting, enabled by default. #1481 (@zalegrala)
BREAKING CHANGE As part of the usage stats inclusion, the distributor will also require access to the store. This is required so the distirbutor can know which cluster it should be reporting membership of. - [FEATURE] Include messaging systems and databases in service graphs. #1576 (@kvrhdn)
Enhancements
- [ENHANCEMENT] Added the ability to have a per tenant max search duration. #1421 (@joe-elliott)
- [ENHANCEMENT] metrics-generator: expose max_active_series as a metric #1471 (@kvrhdn)
- [ENHANCEMENT] Azure Backend: Add support for authentication with Managed Identities. #1457 (@joe-elliott)
- [ENHANCEMENT] Add metric to track feature enablement #1459 (@zalegrala)
- [ENHANCEMENT] Added s3 config option
insecure_skip_verify
#1470 (@zalegrala) - [ENHANCEMENT] Added polling option to reduce issues in Azure
blocklist_poll_jitter_ms
#1518 (@joe-elliott) - [ENHANCEMENT] Add a config to query single ingester instance based on trace id hash for Trace By ID API. (1484)[https://github.com//pull/1484] (@sagarwala, @bikashmishra100, @ashwinidulams)
- [ENHANCEMENT] Add blocklist metrics for total backend objects and total backend bytes #1519 (@ie-pham)
- [ENHANCEMENT] Adds
tempo_querier_external_endpoint_hedged_roundtrips_total
to count the total hedged requests #1558 (@joe-elliott)
BREAKING CHANGE Removed deprecated metricstempodb_(gcs|s3|azure)_request_duration_seconds
in favor oftempodb_backend_request_duration_seconds
. These metrics
have been deprecated since v1.1. - [ENHANCEMENT] Add tags option for s3 backends. This allows new objects to be written with the configured tags. #1442 (@stevenbrookes)
- [ENHANCEMENT] metrics-generator: support per-tenant processor configuration #1434 (@kvrhdn)
- [ENHANCEMENT] Include rollout dashboard #1456 (@zalegrala)
- [ENHANCEMENT] Add SentinelPassword configuration for Redis #1463 (@zalegrala)
Bugfixes
- [BUGFIX] Fix nil pointer panic when the trace by id path errors. #1441 (@joe-elliott)
- [BUGFIX] Update tempo microservices Helm values example which missed the 'enabled' key for thriftHttp. #1472 (@hajowieland)
- [BUGFIX] Fix race condition in forwarder overrides loop. 1468 (@mapno)
- [BUGFIX] Fix v2 backend check on span name to be substring #1538 (@mdisibio)
- [BUGFIX] Fix wal check on span name to be substring #1548 (@mdisibio)
- [BUGFIX] Prevent ingester panic "cannot grow buffer" #1258 (@mdisibio)
- [BUGFIX] metrics-generator: do not remove x-scope-orgid header in single tenant modus #1554 (@kvrhdn)
- [BUGFIX] Fixed issue where backend does not support
root.name
androot.service.name
#1589 (@kvrhdn) - [BUGFIX] Fixed ingester to continue starting up after block replay error #1603 (@mdisibio)