Tag:
Branch:
Tree:
9c4782f1cc
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
krajo/root-codeowners
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
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 }
16 Commits (9c4782f1cc34f85f07daaaed14af2e7ad1ff56a0)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
9c4782f1cc
|
golangci-lint: enable testifylint linter (#13254)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com> |
2 years ago |
|
|
3512b2d678
|
storage: make histogram reset handling consistent in chainSampleIterator (#12779)
storage: make histogram reset handling consistent in chainSampleIterator --------- Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com> |
2 years ago |
|
|
8ef7dfdeeb
|
Add a chunk size limit in bytes (#12054)
Add a chunk size limit in bytes This creates a hard cap for XOR chunks of 1024 bytes. The limit for histogram chunk is also 1024 bytes, but it is a soft limit as a histogram has a dynamic size, and even a single one could be larger than 1024 bytes. This also avoids cutting new histogram chunks if the existing chunk has fewer than 10 histograms yet. In that way, we are accepting "jumbo chunks" in order to have at least 10 histograms in a chunk, allowing compression to kick in. Signed-off-by: Justin Lei <justin.lei@grafana.com> |
2 years ago |
|
|
f5fcaa3872
|
Fix setting reset header to gauge histogram in seriesToChunkEncoder (#12329)
Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com> |
3 years ago |
|
|
0d049feac7
|
Fix encoding samples in ChunkSeries (#12185)
The storage.ChunkSeries iterator assumes that a histogram sample can always be appended to the currently open chunk. This is not the case when there is a counter reset, or when appending a stale sample to a chunk with non-stale samples. In addition, the open chunk sometimes needs to be recoded before a sample can be appended. This commit addresses the issue by implementing a RecodingAppender which can recode incoming samples in a transparent way. It also detects cases when a sample cannot be appended at all and returns `false` so that the caller can open a new chunk. Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com> Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com> Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com> Co-authored-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com> Co-authored-by: Ganesh Vernekar <ganeshvern@gmail.com> |
3 years ago |
|
|
630bcb494b |
storage: Use separate sample types for histogram vs. float
Previously, we had one “polymorphous” `sample` type in the `storage` package. This commit breaks it up into `fSample`, `hSample`, and `fhSample`, each still implementing the `tsdbutil.Sample` interface. This reduces allocations in `sampleRing.Add` but inflicts the penalty of the interface wrapper, which makes things worse in total. This commit therefore just demonstrates the step taken. The next commit will tackle the interface overhead problem. Signed-off-by: beorn7 <beorn@grafana.com> |
3 years ago |
|
|
faac4c066d |
package storage: fix up test not to access Labels internals
Signed-off-by: Bryan Boreham <bjboreham@gmail.com> |
3 years ago |
|
|
16738b00e3 |
Do no re-use result slice in chunkSetToSeriesSet
This is required to preserve the interface property of SeriesSet that says "At returns full series. Returned series should be iterable even after Next is called." Signed-off-by: sniper91 <kevinzhao91@outlook.com> |
3 years ago |
|
|
86cc83b13c |
storage: iterator fixes after merge
Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |
|
|
b042e29569 |
storage: expose bug in iterators #10027
Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |
|
|
68e02be963 |
Post-merge fixes
Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |
|
|
b866db009b
|
storage: Fix and improve the Seek method of various iterators (#9878)
There was a subtle and nasty bug in listSeriesIterator.Seek. In addition, the Seek call is defined to be a no-op if the current position of the iterator is already pointing to a suitable sample. This commit adds fast paths for this case to several potentially expensive Seek calls. Another bug was in concreteSeriesIterator.Seek. It always searched the whole series and not from the current position of the iterator. Signed-off-by: beorn7 <beorn@grafana.com> |
4 years ago |
|
|
e6d7cc5fa4
|
tsdb: Added ChunkQueryable implementations to db; unified MergeSeriesSets and vertical to single struct. (#7069)
* tsdb: Added ChunkQueryable implementations to db; unified compactor, querier and fanout block iterating. Chained to https://github.com/prometheus/prometheus/pull/7059 * NewMerge(Chunk)Querier now takies multiple primaries allowing tsdb DB code to use it. * Added single SeriesEntry / ChunkEntry for all series implementations. * Unified all vertical, and non vertical for compact and querying to single merge series / chunk sets by reusing VerticalSeriesMergeFunc for overlapping algorithm (same logic as before) * Added block (Base/Chunk/)Querier for block querying. We then use populateAndTomb(Base/Chunk/) to iterate over chunks or samples. * Refactored endpoint tests and querier tests to include subtests. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Addressed comments from Brian and Beorn. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed snapshot test and added chunk iterator support for DBReadOnly. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed race when iterating over Ats first. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed tests. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed populate block tests. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed endpoints test. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed test. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Added test & fixed case of head open chunk. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed DBReadOnly tests and bug producing 1 sample chunks. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Added cases for partial block overlap for multiple full chunks. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Added extra tests for chunk meta after compaction. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> * Fixed small vertical merge bug and added more tests for that. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> |
5 years ago |
|
|
b788986717
|
storage: Adjusted fully storage layer support for chunk iterators: Remote read client, readyStorage, fanout. (#7059)
* Fixed nits introduced by https://github.com/prometheus/prometheus/pull/7334 * Added ChunkQueryable implementation to fanout and readyStorage. * Added more comments. * Changed NewVerticalChunkSeriesMerger to CompactingChunkSeriesMerger, removed tiny interface by reusing VerticalSeriesMergeFunc for overlapping algorithm for both chunks and series, for both querying and compacting (!) + made sure duplicates are merged. * Added ErrChunkSeriesSet * Added Samples interface for seamless []promb.Sample to []tsdbutil.Sample conversion. * Deprecating non chunks serieset based StreamChunkedReadResponses, added chunk one. * Improved tests. * Split remote client into Write (old storage) and read. * Queryable client is now SampleAndChunkQueryable. Since we cannot use nice QueryableFunc I moved all config based options to sampleAndChunkQueryableClient to aboid boilerplate. In next commit: Changes for TSDB. Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com> |
6 years ago |
|
|
d5c33877f9
|
storage: Added Chunks{Queryable/Querier/SeriesSet/Series/Iteratable. Added generic Merge{SeriesSet/Querier} implementation. (#7005)
* storage: Added Chunks{Queryable/Querier/SeriesSet/Series/Iteratable. Added generic Merge{SeriesSet/Querier} implementation.
## Rationales:
In many places (e.g. chunk Remote read, Thanos Receive fetching chunk from TSDB), we operate on encoded chunks not samples.
This means that we unnecessary decode/encode, wasting CPU, time and memory.
This PR adds chunk iterator interfaces and makes the merge code to be reused between both seriesSets
I will make the use of it in following PR inside tsdb itself. For now fanout implements it and mergers.
All merges now also allows passing series mergers. This opens doors for custom deduplications other than TSDB vertical ones (e.g. offline one we have in Thanos).
## Changes
* Added Chunk versions of all iterating methods. It all starts in Querier/ChunkQuerier. The plan is that
Storage will implement both chunked and samples.
* Added Seek to chunks.Iterator interface for iterating over chunks.
* NewMergeChunkQuerier was added; Both this and NewMergeQuerier are now using generigMergeQuerier to share the code. Generic code was added.
* Improved tests.
* Added some TODO for further simplifications in next PRs.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Addressed Brian's comments.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Moved s/Labeled/SeriesLabels as per Krasi suggestion.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Addressed Krasi's comments.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Second iteration of Krasi comments.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
* Another round of comments.
Signed-off-by: Bartlomiej Plotka <bwplotka@gmail.com>
|
6 years ago |