From f5f512512e710cceab7d6fdd966113277f54c352 Mon Sep 17 00:00:00 2001 From: 0x4A6F <0x4A6F@users.noreply.github.com> Date: Mon, 8 Feb 2021 20:39:40 +0000 Subject: [PATCH] promscale: 0.1.4 -> 0.2.0 This release adds support for TimescaleDB 2.0 multinode. This means all of TimescaleDB 2.0 features are now fully supported. This also means that Promscale now supports horizontal scalability across the entire stack! This release also includes performance improvements and bug fixes. At a high-level, this release: - Adds support for Multinode TimescaleDB. - Improved promQL query latency by 4x in some cases. - Reduced I/O used by the PostgreSQL stats collector substantially by changing autovacuum settings. - Fixed metrics produced by Promscale itself - PromQL engine supports @ modifier which is disabled by default. (see promql-evaluation-flags) - Added configuration for query timeout and default step interval - Improved UX Notes for people upgrading from 0.1.4 and before - The CLI and ENV option install-timescaledb was renamed to install-extension - Two new flags are added upgrade-extensions by default set to true will upgrade extensions if newer versions are available and upgrade-prerelease-extensions by default set to false enabling it will upgrade extensions to pre-prelease versions if pre-release versions are available. - We have changed the namespace of the metrics Promscale itself exposes from ts_prom to promscale. We have also updated the PromQL engine based metrics to have namespace as promscale instead of prometheus. So, metrics like prometheus_engine_query_duration_seconds will now be promscale_engine_query_duration_seconds. Prom-Migrator - Adds support for concurrent pulling and pushing to improve migration throughput. (Please note concurrent push is disabled by default as we've seen some issues migrating data to Thanos concurrently, which we are still working out). --- .../monitoring/prometheus/promscale.nix | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix index 081c7c8352e6..965b33aa337c 100644 --- a/pkgs/servers/monitoring/prometheus/promscale.nix +++ b/pkgs/servers/monitoring/prometheus/promscale.nix @@ -1,26 +1,35 @@ -{ stdenv +{ lib , buildGoModule , fetchFromGitHub }: buildGoModule rec { pname = "promscale"; - version = "0.1.4"; + version = "0.2.0"; src = fetchFromGitHub { owner = "timescale"; repo = pname; rev = version; - sha256 = "0179sw5zx552y14lr56adxcgas642xvxpqly6y4m9pi33r1gs8lj"; + sha256 = "sha256-rXOAAd08NTWFRGnJoAY9xllw6dAA7Xu3qcImIVq9ewE="; }; - vendorSha256 = "sha256:04gzf0siz96ar4qdkcw6daswy14i1zvl7ir200adhw1c5phppab6"; + vendorSha256 = "sha256-/woSbtrOI3BVBhh+A2kO1CB1BLzBciwOqvSbGkFeMEU="; buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ]; doCheck = false; # Requires access to a docker daemon + doInstallCheck = true; + installCheckPhase = '' + if [[ "$("$out/bin/${pname}" -version)" == "${version}" ]]; then + echo '${pname} smoke check passed' + else + echo '${pname} smoke check failed' + exit 1 + fi + ''; - meta = with stdenv.lib; { + meta = with lib; { description = "An open-source analytical platform for Prometheus metrics"; homepage = "https://github.com/timescale/promscale"; license = licenses.asl20;