|
|
|
module github.com/prometheus/prometheus
|
|
|
|
|
histograms: Add Compact method to the normal integer Histogram
And use the new method to call to compact Histograms during
parsing. This happens for both `Histogram` and `FloatHistogram`. In
this way, if targets decide to optimize the exposition size by merging
spans with empty buckets in between, we still get a normalized
results. It will also normalize away any valid but weird
representations like empty spans, spans with offset zero, and empty
buckets at the start or end of a span.
The implementation seemed easy at first as it just turns the
`compactBuckets` helper into a generic function (which now got its own
file). However, the integer Histograms have delta buckets instead of
absolute buckets, which had to be treated specially in the generic
`compactBuckets` function. To make sure it works, I have added plenty
of explicit tests for `Histogram` in addition to the `FloatHistogram`
tests.
I have also updated the doc comment for the `Compact` method.
Based on the insights now expressed in the doc comment, compacting
with a maxEmptyBuckets > 0 is rarely useful. Therefore, this commit
also sets the value to 0 in the two cases we were using 3 so far. We
might still want to reconsider, so I don't want to remove the
maxEmptyBuckets parameter right now.
Signed-off-by: beorn7 <beorn@grafana.com>
2 years ago
|
|
|
go 1.18
|
|
|
|
|
|
|
|
require (
|
|
|
|
github.com/Azure/azure-sdk-for-go v65.0.0+incompatible
|
|
|
|
github.com/Azure/go-autorest/autorest v0.11.28
|
|
|
|
github.com/Azure/go-autorest/autorest/adal v0.9.21
|
|
|
|
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137
|
|
|
|
github.com/aws/aws-sdk-go v1.44.159
|
|
|
|
github.com/cespare/xxhash/v2 v2.2.0
|
|
|
|
github.com/dennwc/varint v1.0.0
|
|
|
|
github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245
|
|
|
|
github.com/digitalocean/godo v1.91.1
|
|
|
|
github.com/docker/docker v20.10.21+incompatible
|
|
|
|
github.com/edsrzf/mmap-go v1.1.0
|
|
|
|
github.com/envoyproxy/go-control-plane v0.10.3
|
|
|
|
github.com/envoyproxy/protoc-gen-validate v0.9.1
|
|
|
|
github.com/fsnotify/fsnotify v1.6.0
|
|
|
|
github.com/go-kit/log v0.2.1
|
|
|
|
github.com/go-logfmt/logfmt v0.5.1
|
|
|
|
github.com/go-openapi/strfmt v0.21.3
|
|
|
|
github.com/go-zookeeper/zk v1.0.3
|
|
|
|
github.com/gogo/protobuf v1.3.2
|
|
|
|
github.com/golang/snappy v0.0.4
|
|
|
|
github.com/google/pprof v0.0.0-20221212185716-aee1124e3a93
|
|
|
|
github.com/gophercloud/gophercloud v1.1.1
|
|
|
|
github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway v1.16.0
|
|
|
|
github.com/hashicorp/consul/api v1.18.0
|
|
|
|
github.com/hashicorp/nomad/api v0.0.0-20221214074818-7dbbf6bc584d
|
|
|
|
github.com/hetznercloud/hcloud-go v1.39.0
|
|
|
|
github.com/ionos-cloud/sdk-go/v6 v6.1.3
|
|
|
|
github.com/json-iterator/go v1.1.12
|
|
|
|
github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b
|
|
|
|
github.com/linode/linodego v1.9.3
|
|
|
|
github.com/miekg/dns v1.1.50
|
|
|
|
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f
|
|
|
|
github.com/oklog/run v1.1.0
|
|
|
|
github.com/oklog/ulid v1.3.1
|
|
|
|
github.com/ovh/go-ovh v1.3.0
|
|
|
|
github.com/pkg/errors v0.9.1
|
|
|
|
github.com/prometheus/alertmanager v0.24.0
|
|
|
|
github.com/prometheus/client_golang v1.14.0
|
|
|
|
github.com/prometheus/client_model v0.3.0
|
|
|
|
github.com/prometheus/common v0.39.0
|
|
|
|
github.com/prometheus/common/assets v0.2.0
|
|
|
|
github.com/prometheus/common/sigv4 v0.1.0
|
|
|
|
github.com/prometheus/exporter-toolkit v0.8.2
|
|
|
|
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.10
|
|
|
|
github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749
|
|
|
|
github.com/stretchr/testify v1.8.1
|
|
|
|
github.com/vultr/govultr/v2 v2.17.2
|
|
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.37.0
|
|
|
|
go.opentelemetry.io/otel v1.11.2
|
|
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.2
|
|
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.2
|
|
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.11.2
|
|
|
|
go.opentelemetry.io/otel/sdk v1.11.2
|
|
|
|
go.opentelemetry.io/otel/trace v1.11.2
|
|
|
|
go.uber.org/atomic v1.10.0
|
|
|
|
go.uber.org/automaxprocs v1.5.1
|
|
|
|
go.uber.org/goleak v1.2.0
|
|
|
|
golang.org/x/net v0.4.0
|
|
|
|
golang.org/x/oauth2 v0.3.0
|
|
|
|
golang.org/x/sync v0.1.0
|
|
|
|
golang.org/x/sys v0.3.0
|
|
|
|
golang.org/x/time v0.3.0
|
|
|
|
golang.org/x/tools v0.4.0
|
|
|
|
google.golang.org/api v0.104.0
|
|
|
|
google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37
|
|
|
|
google.golang.org/grpc v1.51.0
|
|
|
|
google.golang.org/protobuf v1.28.1
|
|
|
|
gopkg.in/alecthomas/kingpin.v2 v2.2.6
|
|
|
|
gopkg.in/yaml.v2 v2.4.0
|
|
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
|
|
k8s.io/api v0.26.0
|
|
|
|
k8s.io/apimachinery v0.26.0
|
|
|
|
k8s.io/client-go v0.26.0
|
|
|
|
k8s.io/klog v1.0.0
|
|
|
|
k8s.io/klog/v2 v2.80.1
|
|
|
|
)
|
|
|
|
|
|
|
|
require (
|
|
|
|
cloud.google.com/go/compute/metadata v0.2.2 // indirect
|
|
|
|
github.com/coreos/go-systemd/v22 v22.4.0 // indirect
|
|
|
|
)
|
|
|
|
|
|
|
|
require (
|
|
|
|
cloud.google.com/go/compute v1.13.0 // indirect
|
|
|
|
github.com/Azure/go-autorest v14.2.0+incompatible // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/to v0.4.0 // indirect
|
|
|
|
github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect
|
|
|
|
github.com/Azure/go-autorest/logger v0.2.1 // indirect
|
|
|
|
github.com/Azure/go-autorest/tracing v0.6.0 // indirect
|
|
|
|
github.com/Microsoft/go-winio v0.5.1 // indirect
|
|
|
|
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
|
|
|
|
github.com/armon/go-metrics v0.3.10 // indirect
|
|
|
|
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
|
|
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
|
|
github.com/cenkalti/backoff/v4 v4.2.0 // indirect
|
|
|
|
github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc // indirect
|
|
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
|
|
github.com/docker/distribution v2.8.1+incompatible // indirect
|
|
|
|
github.com/docker/go-connections v0.4.0 // indirect
|
|
|
|
github.com/docker/go-units v0.5.0 // indirect
|
|
|
|
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
|
|
|
|
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
|
|
|
|
github.com/fatih/color v1.13.0 // indirect
|
|
|
|
github.com/felixge/httpsnoop v1.0.3 // indirect
|
|
|
|
github.com/ghodss/yaml v1.0.0 // indirect
|
|
|
|
github.com/go-kit/kit v0.12.0 // indirect
|
|
|
|
github.com/go-logr/logr v1.2.3 // indirect
|
|
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
|
|
github.com/go-openapi/analysis v0.21.2 // indirect
|
|
|
|
github.com/go-openapi/errors v0.20.2 // indirect
|
|
|
|
github.com/go-openapi/jsonpointer v0.19.5 // indirect
|
|
|
|
github.com/go-openapi/jsonreference v0.20.0 // indirect
|
|
|
|
github.com/go-openapi/loads v0.21.1 // indirect
|
|
|
|
github.com/go-openapi/spec v0.20.4 // indirect
|
|
|
|
github.com/go-openapi/swag v0.21.1 // indirect
|
|
|
|
github.com/go-openapi/validate v0.21.0 // indirect
|
|
|
|
github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48 // indirect
|
|
|
|
github.com/golang-jwt/jwt/v4 v4.2.0 // indirect
|
|
|
|
github.com/golang/glog v1.0.0 // indirect
|
|
|
|
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
|
|
|
github.com/golang/protobuf v1.5.2 // indirect
|
|
|
|
github.com/google/gnostic v0.5.7-v3refs // indirect
|
|
|
|
github.com/google/go-cmp v0.5.9 // indirect
|
|
|
|
github.com/google/go-querystring v1.1.0 // indirect
|
|
|
|
github.com/google/gofuzz v1.2.0 // indirect
|
|
|
|
github.com/google/uuid v1.3.0 // indirect
|
|
|
|
github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect
|
|
|
|
github.com/googleapis/gax-go/v2 v2.7.0 // indirect
|
|
|
|
github.com/gorilla/websocket v1.5.0 // indirect
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.1 // indirect
|
|
|
|
github.com/hashicorp/cronexpr v1.1.1 // indirect
|
|
|
|
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
|
|
|
|
github.com/hashicorp/go-hclog v0.16.2 // indirect
|
|
|
|
github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
|
|
|
|
github.com/hashicorp/go-retryablehttp v0.7.1 // indirect
|
|
|
|
github.com/hashicorp/go-rootcerts v1.0.2 // indirect
|
|
|
|
github.com/hashicorp/golang-lru v0.5.4 // indirect
|
|
|
|
github.com/hashicorp/serf v0.10.1 // indirect
|
|
|
|
github.com/imdario/mergo v0.3.12 // indirect
|
|
|
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
|
|
|
github.com/josharian/intern v1.0.0 // indirect
|
|
|
|
github.com/jpillora/backoff v1.0.0 // indirect
|
|
|
|
github.com/julienschmidt/httprouter v1.3.0 // indirect
|
|
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
|
|
|
github.com/mattn/go-colorable v0.1.12 // indirect
|
|
|
|
github.com/mattn/go-isatty v0.0.14 // indirect
|
|
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
|
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
|
|
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
|
|
|
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect
|
|
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
|
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
|
|
|
github.com/opencontainers/image-spec v1.0.2 // indirect
|
|
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
|
|
github.com/prometheus/procfs v0.8.0 // indirect
|
|
|
|
github.com/sirupsen/logrus v1.8.1 // indirect
|
|
|
|
github.com/spf13/pflag v1.0.5 // indirect
|
|
|
|
go.mongodb.org/mongo-driver v1.10.2 // indirect
|
|
|
|
go.opencensus.io v0.24.0 // indirect
|
|
|
|
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 // indirect
|
|
|
|
go.opentelemetry.io/otel/metric v0.34.0 // indirect
|
|
|
|
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
|
|
|
|
golang.org/x/crypto v0.1.0 // indirect
|
|
|
|
golang.org/x/exp v0.0.0-20221212164502-fae10dda9338
|
|
|
|
golang.org/x/mod v0.7.0 // indirect
|
|
|
|
golang.org/x/term v0.3.0 // indirect
|
|
|
|
golang.org/x/text v0.5.0 // indirect
|
|
|
|
google.golang.org/appengine v1.6.7 // indirect
|
|
|
|
gopkg.in/inf.v0 v0.9.1 // indirect
|
|
|
|
gopkg.in/ini.v1 v1.66.6 // indirect
|
|
|
|
gotest.tools/v3 v3.0.3 // indirect
|
|
|
|
k8s.io/kube-openapi v0.0.0-20221207184640-f3cff1453715 // indirect
|
|
|
|
k8s.io/utils v0.0.0-20221128185143-99ec85e7a448 // indirect
|
|
|
|
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
|
|
|
|
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
|
|
|
|
sigs.k8s.io/yaml v1.3.0 // indirect
|
|
|
|
)
|
|
|
|
|
|
|
|
replace (
|
|
|
|
k8s.io/klog => github.com/simonpasquier/klog-gokit v0.3.0
|
|
|
|
k8s.io/klog/v2 => github.com/simonpasquier/klog-gokit/v3 v3.0.0
|
|
|
|
)
|
|
|
|
|
|
|
|
// Exclude linodego v1.0.0 as it is no longer published on github.
|
|
|
|
exclude github.com/linode/linodego v1.0.0
|
|
|
|
|
|
|
|
// Exclude grpc v1.30.0 because of breaking changes. See #7621.
|
|
|
|
exclude (
|
|
|
|
github.com/grpc-ecosystem/grpc-gateway v1.14.7
|
|
|
|
google.golang.org/api v0.30.0
|
|
|
|
)
|