Commit Graph

439 Commits (52cc937af0b784f4d32439c69ed336c02e423019)

Author SHA1 Message Date
beorn7 5b53aa1108 style: Replace `else if` cascades with `switch`
2 years ago
beorn7 c3c7d44d84 lint: Adjust to the lint warnings raised by current versions of golint-ci
2 years ago
Ben Ye fd3630b9a3 add ctx to QueryEngine interface
2 years ago
Matthieu MOREL fb3eb21230 enable gocritic, unconvert and unused linters
2 years ago
beorn7 551de0346f promql: Do not return nil slices to the pool
2 years ago
beorn7 c0879d64cf promql: Separate `Point` into `FPoint` and `HPoint`
2 years ago
Łukasz Mierzwa b6573353c1 Add query_samples_total metric
2 years ago
Ganesh Vernekar 5588cab8b2
Merge pull request #12173 from bboreham/builder-no-empty-labels
2 years ago
Bryan Boreham 1bb6b8b309
Merge pull request #12190 from bboreham/faster-topk
2 years ago
Oleg Zaytsev 6e2905a4d4
Use zeropool.Pool to workaround SA6002 (#12189)
2 years ago
Bryan Boreham f2fd85df82 promql: use faster heap method for topk/bottomk
2 years ago
Bryan Boreham b987afa7ef labels: simplify call to get Labels from Builder
2 years ago
Bryan Boreham 1b0a29701b promql: optimise aggregation with no labels
2 years ago
Bryan Boreham aafef011b7 Promql: reuse LabelBuilder in aggregations
2 years ago
Bryan Boreham 2c382f5e24 promql: extract function to initialize LabelBuilder
2 years ago
Bryan Boreham 56fefcd812 Update package promql for new labels.Labels type
2 years ago
Bryan Boreham 3c7de69059 storage: allow re-use of iterators
2 years ago
Alan Protasio 8460807475 fix blank lines
2 years ago
Alan Protasio f8f4ac14a8 Finishing evalSpanTimer always before return
2 years ago
Jesus Vazquez e934d0f011 Merge 'main' into sparsehistogram
2 years ago
Giedrius Statkevičius a1d6ba59ac
promql: pass down subquery interval (#11163)
2 years ago
Bryan Boreham 3330d85ba8
Replace sort.Strings and sort.Ints with faster slices.Sort (#11318)
2 years ago
Ganesh Vernekar 71489d0e3d
Fix count() for histograms and add test case
2 years ago
Bryan Boreham 8b863c42dd
Optimise relabeling by re-using memory (#11147)
2 years ago
beorn7 c9fd3c235d Merge branch 'main' into sparsehistogram
2 years ago
Vilius Pranckaitis 4660656312
Allow setting custom lookback delta for instant queries (#9946)
2 years ago
Łukasz Mierzwa 54a3c3ba3f
Print query that caused a panic (#10995)
2 years ago
beorn7 40ad5e284a Merge branch 'main' into beorn7/sparsehistogram
3 years ago
Matthieu MOREL 0906f2eafa
refactor (promql): move from github.com/pkg/errors to 'errors' and 'fmt' (#10817)
3 years ago
Bryan Boreham 2e2c014d52
Labels: optimise creation of signature with/without labels (#10667)
3 years ago
beorn7 3bc711e333 Merge branch 'main' into sparsehistogram
3 years ago
Alan Protasio ce6a643ee8
Changing TotalQueryableSamples from int to int64 (#10549)
3 years ago
beorn7 106e20cde5 Histogram: Fix and simplify histogram_quantile
3 years ago
beorn7 4210aac74a Merge branch 'main' into sparsehistogram
3 years ago
Andrew Bloomgarden a64b9fe323 Report PeakSamples in query statistics
3 years ago
Alan Protasio 606ef33d91 Track and report Samples Queried per query
3 years ago
beorn7 9fbcf14e5c histogram: Handle changes of the ZeroThreshold and the Schema
3 years ago
Julien Pivotto 9a2e93228e
Switch to grafana/regexp everywhere (#10268)
3 years ago
Peter Štibraný 6d76f09c58
Extract interface from ActivityQueryTracker and allows passing custom implementation (#10071)
3 years ago
Matej Gera 2c61d29b2a
Tracing: Migrate to OpenTelemetry library (#9724)
3 years ago
beorn7 b39f2739e5 PromQL: Always enable negative offset and @ modifier
3 years ago
beorn7 53ca375345 promql: Add a guard against a nil histogram in sum aggregation
3 years ago
Ganesh Vernekar f580248759
Support + operator for sparse histograms (#9949)
3 years ago
Ganesh Vernekar 187a767292
Implement sum() for sparse histograms (#9948)
3 years ago
Ganesh Vernekar 4a43349aca
`histogram_quantile` for sparse histograms (#9935)
3 years ago
Björn Rabenstein 4ce01e9770
storage: Rename ...Values methods to At... (#9889)
3 years ago
Björn Rabenstein d677aa4b29
storage: Consolidate iterator method names (Values -> At) (#9888)
3 years ago
Björn Rabenstein 7e42acd3b1
tsdb: Rework iterators (#9877)
3 years ago
beorn7 8e4e8726bb promql: Fix another ChunkEncoding call
3 years ago
beorn7 5d4db805ac Merge branch 'main' into sparsehistogram
3 years ago
beorn7 9de3ab60df promql: improve histogram support in engine.go
3 years ago
beorn7 73858d7f82 storage: histogram support in memoized_iterator
3 years ago
beorn7 4c28d9fac7 Move to histogram.Histogram pointers
3 years ago
Thomas Jackson f0003bc0ba
Don't drop ParenExpr when creating StepInvariantExpr (#9591)
3 years ago
beorn7 c954cd9d1d Move packages out of deprecated pkg directory
3 years ago
beorn7 8f92c90897 Add TODOs and some minor tweaks
3 years ago
Ganesh Vernekar c8b267efd6
Get histograms from TSDB to the rate() function implementation
3 years ago
Mateusz Gozdek 1a6c2283a3 Format Go source files using 'gofumpt -w -s -extra'
3 years ago
Bryan Boreham a278ea4b58
promql: copy data when short-circuiting (#9552)
3 years ago
Julien Pivotto a18224d02d
make aggregations deterministic (#9459)
3 years ago
ziollek 55f9147b44
Add atan2 to scalar operators - issue #9485 (#9515)
3 years ago
Levi Harrison 8547a2bd86 Add `atan2` binary operator
3 years ago
Bryan Boreham 5a754bc043
Short-circuit vector binary ops (#9362)
3 years ago
Bryan Boreham c4942ef3b7
Optimise query_range by computing join signatures just once (#9360)
3 years ago
Bryan Boreham 7d105277fe
Optimise topk where k==1 (#9365)
3 years ago
Darshan Chaudhary c4f2e9eec5
Add present_over_time (#9097)
3 years ago
darshanime 364c40be57 Add Stringer to Query interface
3 years ago
Levi Harrison b5f6f8fb36 Switched to go-kit/log
4 years ago
yeya24 d698e062dc improve grouping label match logic
4 years ago
Marco Pracucci 6719071a0f
Optimize aggregations in PromQL engine (#8594)
4 years ago
Marco Pracucci 7bbab380b6
Added tracing span to evaluator.eval()
4 years ago
Marco Pracucci b92c03023d
Optimized vector selector
4 years ago
pschou f80b52be69
Merge branch 'main' into dev_neg_offset
4 years ago
schou 75d932a172 var init for bool
4 years ago
schou 22bfc11738 aggregate booleans for ease of reading
4 years ago
schou 22cd48868a adding feature flag, promql-negative-offset
4 years ago
pschou aff3c702ab
promql: Add sgn, clamp and last_over_time functions (#8457)
4 years ago
Ganesh Vernekar 86c71856e8
Add start() and end() pre-processors for @ modifier (#8425)
4 years ago
Marcelo E. Magallon 75d86c6747 Update golangci-lint to 1.36.0
4 years ago
Ganesh Vernekar b18fde996e
Fix timestamp() function for @ modifier
4 years ago
Ganesh Vernekar 9199fcb8d1
'@ <timestamp>' modifier (#8121)
4 years ago
Ganesh Vernekar d30da66d77
Fix timestamp() method for vector selector inside paren (#8164)
4 years ago
Harkishen Singh fc8e769d71
Use ASSIGN when using = inside braces (#7911)
4 years ago
Vijay Samuel 00ee73ef91
Export members of EvalNodeHelper to facilitate usage in external functions (#7860)
4 years ago
Julien Pivotto 6f9e7ff750
Drop metric name in bool comparison between two instant vectors (#7819)
4 years ago
Julien Pivotto 20ab94fedf
Hints: Separating out the range and offsets of PromQL subqueries (#7667)
4 years ago
Annanay Agarwal 118aeab02c
Make context key type public (#7748)
4 years ago
Julien Pivotto 22acb87e09
refactoring: make sure that query_duration_seconds metrics are the same (#7668)
4 years ago
Bartlomiej Plotka 841b13641c
promql: Refactored subquery hint tests and added todos. (#7636)
4 years ago
Bartlomiej Plotka a0df8a383a
promql: Removed global and add ability to have better interval for subqueries if not specified (#7628)
4 years ago
Julien Pivotto d77b56e88e
Fix avg_over_time for nan and float64 overflows (#7346)
4 years ago
Julien Pivotto 72425d4e3d
Add group() aggregator (#7480)
4 years ago
Kemal Akkoyun 66dfb951c4
*: Consistent Error/Warning handling for SeriesSet iterator: Allowing Async Select (#7251)
5 years ago
Brian Brazil 3932a7149f
Correctly track points no longer used by matrixIterSlice's slice. (#7307)
5 years ago
Callum Styan 5bb7f00d00
change labelset comparison in promql engine to avoid false positive during detection of duplicates (#7058)
5 years ago
Vasily Sliouniaev 0393b188c9
Add Jaeger (#7148)
5 years ago
Marek Slabicki 8224ddec23
Capitalizing first letter of all log lines (#7043)
5 years ago
Björn Rabenstein 1da83305be
Merge pull request #7009 from prometheus/release-2.17
5 years ago
Björn Rabenstein a28fa010ee
TSDB: Extract parts out of populateSeries (#6983)
5 years ago
Bartlomiej Plotka fe802f29c9 storage: Removed SelectSorted method; Simplified interface; Added requirement for remote read to sort response.
5 years ago
Björn Rabenstein bc703b6456
Use `struct{}` as underlying type for context keys (#6965)
5 years ago
Tobias Guggenmos f9db320e5a Look up function call in all cases
5 years ago
Tobias Guggenmos 6c00f2ffcb Comment fixes
5 years ago
Tobias Guggenmos 1360f9ff12 Fix all build errors in promql package
5 years ago
Tobias Guggenmos 2164e366ea Fix more identifiers
5 years ago
Tobias Guggenmos 5caf7ed6db Fix more identifiers
5 years ago
Tobias Guggenmos 9a1366775e Store function implementations independently of their signatures
5 years ago
Tobias Guggenmos ff0ea1c1ac Fix more identifiers
5 years ago
Tobias Guggenmos 6b1b323558 Export sequenceValue
5 years ago
Tobias Guggenmos 228967a507 Fix usages of more things that have moved the package
5 years ago
Tobias Guggenmos 4a4817a444 Fix usages of parser.Statement
5 years ago
Tobias Guggenmos 2f1113479f Fix usages of ValueType
5 years ago
Tobias Guggenmos fab2373752 Add everything the parser needs to build
5 years ago
Björn Rabenstein af04cb22c8
Merge pull request #6821 from prometheus/release-2.16
5 years ago
Julien Pivotto ff0003e072
Make lookbackDelta a option of QueryEngine (#6746)
5 years ago
Julien Pivotto cbd0eec9fc Avoid /1000
5 years ago
Julien Pivotto 881dde505a promql: fix promql query log step unit
5 years ago
Julien Pivotto 9adad8ad30 Remove MaxConcurrent from the PromQL engine opts (#6712)
5 years ago
Brian Brazil 38d32e0686 Don't sort postings if we only have one block.
5 years ago
Julien Pivotto d992c36b3a promql: make active query tracker context-aware (#6701)
5 years ago
Julien Pivotto 5f27ac3583 Refactor query log fields (#6694)
5 years ago
Tobias Guggenmos 2aacd807b3 PromQL: Various small improvements in the parser (#6652)
5 years ago
Tobias Guggenmos 3a204be6b7 PromQL: Fix string and parentheses handling in engine (#6612)
5 years ago
Tobias Guggenmos 0c8e9ef09e PromQL: Add position metadata to the AST (#6615)
5 years ago
Tobias Guggenmos 64194f7d45 PromQL: AST: Make VectorSelector Children of MatrixSelector (#6590)
5 years ago
Julien Pivotto 3885562587 Query Logging styling (#6594)
5 years ago
Julien Pivotto 9d9bc524e5 Add query log (#6520)
5 years ago
Julien Pivotto e0afec906f add absent_over_time (#6490)
5 years ago
Mark Nevill b0a5c51b95 Return unused point slice to pool in Call and VectorSelector eval. (#6427)
5 years ago
Garrett 5a9c4acfbf Pushdown aggregator group by through read hint (#6401)
5 years ago
Tobias Guggenmos bbd92b85da promql: Use capitalized names for item types (#6371)
5 years ago
AllenZMC ead0933dd9 fix word 'substracting' to 'subtracting' (#5822)
5 years ago
Advait Bhatwadekar 5d401f1e1b Added query logging for prometheus. Issue #1315 (#5794)
5 years ago
Ganesh Vernekar 588eb20018
Efficient iteration and search in HashForLabels and HashWithoutLabels (#5707)
6 years ago
beorn7 dd81912554 Add objectives to Summaries
6 years ago
Thomas Jackson a000cec011 Re-use label builder in promql aggregation (#5641)
6 years ago
Goutham Veeramachaneni 3cc5f9d880 Make sure subquery range is taken into account for selection (#5467)
6 years ago
Julius Volz bc1c7f1809 Fix scalar-vector comparisons (#5454)
6 years ago
Bryan Boreham 69dd090880 Check for cancellation on every step of a range evaluation
6 years ago
Bryan Boreham e4a37d0986 Replace select with simpler error check
6 years ago
Tariq Ibrahim 8fdfa8abea refine error handling in prometheus (#5388)
6 years ago
Julius Volz 8155cc4992
Expose lexer item types (#5358)
6 years ago
Daisy T 683fbc59ec exponentation operator to drop metric name in result of op operation (#5329)
6 years ago
Brian Brazil 858c363e94 Fix panic when aggregator param is not a literal.
6 years ago
Tariq Ibrahim a2a6e24f9f show list of offending labels in the error message in many-to-many scenarios (#5189)
6 years ago
Bryan Boreham 8841692a63 Use the context associated with the inner evaluation span (#5130)
6 years ago
Matt Layher 43c9d9e91f promql: apply golint suggestions (#5066)
6 years ago
Simon Pasquier f678e27eb6
*: use latest release of staticcheck (#5057)
6 years ago
Tom Wilkie 6e08029b56
Move err to be the last return value from storage.Select. (#5054)
6 years ago
Ganesh Vernekar dbe55c1352 Subquery (#4831)
6 years ago
Tom Wilkie e1d9bf77f1
Export the error field in ErrStorage, so we can 'throw' it outside the package. (#4954)
6 years ago
mknapphrt f0e9196dca Return warnings on a remote read fail (#4832)
6 years ago
Ben Kochie c6399296dc
Fix spelling/typos (#4921)
6 years ago
Bryan Boreham 9a956872a3 Make ErrorStorage a concrete type not an interface
6 years ago
Callum Styan 9bca041285 WIP: keep track of samples per query, set a max # of samples (#4513)
6 years ago
Tom Wilkie 4c52400708
Limit concurrent remote reads. (#4656)
6 years ago
Harsh Agarwal 18a9a390b5 Add duplicate-labelset check for range/instant vectors (#4589)
6 years ago
Ganesh Vernekar 576ee4d309 Label name check for 'count_values' (#4585)
6 years ago
Dan Cech 9f4cb06a37 use Welford/Knuth method to compute standard deviation and variance (#4533)
6 years ago
Goutham Veeramachaneni 71855a22a4
Add tracing spans to promql (#4436)
6 years ago
Thomas Jackson 56daa1f28a Only add LookbackDelta to vector selectors (#4399)
6 years ago
Alin Sinpalean 372e7652b7 Reuse (copy) overlapping matrix samples between range evaluation steps (#4315)
6 years ago
Tony Lee bcdaf8e2d2 add unused pointslices to the pool (#4363)
6 years ago
Alin Sinpalean e3b775b78b Simplify BufferedSeriesIterator usage (#4294)
6 years ago
Julius Volz 219e477272 Fix some (valid) lint errors (#4287)
6 years ago
Thomas Jackson 92c6f0c92e Add offset to selectParams (#4226)
6 years ago
Alin Sinpalean 96fb0b2155 Optimize PromQL aggregations (#4248)
6 years ago
Tom Wilkie 3228814456 Don't forget to register query_duration_seconds{slice="queue_time"} (#4381)
6 years ago
Thomas Jackson a6dace8829 Check for timeout in each iteration of matrixSelector (#4300)
7 years ago
Thomas Jackson 630f42fcf1 Timeout if populating iterators takes too long (#4291)
7 years ago
Thomas Jackson 404abe0f1c Bubble up errors to promql from populating iterators (#4136)
7 years ago
Mario Trangoni 0e2aa35771 promql: fix unconvert issues (#4040)
7 years ago
Brian Brazil dd6781add2 Optimise PromQL (#3966)
7 years ago
David King 6286c10df0 Fix OOM when a large K is used in topk queries (#4087)
7 years ago
Tony Lee 7cd56f56df add queue_time slice to query_duration_seconds (#4050)
7 years ago
Anton Tereshchenkov 18bbec050c promql: propagate storage errors
7 years ago
Nikunj Aggarwal 998dfcbac6 Expose itemtype outside the package (#3933)
7 years ago
Fabian Reinartz 309c666426
Merge pull request #3671 from prometheus/queryparams
7 years ago
Fabian Reinartz 7ccd4b39b8 *: implement query params
7 years ago
Krasi Georgiev a53d4ed197 drop metric name for bool modifier (#3821)
7 years ago
Fabian Reinartz f8fccc73d8 promql: remove global metrics
7 years ago
Fabian Reinartz 83cd270ea4 *: adapt to storage interface changes
7 years ago
David Kaltschmidt 87c46ea6c3 Renamed TotalEvalTime to EvalTotalTime
7 years ago
David Kaltschmidt c93e54d240 Adds execution timer stats to the range query
7 years ago
Brian Brazil 99905f82a6 Remove keep_common modifier.
7 years ago
Brian Brazil 67274f0794 Remove 4 interval staleness heuristic. (#3244)
7 years ago
Julius Volz f7e8348a88 Re-add contexts to storage.Storage.Querier() (#3230)
7 years ago
Fabian Reinartz d21f149745 *: migrate to go-kit/log
7 years ago
Fabian Reinartz 25f3e1c424 Merge branch 'master' into mergemaster
7 years ago
Alexey Palazhchenko 695ec0b981 Fix few typos. (#2962)
7 years ago
Goutham Veeramachaneni 4194d2ac79 Call At() only if Next() is true
7 years ago
Goutham Veeramachaneni d407bd150c Consolidate the duration params in CLI
8 years ago
Goutham Veeramachaneni 507790a357
Rework logging to use explicitly passed logger
8 years ago
Brian Brazil 220e78b9c3 Consider a series stale after 4.1 intervals with no data.
8 years ago
Brian Brazil c02c25d5ba Allow peeking back further in buffer.
8 years ago
Brian Brazil a5cf25743c Move stalness check into a function
8 years ago
Brian Brazil 80b40e6d91 Add initial staleness handing to promql.
8 years ago
Fabian Reinartz 6e804b3497 Merge branch 'master' into dev-2.0
8 years ago
Brian Brazil fcc88f0e1e query/query_range should return eval timestamp
8 years ago
Brian Brazil 517b81f927 Add timestamp() function.
8 years ago