-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not review: Just to test multiple chained PRs in one go on CI (: #755
Conversation
afc0665
to
9dfc00f
Compare
This is necessary to support newest TSDB. Newest optimization (http://github.com/prometheus/tsdb/pull/486) makes tsdb.PostingForMatcher impossible to use. This also hopefully reduce amount of code to understand as we don't need to necessarily fit into index.Postings even though we don't need streaming for now. This should make the code less complex and more readable (in comparision to previous `lazyPostings` implementation. Signed-off-by: Bartek Plotka <bwplotka@gmail.com>
9dfc00f
to
f19f8e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just few nits I noticed.. (I missed the WIP prefix :/ )
@@ -164,7 +229,7 @@ func VerifyIndex(logger log.Logger, fn string, minTime int64, maxTime int64) err | |||
} | |||
|
|||
type Stats struct { | |||
// TotalSeries represents total number of series in block. | |||
// TotalSeries represnts total number of series in block. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: former was correct if I'm not mistaken?
version, symbols, lvals, postings, err := ReadIndexCache(log.NewNopLogger(), fn) | ||
testutil.Ok(t, err) | ||
|
||
testutil.Equals(t, 2, version) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test for different supported versions (version 1) would be great but that would require older TSDB code version I suppose which would be probably hard to do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good point: It is not that difficult but some work needed. I described all here: #758
@@ -0,0 +1,142 @@ | |||
package metadata | |||
|
|||
// metadata package is implements writing and reading wrapped meta.json where Thanos puts its metadata. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// metadata package is implements writing and reading wrapped meta.json where Thanos puts its metadata. | |
// metadata package implements writing and reading wrapped meta.json where Thanos puts its metadata. |
|
||
// metadata package is implements writing and reading wrapped meta.json where Thanos puts its metadata. | ||
// Those metadata contains external labels, downsampling resolution and source type. | ||
// This package is minimal and separated because it usited by testutils which limits test helpers we can use in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// This package is minimal and separated because it usited by testutils which limits test helpers we can use in | |
// This package is minimal and separated because it used by testutils which limits test helpers we can use in |
This PR does not add anything, however by upgrading Prometheus from 2.3.2 to master tip and same for TSDB it may affects few things. Bigger packages we use and changes I found manually: * prometheus/prometheus/discovery/file * [ENHANCEMENT] Discovery: Improve performance of previously slow updates of changes of targets. #4526 ?? cc @ivan-valkov * [BUGFIX] Wait for service discovery to stop before exiting #4508 ?? * prometheus/prometheus/promql: * [BUGFIX] PromQL: Fix a goroutine leak in the lexer/parser. #4858 * [BUGFIX] Change max/min over_time to handle NaNs properly. #438 * [BUGFIX] Check label name for `count_values` PromQL function. #4585 * [BUGFIX] Ensure that vectors and matrices do not contain identical label-sets. #4589 * [ENHANCEMENT] Optimize PromQL aggregations #4248 * [BUGFIX] Only add LookbackDelta to vector selectors #4399 * [BUGFIX] Reduce floating point errors in stddev and related functions #4533 * prometheus/prometheus/rules: * New metrics exposed! (prometheus evaluation!) * [ENHANCEMENT] Rules: Error out at load time for invalid templates, rather than at evaluation time. #4537 * prometheus/tsdb/index: Index reader optimizations. There are things/fixes we may reuse in next PRs (TODO create gh issues for those): * api changes (warnings support on Prometheus UI and Query API) * UI fixes: * [ENHANCEMENT] Web UI: Support console queries at specific times. #4764 * [ENHANCEMENT] Web UI: Avoid browser spell-checking in expression field. #472 * Use notifier package once prometheus/prometheus#5025 is merged. * Ruler UI fixes: * [ENHANCEMENT] Show rule evaluation errors in UI #4457 Follopw up issues we can fix in further PRs: * QueryAPI has now api/v1/labels that Thanos does not yet support. Created issue with details: #702 * #703 Signed-off-by: Bartek Plotka <bwplotka@gmail.com> # Conflicts: # pkg/store/bucket.go # pkg/store/bucket_e2e_test.go
f19f8e3
to
4e92cc8
Compare
No description provided.