Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jan 15:58
· 596 commits to master since this release

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 to promscale_ingested_samples_total
  • promscale_failed_queries_total was renamed to promscale_metrics_queries_failed_total
  • promscale_query_query_duration_seconds was renamed to promscale_metrics_query_duration_seconds
  • promscale_query_batch_duration_seconds was renamed to promscale_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.