Project: Promscale (Observability and Analysis / Observability)
File: CHANGELOG.md

All notable changes to this project are documented in this file. The format is based on , and this project adheres to . We use the following categories for changes: `Added` for new features. `Changed` for changes in existing functionality. `Deprecated` for soon-to-be removed features. `Removed` for now removed features. `Fixed` for any bug fixes. `Security` in case of vulnerabilities. COPY commands are executed in a single DB roundtrip instead of two [#1814] Add support for PostgreSQL 15 Alerts from promscale monitoring mixin are groupped also by namespace label [#1714] Added a new family of metrics tracking database maintenance jobs durations and failures [#1745] Allow config options in file to be set as yaml mappings [#1737] Add `startup.dataset` option in the config file for the dataset configuration. Supersedes `startup.dataset.config` which accepts a string instead of a mapping [#1737] Add alert to notify about duplicate sample/metric ingestion. [#1688] Add histogram to track number samples/metadata/span sent per request [#1767] Reduced the verbosity of the logs emitted by the vacuum engine [#1715] The vacuum engine now throttles the number of workers used based on the oldest txid from the chunks needing freezing [#1761] In order to reduce the overall load on the system, some internal database metrics won't be collected as often as they used to. None of the affected metrics is expected to change faster than its new collection interval [#1793] Aggregate metrics at global level to avoid legend pollution in dashboards [#1800] The vacuum engine now looks for compressed chunks missing stats and vacuums these too [#1804] Fixing the query behind chunks_uncompressed. The new definition should change the baseline value [#1794] Integration tests to qualify as certified Jaeger remote storage [#1686] Fix queries returning no references/links when querying traces that were ingested using the native Jaeger API. Fix traces queries returning duplicated events and links (or logs and references in Jaeger) for traces with more than one event and one link. Fix incorrect reference types when retrieving Jaeger traces with multiple parent references [#1681]. Fix incorrect population of span kind field in jaeger getOperations response [#1686] Improved query performance when getting trace by id [#1626] prom-migrator: Support for passing custom HTTP headers via command line arguments for both reader and writer [#1020] Run timescaledb-tune with the promscale profile [#1615] Propagate the context from received HTTP read requests downstream to database requests [#1205] Add cmd flag `web.auth.ignore-path` to skip http paths from authentication [#1637] Add cmd flag `tracing.streaming-span-writer` to enable/disable streaming span writer. It is enabled by default. [#1633]. Enable tracing.async-acks by default [#1633]. Sizes of maintenance worker backlogs exposed as database metrics on the Promscale dashboard [#1634] Added a vacuum engine that detects and vacuums/freezes compressed chunks [#1648] Add pool of database connections for maintenance jobs e.g. telemetry [#1657] Metrics for long-running statements and locks originating from maintenance jobs. [#1661] Log throughput in the same line for samples, spans and metric metadata [#1643] The `chunks_created` metrics was

[#1634] Stop logging as an error grpc NotFound and Canceled status codes [#1645] TimescaleDB is now mandatory [#1660]. When querying for Jaeger tags with binary values the binary data will be returned instead of the base64 representation of the string [#1649]. Reuse ingestion temp tables across batches [#1679] Do not collect telemetry if `timescaledb.telemetry_level=off` [#1612] Fix broken cache eviction in clockcache [#1603] Possible goroutine leak due to unbuffered channel in select block [#1604] Wrap extension upgrades in an explicit transaction [#1665] Implement Jaeger gRPC remote storage writer interface [#1543] Batching for traces to improve ingest performance along with CLI flags for better control [#1554] Helm chart now ships a JSON Schema for imposing a structure of the values.yaml file [#1551] Helm chart code was migrated to https://github.com/timescale/helm-charts [#1562] Deprecate flag `tracing.otlp.server-address` in favour of `tracing.grpc.server-address` [#1588] Make Jaeger Event queryable using name and tags [#1553] Reset inverted labels cache on epoch change [#1561] Error `column "exemplarlabelvalues" does not exist (SQLSTATE 42703)` on ingesting exemplars [#1574] `/labels` & `/label/{name}/values` to respond with labels of authorized tenants only [#1577] Network latency metric [#1431] Ability to configure reader-pool and writer-pool sizes [#1451] Add ability to specify Deployment annotations and Pod annotations in helm charts [#1495] Deprecate `openTelemetry` and `prometheus` top-level objects in helm chart in favour of `.service.openTelemetry` and `.service.prometheus` [#1495] Allow disabling exposition of promscale port in Service object. [#1495] Enable prometheus annotation based scraping only when ServiceMonitor is disabled. [#1495] `db.connections.writer-pool.synchronous-commit` controls whether synchronous_commit is enabled/disabled for writer database connections. [#1499] `db.num-writer-connections` now sets the absolute number of write connections for writing metrics. [#1430] Remove flaky PromscaleCacheTooSmall alert [#1498] Refine check for existence of `promschemamigrations` table [#1452] Do not run rules-manager in `-db.read-only` mode [#1451] Fix underlying metric(`promscalesqldatabasechunkscount`) which leads to false positive firing of PromscaleCompressionLow alert [#1494] Querying traces using boolean tag values [#1457] Fix RE2 regex support for label matching [#1441] `-enable-feature=promql-per-step-stats` feature for statistics in PromQL evaluation Add `readinessProbe` in helm chart [#1266] Set number of ingest copiers to the number of DB CPUs [#1387] Ability to reload rules and alerting config [#1426] Support arrays in trace attribute values [#1381] Support for glob in rule_files [#1443] Trace query returns empty result when queried with Tags from process table in Jaeger UI [#1385] Tags that have a numeric value, like `http.status_code=200` [#1385] Tags that involve status code [#1384] List label values of allowed tenants only [#1427] Race condition when stopping ingest [#1370] Alerting rules for Promscale. You can find them [#1181, #1185, #1271] Add database status and request metrics [#1185] Add database SQL stats as Prometheus metrics. These can be queried under `promscale_sql` namespace [#1193] Add alerts for database SQL metrics [#1193] Query Jaeger traces directly through Promscale [#1224] Additional dataset configuration options via `-startup.dataset.config` flag. Read more [#1276, #1310] Support for alerting and recording rules in Promscale [#1286, #1315] Support for `/api/v1/rules` & `/api/v1/alerts` API [#1320] Log mandatory requirement of Promscale extension when upgrading from older versions [#1329] Enable tracing by default

[#1290] The Promscale extension is now required, while the Timescaledb extension remains optional. The minimum Timescaledb version supported is now 2.6.1 [#1132], [#1297] Disable running Promscale in HA and read-only simultaneously [#1254] Metric tables and views are now owned by prom_admin [#1283] Register `promscaleingestchannellenbucket` metric and make it a gauge [#1177] Log warning when failing to write response to remote read requests [#1180] Fix Promscale running even when some component may fail to start [#1217] Fix `promscaleingestmaxsenttimestamp_milliseconds` metric for tracing [#1270] Fix `promapi.resetmetricretentionperiod` on two-step continuous aggregates [#1294] Remove deprecated flags. More info can be found [#1229] Add Prometheus metrics support for Tracing [#1102, #1152] Add ingested spans-count to telemetry [#1155] Add OTEL collector exporter endpoint support to Promscale tracing telemetry exporter [#1148] Add example tracing setup to docker-compose [#1024] Renamed and refactor Promscale metrics for better consistency. New metrics can be found [#1113] Add performance metrics in cache module in Promscale [#1113] Spans with `end < start`. `start` and `end` are swapped in this case. [#1096] Disable push downs which use `offset`, as they are broken [#1129] Aggregate pushdown evaluation [#1098] Broken `extraEnv` parameter in helm chart values [#1126] Logging success message if extension update failed [#1139] Add support to instrument Promscale's Otel GRPC server with Prometheus metrics [#1061] Optimized series ID creation by caching metric ID [#1062] Fix broken `promscale_packager` telemetry field for docker envs [#1077] Fix compression of old chunks thus reducing storage requirements [#1081] Improved INSERT performance by avoidng ON CONFLICT [#1090] Allow templating host and uri connection strings in helm chart [#1055] Add ability to configure the default chunk interval on startup [#991] Add `pstrace.deleteall_traces()` function to delete all trace data [#1012] Add `pstrace.settraceretentionperiod(INTERVAL)` function to set trace retention period [#1015] Add `pstrace.gettraceretentionperiod()` database function to get current trace retention period [#1015] Add ability to set additional environment variables in helm chart [#1041] Add OpenTelemetry tracing instrumentation to metric ingest codepath Rename CLI flags to improve user interface [#964] BREAKING: Enable and configure 30 day default retention period for span data [#1015] BREAKING: The `promscalequerybatchdurationseconds` metric was renamed to `promscalemetricsqueryremotereadbatchduration_seconds` to clarify what it represents. [#1040] Deprecate `migrate` flag [#964] Remove deprecated `-promql-enable-feature` flag [#964] Remove deprecated leader election [#964] Remove obsoleted jaeger-query-proxy helm-charts: use fixed target port on svc-promscale [#1009] Fix passing of async flag [#1008] Remove the eventnamecheck constraint [#979] Fix promcatalog.metric_view() function on non-tsdb installs [#958] Fix upgrade scripts Beta OpenTelemetry Tracing support `-enable-feature` cli flag Support for Postgres 14 helm-chart: tracing support can be enabled with `openTelemetry.enable` helm-chart: include ServiceAccount definition helm-chart: add ServiceMonitor definition helm-chart: `args` section renamed to `extraArgs` helm-chart: `tracing` section renamed to `openTelemetry` helm-chart: improve UX of service configuration helm-chart: move connection details into a secret helm-chart: use stringData to store Secret values The `-promql-enable-feature` cli flag has been superseded by `-enable-feature` Remove deprecated TSPROM prefixed env-var support Remove unused `db-connect-retries` cli flag Fixed a memory leak when using the series endpoint (GET/POST /api/v1/series) helm-chart: allow numbers to be passed as connection parameters helm-chart: fix incorrect annotation setting when prometheus scrape is disabled