0.8.0
At a high level, this release contains:
- Headline feature: Tracing data management
- Renamed CLI flags
- Add ability to configure chunk interval on startup
- Promscale PostgreSQL extension packages for various distributions
- Additional instrumentation and usage data
Headline feature: Trace data management
We've added some features to make the management of tracing data much simpler.
Promscale now supports configurable data retention for trace data. There are two new SQL functions: set_trace_retention_period(INTERVAL)
and get_trace_retention_interval()
. The default retention is set to 30 days.
We’ve also added a function to easily delete all trace data stored in the database: delete_all_traces()
.
Read more about how to use these new capabilities in the tracing documentation.
Improvements
Renamed CLI flags
We've worked on reorganizing and regrouping the CLI flags to make them easier to use. Almost all of the existing CLI flags have been changed. The old CLI flags can still be used, but will be removed in a future Promscale release. An overview of the current CLI flags is available in the Promscale repo at docs/cli.md. To get a hint for how to translate old flags to new flags, refer to flags.go which contains a translation map.
Add ability to configure default chunk interval on startup
Promscale stores all metric data points with the same metric name in a TimescaleDB hypertable. Hypertables are broken down into individual chunks for performance. Previously, configuring the chunk interval was only possible via an SQL interface, e.g. SELECT prom_api.set_default_chunk_interval(INTERVAL '1 hour');
. This release allows configuring default_chunk_interval
using the new Promscale dataset configuration. This is useful to ensure that even if Promscale starts receiving data immediately after it has been started (common in scenarios where the deployment is automated) that the chunk interval is also applied to the first chunk in each hypertable.
Promscale extension packages for various distributions
Promscale provides a PostgreSQL extension that improves the performance of PromQL and SQL queries. For that reason, we strongly recommend that you install the extension even though it is not strictly required.
Installation of the extension on non-Docker systems used to require downloading and installing the Promscale PostgreSQL extension manually. We now have packages available for the most popular Linux distributions making it easier to deploy the Promscale extension directly on hosts.
You can find the installation instructions in the promscale extension repository's README.
Additional instrumentation
We have added new metrics to the /metrics endpoint that provide counters and performance histograms for PromQL queries and queries from the Jaeger and Grafana distributed tracing UIs to retrieve traces:
promscale_executed_queries_total
promscale_queries_timed_out_total
promscale_trace_query_requests_executed_total
promscale_trace_fetch_traces_api_execution_duration_seconds
promscale_trace_dependency_requests_executed_total
Other
Additional usage data
We have added additional telemetry to the anonymous usage data we collect. We use this data to better understand how the community uses the product and as a result make our products better for our users. You can read more details in our documentation.
Bug fixes
- helm-charts: use fixed target port on svc-promscale [#1009]
- Fix passing of async flag [#1008]
- Remove the event_name_check constraint [#979]
- Fix _prom_catalog.metric_view() function on non-tsdb installs [#958]
Deprecations
The -migrate
cli flag was deprecated, use -startup.only
instead.
Breaking Changes
We changed the names of existing metrics which Promscale emits about itself:
promscale_sent_samples_total
was renamed topromscale_ingested_samples_total
promscale_failed_queries_total
was renamed topromscale_metrics_queries_failed_total
promscale_query_query_duration_seconds
was renamed topromscale_metrics_query_duration_seconds
promscale_query_batch_duration_seconds
was renamed topromscale_metrics_query_remote_read_batch_duration_seconds
Data retention for tracing is added and enabled by default in this release. The retention period is set to 30 days. Trace data older than 30 days will be automatically dropped. If you wish to change this retention period, use the ps_trace.set_span_retention_period(interval)
function.
The -promql-enable-feature
flag, which was deprecated in 0.7.0 has been removed. Please use -enable-feature
instead (see docs/cli.md).
The long-deprecated advisory-lock based leader election feature has been removed. Please use label-based leader election instead.
Thanks
We'd like to thank @aveuiller, @ptou, and @nmaludy for their pull requests, and tilpner for their bug report.