Tag:
Branch:
Tree:
a1c2f59bc5
a2-scr-bak34
add-body-size-limit-global
add-chunkiterator-interface
alexg-content-negotiation
alexg-content-negotiation-2
alexg-content-negotiation-dont-advertise
alexg-remove-HEAD-1
alexg/fix-fallback-scrape
alexg/settable-user-agent
allow-swappable-engine
appenderv2-otlp
arct2
arthurctmeta
beorn7/lookback
beorn7/polymorphism
binop-fill-modifier
bp/append-docs
bwplotka-patch-1
bwplotka-patch-2
bwplotka-patch-3
bwplotka-patch-4
bwplotka-patch-5
bwplotka-patch-6
bwplotka/2_0_cmp
bwplotka/2_18_cmp
bwplotka/a2-agent
bwplotka/a2-remote
bwplotka/appenderv2
bwplotka/config-watch
bwplotka/debug17659
bwplotka/nhcb-wal-wbl
bwplotka/prw-initial
bwplotka/scrapeloop-ref
callum-filter-benchmark
callum-live-segment-test
callum-opportunistic-labels-cleanup
callum-remote-proto-2
callum-rw-e2e-dashboard-1
callum-rw-intern-unique
callum-rw-intern-v3
callum-rw-min-format
callum-rw-split-intern
callum-simplify-ts-filtering
callum-track-series-segment
callum-vt20
callum-watcher-poll-backoff
callum/data-in-calc
catch-sighup-early
cedwards/add-monotonicity-label
cedwards/add-otel-type-label
cedwards/add-temporality-label
cedwards/ooo-native-histograms-promql-tests
cedwards/temporality-label
cedwards/type-unit-annotations
chunkenc-bench
codesome/16781-poc
codesome/headlabels
codesome/issue-16704
codesome/query-rewrite
codesome/scrape-during-wal-replay
codesome/stale-series-compaction
combined-appender
csmarchbanks/arrow-native-histograms
csmarchbanks/arrow-responses
csmarchbanks/native-histogram-compact-format
csmarchbanks/native-histogram-json-format
csmarchbanks/native-histogram-verbose-format
csmarchbanks/optmize-arrow-responses
ct-storage-read2
ctwal
cut-2.54.2
debug832
default-hide-alert-annotations
delayed-name-removal-series-merge
dependabot/github_actions/actions/checkout-5.0.1
dependabot/github_actions/actions/setup-go-6.1.0
dependabot/github_actions/github/codeql-action-4.31.4
dependabot/github_actions/golangci/golangci-lint-action-9.0.0
dependabot/github_actions/scripts/actions/checkout-5.0.1
dependabot/github_actions/scripts/actions/setup-go-6.1.0
dependabot/github_actions/scripts/golangci/golangci-lint-action-9.0.0
dependabot/go_modules/aws-90e88ff4bf
dependabot/go_modules/azure-c6a73a8bce
dependabot/go_modules/documentation/examples/remote_storage/github.com/prometheus/common-0.67.3
dependabot/go_modules/documentation/examples/remote_storage/github.com/prometheus/prometheus-0.308.0-rc.0
dependabot/go_modules/github.com/KimMachineGun/automemlimit-0.7.5
dependabot/go_modules/github.com/envoyproxy/go-control-plane/envoy-1.36.0
dependabot/go_modules/github.com/go-openapi/strfmt-0.25.0
dependabot/go_modules/github.com/gophercloud/gophercloud/v2-2.9.0
dependabot/go_modules/github.com/hashicorp/consul/api-1.33.0
dependabot/go_modules/github.com/ionos-cloud/sdk-go/v6-6.3.5
dependabot/go_modules/github.com/prometheus/alertmanager-0.29.0
dependabot/go_modules/github.com/stackitcloud/stackit-sdk-go/core-0.20.0
dependabot/go_modules/go-opentelemetry-io-750f195677
dependabot/go_modules/golang.org/x/oauth2-0.33.0
dependabot/go_modules/golang.org/x/sys-0.38.0
dependabot/go_modules/google.golang.org/api-0.256.0
dependabot/go_modules/google.golang.org/grpc-1.77.0
dependabot/go_modules/internal/tools/github.com/bufbuild/buf-1.60.0
dependabot/go_modules/k8s-io-08aaead50f
deps-update/go-github.com-quic-go-quic-go-vulnerability
exemplar-storage-separate-mvp
expand
extra-scrape-metrics
f17-test
faster-exemplars
feature/new-prom-ui
feature/shutdownscrape
fionaliao-function-bracketless
fionaliao-patch-1
fionaliao/3.0-migration-guide-fixes
fionaliao/delta-rate
fix-2.21-iter-latency
fix-2.21-latency
fix-sym-7373
fix-sym-7373-2
fix-sym-7373-3
fix/binop-output-labels
fix15538
for-cortex-1-4-1
histogram-charts
histogram-json-experiment
imprct
integrate-react
join
jvp/enable-otlp-endpoint-by-default
jvp/metadata-poc
jvp/range-duration-with-open-intervals
jvp/refactor-append-to-have-hints
jvp/refactor-append-to-have-hints-and-single-appendcall
jvp/refactor-append-to-have-hints-as-value
krajo/clarify-metadata
krajo/durations-api
krajo/engine-immutable-histograms
krajo/fix-commit-order
krajo/fix-flaky-nhcb-test
krajo/fix-nhcb-quantile-bug
krajo/mem-optimize-nhcb
krajo/nh-interpolate-below-zero
krajo/otlp-to-appender
krajo/prombench-base
krajo/prombench-pr
krajo/prombench-pr2
krajo/prombench-pr3
krajo/prombench-pr4
lazy-unsymbolize
lbl-optimize
main
manik1
manik2
mantine-ui-uplot
measure-alerts-filtering
mem/fix_8551
merge-main
multi-err-cause
native-histogram-charts
nav-settings
nexucis/sd-optimisation
nexucis/sofisticat-query
njpm/metadata-remote-write-wiring-2-update
njpm/rw2-main-sync-conflicts
njpm/rw2-sync-main-conflicts
njpm/tsdb-utf8-mixed-querying
om-complex
ooo-nh-fix
otel-3
otlp-to-appender-no-custom-labels
owilliams/no-suffixes
owilliams/st-wal
owilliams/utf8
owilliams/utf8-02-mimir
owilliams/utf8-03-reads
parenExprEnd
partial-response
pipe-promql
post-processing
pre-ooo
prom-common-update-0.43
prombenchtest
promselect
proposalprocess
protoopt-cache
protoparseopt
protoparseopt-v2
prw-shard-test
prw2ctpersample
react-travis-test-branch
redesign-parser-interface
release-0.16
release-0.18
release-0.20
release-1.1
release-1.2
release-1.3
release-1.4
release-1.5
release-1.6
release-1.7
release-1.8
release-1.8.2
release-2.0
release-2.1
release-2.10
release-2.11
release-2.12
release-2.13
release-2.14
release-2.15
release-2.16
release-2.17
release-2.18
release-2.19
release-2.2
release-2.20
release-2.21
release-2.22
release-2.23
release-2.24
release-2.25
release-2.26
release-2.27
release-2.28
release-2.29
release-2.3
release-2.30
release-2.30-merge
release-2.31
release-2.32
release-2.33
release-2.34
release-2.35
release-2.36
release-2.37
release-2.38
release-2.39
release-2.4
release-2.40
release-2.41
release-2.42
release-2.43
release-2.43+stringlabels
release-2.44
release-2.45
release-2.46
release-2.47
release-2.48
release-2.49
release-2.5
release-2.50
release-2.51
release-2.51+dedupelabels
release-2.52
release-2.53
release-2.54
release-2.54+dedupelabels
release-2.55
release-2.6
release-2.7
release-2.8
release-2.9
release-3.0
release-3.1
release-3.2
release-3.3
release-3.4
release-3.5
release-3.6
release-3.7
release-3.8
release-docs-formatting-fix
release-v2.50
remote-write-2.0
remote-write-checkpoint
remove-alertmanager
remove-circleci-windows-tests
rename-kubecon
reprotest-meta
resharding
revert-10878-jvp/replay-wait-for-idle-dont-always-sleep
revert-13498-alexg-content-negotiation-2
revert-14513-fix-histogram-overlap-compaction-bug
revert-14809-patch-mem-issue
revert-37-17065
revert-8489-append
richih/examples
richih/remove_indirect_deps
rmremote_storage
rr
rr-proto
rule-page-followups
rw20-config
rw20-gen
rw20-helpers-gen
rw20-nhcb
scrape-bytes-scraped
scrapeAndReportbench
segfault-chunk-iter
series-hint
shutdown-select-bug
st-tsdbchunk1
superq/betteralign_promql
superq/drop_vendor
superq/fieldalignment
superq/help_link
superq/more_react
superq/test
superq/v2
test-rw-compression
testdata
textparsebench-manik1
tsdb-import
tsdb-import-csv
type_and_unit
type_and_unit_series
update-2.53-to-correct-place
v2.54.0+dedupelabels
vtproto-test
wal-version
watcher-opt
wip-play-prombench
write-req-content-size
write-v3
0.1.0
0.10.0
0.11.0
0.11.1
0.12.0
0.13.0
0.13.0rc2
0.13.1
0.13.2
0.13.3
0.13.4
0.14.0
0.14.0rc1
0.14.0rc2
0.14.0rc3
0.15.0
0.15.0rc1
0.15.0rc2
0.15.0rc3
0.15.1
0.16.0
0.16.0rc1
0.16.0rc2
0.16.1
0.16.2
0.17.0
0.17.0rc1
0.17.0rc2
0.18.0
0.18.0rc1
0.19.0
0.19.1
0.19.2
0.19.3
0.2.0
0.2.1
0.20.0
0.3.0
0.4.0
0.5.0
0.6.0
0.7.0
0.8.0
0.9.0
0.9.0rc1
0.9.0rc2
0.9.0rc3
0.9.0rc4
0.9.0rc5
all-tests-pass
checkout
dev
discovery-handle-discoverer-updates
v0.300.0
v0.300.0-beta.0
v0.300.0-beta.1
v0.300.0-rc.0
v0.300.0-rc.1
v0.300.1
v0.301.0
v0.301.0-rc.0
v0.301.0-rc.1
v0.302.0
v0.302.0-rc.0
v0.302.0-rc.1
v0.302.1
v0.303.0
v0.303.0-rc.0
v0.303.0-rc.1
v0.303.1
v0.304.0
v0.304.0-rc.0
v0.304.1
v0.304.2
v0.305.0
v0.306.0
v0.306.0-rc.0
v0.306.0-rc.1
v0.307.0
v0.307.0-rc.0
v0.307.1
v0.307.2
v0.307.3
v0.308.0
v0.308.0-rc.0
v0.308.0-rc.1
v0.308.1
v0.35.0
v0.35.0-rc1
v0.36.0
v0.36.0-rc0
v0.36.1
v0.36.2
v0.37.0
v0.37.0-rc.0
v0.37.0-rc.1
v0.37.1
v0.37.2
v0.37.3
v0.37.4
v0.37.5
v0.37.6
v0.37.7
v0.37.8
v0.37.9
v0.38.0
v0.38.0-rc.0
v0.39.0
v0.39.1
v0.39.2
v0.40.0
v0.40.0-rc.0
v0.40.1
v0.40.2
v0.40.3
v0.40.4
v0.40.5
v0.40.6
v0.40.7
v0.41.0
v0.41.0-rc.0
v0.42.0
v0.43.0
v0.43.0-rc.0
v0.43.0-rc.1
v0.43.1
v0.44.0
v0.44.0-rc.0
v0.44.0-rc.1
v0.44.0-rc.2
v0.45.0
v0.45.0-rc.0
v0.45.0-rc.1
v0.45.1
v0.45.2
v0.45.3
v0.45.4
v0.45.5
v0.45.6
v0.46.0
v0.46.0-rc.0
v0.47.0
v0.47.0-rc.0
v0.47.1
v0.47.2
v0.48.0
v0.48.0-rc.0
v0.48.0-rc.1
v0.48.0-rc.2
v0.48.1
v0.49.0
v0.49.0-rc.0
v0.49.0-rc.1
v0.49.0-rc.2
v0.49.1
v0.50.0
v0.50.0-rc.0
v0.50.0-rc.1
v0.50.1
v0.51.0
v0.51.1
v0.51.2
v0.52.0
v0.52.0-rc.0
v0.52.0-rc.1
v0.52.1
v0.53.0
v0.53.0-rc.0
v0.53.0-rc.1
v0.53.1
v0.53.2
v0.53.3
v0.53.4
v0.54.0
v0.54.0-rc.0
v0.54.1
v0.55.0
v0.55.1
v1.0.0
v1.0.0-rc.0
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.0-beta.0
v1.3.1
v1.4.0
v1.4.1
v1.5.0
v1.5.1
v1.5.2
v1.5.3
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.7.0
v1.7.1
v1.7.2
v1.8.0
v1.8.1
v1.8.2
v1.99.0
v1.99.0-retract
v2.0.0
v2.0.0-alpha.0
v2.0.0-alpha.1
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.0.0-beta.0
v2.0.0-beta.1
v2.0.0-beta.2
v2.0.0-beta.3
v2.0.0-beta.4
v2.0.0-beta.5
v2.0.0-rc.0
v2.0.0-rc.1
v2.0.0-rc.2
v2.0.0-rc.3
v2.1.0
v2.10.0
v2.10.0-rc.0
v2.11.0
v2.11.0-rc.0
v2.11.1
v2.11.2
v2.12.0
v2.12.0-rc.0
v2.13.0
v2.13.0-rc.0
v2.13.1
v2.14.0
v2.14.0-rc.0
v2.15.0
v2.15.0-rc.0
v2.15.1
v2.15.2
v2.16.0
v2.16.0-rc.0
v2.16.0-rc.1
v2.17.0
v2.17.0-rc.0
v2.17.0-rc.1
v2.17.0-rc.2
v2.17.0-rc.3
v2.17.0-rc.4
v2.17.1
v2.17.2
v2.18.0
v2.18.0-rc.0
v2.18.0-rc.1
v2.18.1
v2.18.2
v2.19.0
v2.19.0-rc.0
v2.19.1
v2.19.2
v2.19.3
v2.2.0
v2.2.0-rc.0
v2.2.0-rc.1
v2.2.1
v2.20.0
v2.20.0-rc.0
v2.20.0-rc.1
v2.20.1
v2.21.0
v2.21.0-rc.0
v2.21.0-rc.1
v2.22.0
v2.22.0-rc.0
v2.22.1
v2.22.2
v2.23.0
v2.23.0-rc.0
v2.24.0
v2.24.0-rc.0
v2.24.1
v2.25.0
v2.25.0-rc.0
v2.25.1
v2.25.2
v2.26.0
v2.26.0-rc.0
v2.26.1
v2.27.0
v2.27.0-rc.0
v2.27.1
v2.28.0
v2.28.0-rc.0
v2.28.1
v2.29.0
v2.29.0-rc.0
v2.29.0-rc.1
v2.29.0-rc.2
v2.29.1
v2.29.2
v2.3.0
v2.3.1
v2.3.2
v2.30.0
v2.30.0-rc.0
v2.30.1
v2.30.2
v2.30.3
v2.30.4
v2.31.0
v2.31.0-rc.0
v2.31.0-rc.1
v2.31.1
v2.31.2
v2.32.0
v2.32.0-beta.0
v2.32.0-rc.0
v2.32.0-rc.1
v2.32.1
v2.33.0
v2.33.0-rc.0
v2.33.0-rc.1
v2.33.1
v2.33.2
v2.33.3
v2.33.4
v2.33.5
v2.34.0
v2.34.0-rc.0
v2.34.0-rc.1
v2.34.0-rc.2
v2.35.0
v2.35.0-rc0
v2.35.0-rc1
v2.35.0-retract
v2.36.0
v2.36.0-rc0
v2.36.1
v2.36.2
v2.37.0
v2.37.0-rc.0
v2.37.0-rc.1
v2.37.1
v2.37.2
v2.37.3
v2.37.4
v2.37.5
v2.37.6
v2.37.7
v2.37.8
v2.37.9
v2.38.0
v2.38.0-rc.0
v2.39.0
v2.39.0-rc.0
v2.39.1
v2.39.2
v2.4.0
v2.4.0-rc.0
v2.4.1
v2.4.2
v2.4.3
v2.40.0
v2.40.0-rc.0
v2.40.1
v2.40.2
v2.40.3
v2.40.4
v2.40.5
v2.40.6
v2.40.7
v2.41.0
v2.41.0-rc.0
v2.42.0
v2.42.0-rc.0
v2.43.0
v2.43.0+stringlabels
v2.43.0-rc.0
v2.43.0-rc.1
v2.43.0-rc.1+stringlabels
v2.43.1
v2.43.1+stringlabels
v2.44.0
v2.44.0-rc.0
v2.44.0-rc.1
v2.44.0-rc.2
v2.45.0
v2.45.0-rc.0
v2.45.0-rc.1
v2.45.1
v2.45.2
v2.45.3
v2.45.4
v2.45.5
v2.45.6
v2.46.0
v2.46.0-rc.0
v2.47.0
v2.47.0-rc.0
v2.47.1
v2.47.2
v2.48.0
v2.48.0-rc.0
v2.48.0-rc.1
v2.48.0-rc.2
v2.48.1
v2.49.0
v2.49.0-rc.0
v2.49.0-rc.1
v2.49.0-rc.2
v2.49.1
v2.5.0
v2.5.0-rc.0
v2.5.0-rc.1
v2.5.0-rc.2
v2.50.0
v2.50.0-rc.0
v2.50.0-rc.1
v2.50.1
v2.51.0
v2.51.0+dedupelabels
v2.51.0-rc.0
v2.51.0-rc.0+dedupelabels
v2.51.1
v2.51.2
v2.52.0
v2.52.0-rc.0
v2.52.0-rc.1
v2.53.0
v2.53.0-rc.0
v2.53.0-rc.1
v2.53.1
v2.53.2
v2.53.3
v2.53.4
v2.53.5
v2.54.0
v2.54.0+dedupelabels
v2.54.0-rc.0
v2.54.0-rc.0+dedupelabels
v2.54.0-rc.1
v2.54.1
v2.55.0
v2.55.0-rc.0
v2.55.0-rc.1
v2.55.1
v2.6.0
v2.6.0-rc.0
v2.6.0-rc.1
v2.6.1
v2.7.0
v2.7.0-rc.0
v2.7.0-rc.1
v2.7.0-rc.2
v2.7.1
v2.7.2
v2.8.0
v2.8.0-rc.0
v2.8.1
v2.9.0
v2.9.0-rc.0
v2.9.1
v2.9.2
v3.0.0
v3.0.0-beta.0
v3.0.0-beta.1
v3.0.0-rc.0
v3.0.0-rc.1
v3.0.1
v3.1.0
v3.1.0-rc.0
v3.1.0-rc.1
v3.2.0
v3.2.0-rc.0
v3.2.0-rc.1
v3.2.1
v3.3.0
v3.3.0-rc.0
v3.3.0-rc.1
v3.3.1
v3.4.0
v3.4.0-rc.0
v3.4.1
v3.4.2
v3.5.0
v3.5.0-rc.0
v3.5.0-rc.1
v3.6.0
v3.6.0-rc.0
v3.6.0-rc.1
v3.7.0
v3.7.0-rc.0
v3.7.1
v3.7.2
v3.7.3
v3.8.0
v3.8.0-rc.0
v3.8.0-rc.1
v3.8.1
${ noResults }
20 Commits (a1c2f59bc577465e8b46b9cca6dca61ec7ecffe8)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
505ffd34ef |
Fix lint error
Some weird formatting issue in using comment suggestion Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com> |
2 years ago |
|
|
f45709e710
|
Update model/histogram/histogram_test.go
Signed-off-by: George Krajcsovits <krajorama@users.noreply.github.com> |
2 years ago |
|
|
f10c3454e9 |
Enable perfsprint linter and fix up code
Signed-off-by: Oleksandr Redko <oleksandr.red+github@gmail.com> |
2 years ago |
|
|
4acbb7dea6
|
Add custom buckets to native histogram chunks encoding (#13706)
* add custom bounds to chunks encoding * change custom buckets schema number * rename custom bounds to custom values Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com> |
2 years ago |
|
|
5d0a0a7542 |
Add custom buckets to native histogram model (#13592)
* add custom buckets to native histogram model * simple copy for custom bounds * return errors for unsupported add/sub operations * add test cases for string and update appendhistogram in scrape to account for new schema * check fields which are supposed to be unused but may affect results in equals * allow appending custom buckets histograms regardless of max schema Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com> |
2 years ago |
|
|
583f3e587c
|
Optimize histogram iterators (#13340)
Optimize histogram iterators Histogram iterators allocate new objects in the AtHistogram and AtFloatHistogram methods, which makes calculating rates over long ranges expensive. In #13215 we allowed an existing object to be reused when converting an integer histogram to a float histogram. This commit follows the same idea and allows injecting an existing object in the AtHistogram and AtFloatHistogram methods. When the injected value is nil, iterators allocate new histograms, otherwise they populate and return the injected object. The commit also adds a CopyTo method to Histogram and FloatHistogram which is used in the BufferedIterator to overwrite items in the ring instead of making new copies. Note that a specialized HPoint pool is needed for all of this to work (`matrixSelectorHPool`). --------- Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> Co-authored-by: George Krajcsovits <krajorama@users.noreply.github.com> |
2 years ago |
|
|
10a82f87fd
|
Enable reusing memory when converting between histogram types
The 'ToFloat' method on integer histograms currently allocates new memory each time it is called. This commit adds an optional *FloatHistogram parameter that can be used to reuse span and bucket slices. It is up to the caller to make sure the input float histogram is not used anymore after the call. Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> |
2 years ago |
|
|
49613823f8 |
Reuse slices in [Float]Histogram.ReduceResolution
Signed-off-by: Linas Medziunas <linas.medziunas@gmail.com> |
2 years ago |
|
|
e250f09b5d
|
change origin schema in `ReduceResolution` method of histogram and float histogram (#13116)
* change origin schema in ReduceResolution method of histogram and float histogram Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com> --------- Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com> |
2 years ago |
|
|
ebed7d0612 |
Change Validate to be a method on histogram structs
Signed-off-by: Linas Medziunas <linas.medziunas@gmail.com> |
2 years ago |
|
|
dfb6292600 |
Compare FloatHistogram.[Zero]Count float values as binary
Signed-off-by: Linas Medziunas <linas.medziunas@gmail.com> |
2 years ago |
|
|
cbd01fc296 |
Fix NaN sum check in [Float]Histogram.Equals method
Signed-off-by: Linas Medziunas <linas.medziunas@gmail.com> |
2 years ago |
|
|
9474610baf
|
Support FloatHistogram in TSDB (#11522)
Extends Appender.AppendHistogram function to accept the FloatHistogram. TSDB supports appending, querying, WAL replay, for this new type of histogram. Signed-off-by: Marc Tudurí <marctc@protonmail.com> Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com> Co-authored-by: Ganesh Vernekar <ganeshvern@gmail.com> |
3 years ago |
|
|
dccfb9db4e
|
histogram: Remove code replication via generics (#11361)
* histogram: Simplify iterators We don't really need currLower and currUpper and can calculate it when needed (as already done for the floatBucketIterator). The calculation is cheap, while keeping those extra variables around costs RAM (potentially a lot with many iterators). * histogram: Convert Bucket/FloatBucket to one generic type * histogram: Move some bucket iterator code into generic base iterator * histogram: Remove cumulative iterator for FloatHistogram We added it in the past for completeness (Histogram has one), but it has never been used. Plus, even the cumulative iterator for Histogram is only there for test reasons. We can always add it back, and then maybe even using generics. Signed-off-by: beorn7 <beorn@grafana.com> |
3 years ago |
|
|
a7c519930e |
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> |
3 years ago |
|
|
2474c6fb2c
|
Error on amending histograms on append (#11308)
* Error on amending histograms on append Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com> * Rename Matches to Equals Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com> Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com> |
3 years ago |
|
|
6a820a646c |
histogram: Add FloatHistogram
Including a few adjustments for normal Histogram, too, e.g. use pointer receiver to avoid the large copy on method calls. Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |
|
|
f1065e44a4 |
model: String method for histogram.Histogram
This includes a regular bucket iterator and a string method for histogram.Bucket. Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |
|
|
7a8bb8222c |
Style cleanup of all the changes in sparsehistogram so far
A lot of this code was hacked together, literally during a hackathon. This commit intends not to change the code substantially, but just make the code obey the usual style practices. A (possibly incomplete) list of areas: * Generally address linter warnings. * The `pgk` directory is deprecated as per dev-summit. No new packages should be added to it. I moved the new `pkg/histogram` package to `model` anticipating what's proposed in #9478. * Make the naming of the Sparse Histogram more consistent. Including abbreviations, there were just too many names for it: SparseHistogram, Histogram, Histo, hist, his, shs, h. The idea is to call it "Histogram" in general. Only add "Sparse" if it is needed to avoid confusion with conventional Histograms (which is rare because the TSDB really has no notion of conventional Histograms). Use abbreviations only in local scope, and then really abbreviate (not just removing three out of seven letters like in "Histo"). This is in the spirit of https://github.com/golang/go/wiki/CodeReviewComments#variable-names * Several other minor name changes. * A lot of formatting of doc comments. For one, following https://github.com/golang/go/wiki/CodeReviewComments#comment-sentences , but also layout question, anticipating how things will look like when rendered by `godoc` (even where `godoc` doesn't render them right now because they are for unexported types or not a doc comment at all but just a normal code comment - consistency is queen!). * Re-enabled `TestQueryLog` and `TestEndopints` (they pass now, leaving them disabled was presumably an oversight). * Bucket iterator for histogram.Histogram is now created with a method. * HistogramChunk.iterator now allows iterator recycling. (I think @dieterbe only commented it out because he was confused by the question in the comment.) * HistogramAppender.Append panics now because we decided to treat staleness marker differently. Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |