* Package name : thanos Version : 0.30.2 Upstream Contact: thanos-io@googlegroups.com * URL : https://github.com/thanos-io/thanos * License : Apache 2.0 Programming Lang: Go Description : highly available Prometheus setup with long term storage capabilities Thanos is a set of components that can be composed into a highly available metric system with unlimited storage capacity, which can be added seamlessly on top of existing Prometheus deployments. Thanos leverages the Prometheus 2.0 storage format to cost-efficiently store historical metric data in any object storage while retaining fast query latencies. Additionally, it provides a global query view across all Prometheus installations and can merge data from Prometheus HA pairs on the fly. IMO a main feature is the compatctor, which allows to downsample the metrics taken from Prometheus to series of various resolution (which it then automatically selects, AFAIU, when these are queried e.g. via Grafana). This makes it possible to store years of data (in lowered resolutions, instead of the high resolution raw metrics from Prometheus)... and also greatly speeds up queriying. Cheers, Chris.
A sample run of dh-make-golang against github.com/thanos-io/thanos reveals the following missing build-deps: * github.com/chromedp/chromedp * github.com/efficientgo/core * github.com/efficientgo/e2e * github.com/efficientgo/tools * github.com/fatih/structtag * github.com/GoogleCloudPlatform/opentelemetry-operations-go * github.com/lightstep/lightstep-tracer-go * github.com/lovoo/gcloud-opentracing * github.com/prometheus/prometheus * github.com/rueian/rueidis * github.com/sony/gobreaker * github.com/thanos-community/promql-engine * github.com/thanos-io/objstore * github.com/uber/jaeger-client-go * github.com/vimeo/galaxycache * github.com/weaveworks/common * go4.org/intern * go.elastic.co/apm * gopkg.in/fsnotify.v1 A few of them are bogus, e.g. gopkg.in/fsnotify.v1 is packaged as golang-github-fsnotify-fsnotify-dev. Prometheus is obviously already packaged in Debian, but does not however produce a -dev package (such as prometheus-alertmanager-dev does). Certain parts of Prometheus /are/ reused by other projects, so having such a -dev package would be desirable.
Hey Daniel. Are all these strict dependencies, or also optionals? Cheers, Chris.
I haven't checked them individually, but it's pretty rare for a dependency to be optional. Maybe some of the tracing stuff might be non-essential, but I think the majority will be fundamentally required for core functionality.