Aliaksandr Valialkin
0ac2a51682
vendor: update github.com/VictoriaMetrics/metricsql from v0.37.0 to v0.38.0
...
This adds more optimization cases for https://utcc.utoronto.ca/~cks/space/blog/sysadmin/PrometheusLabelNonOptimization
For example:
* Multi-level transform functions. For example, abs(round(foo{a="b"})) + bar{x="y"}
is now optimized to abs(round(foo{a="b",x="y"})) + bar{a="b",x="y"}
* Binary operations with `on()`, `without()`, `group_left()` and `group_right()` modifiers.
For example, foo{a="b"} on (a) + bar is now optimized to foo{a="b"} on (a) + bar{a="b"}
* Multi-level binary operations. For example, foo{a="b"} + bar{x="y"} + baz{z="q"}
is now optimized to foo{a="b",x="y",z="q"} + bar{a="b",x="y",z="q"} + baz{a="b",x="y",z="q"}
* Aggregate functions. For example, sum(foo{a="b"}) by (c) + bar{c="d"}
is now optimized to sum(foo{a="b",c="d"}) by (c) + bar{c="d"}
2022-01-27 19:04:45 +02:00
Aliaksandr Valialkin
dcf20c7aa1
vendor: make vendor-update
2022-01-27 13:22:23 +02:00
Aliaksandr Valialkin
53440226d6
vendor: make vendor-update
2022-01-23 13:15:37 +02:00
Aliaksandr Valialkin
e8706ce417
vendor: make vendor-update
2022-01-17 15:45:47 +02:00
Aliaksandr Valialkin
5a1e4a140f
app/vmselect/promql: implement keep_metric_names
modifier for transform and rollup functions
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/949
2022-01-14 04:15:35 +02:00
Aliaksandr Valialkin
53c9a81f2b
app/vmselect/promql: add stale_samples_over_time()
function
2022-01-14 01:49:24 +02:00
Aliaksandr Valialkin
653055b924
vendor: update github.com/valyala/gozstd from v1.15.0 to v1.15.1
2022-01-13 23:44:18 +02:00
Aliaksandr Valialkin
0580a58feb
app/vmselect/promql: add support for @
modifier
...
Add support for `@` modifier in MetricsQL according to https://prometheus.io/docs/prometheus/latest/querying/basics/#modifier
Extend the support with the following features:
* Allow using `@` modifier everywhere in the query. For example, `sum(foo) @ end()`
* Allow using arbitrary expression as `@` modifier. For example, `foo @ (end() - 1h)`
returns `foo` value at `end - 1 hour` timestamp on the selected time range `[start ... end]`
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1348
2022-01-13 22:15:19 +02:00
Aliaksandr Valialkin
972587e6f7
vendor: update github.com/valyala/gozstd from v1.14.2 to v1.15.0
2022-01-12 13:25:50 +02:00
Aliaksandr Valialkin
ad0c21ff26
vendor: make vendor-update
2022-01-11 10:16:01 +02:00
Aliaksandr Valialkin
f10b54a665
vendor: make vendor-update
2022-01-07 12:42:14 +02:00
Aliaksandr Valialkin
fcab2fc716
vendor: make vendor-update
2021-12-22 12:39:24 +02:00
Aliaksandr Valialkin
3396f08874
app/vmselect/promql: follow-up after 177e345d8a
...
* Document changes_prometheus(), increase_prometheus() and delta_prometheus() functions.
* Simplify their implementation
* Mention these functions in docs/CHANGELOG.md
2021-12-20 13:15:06 +02:00
Aliaksandr Valialkin
dfbd4ca2ab
vendor: make vendor-update
2021-12-20 12:12:14 +02:00
Aliaksandr Valialkin
c170841951
app/vmselect/promql: add timestamp_with_name(m[d])
function
...
This function works the same as `timestamp()`, but doesn't remove source time series names.
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/949#issuecomment-995222388
2021-12-15 23:38:09 +02:00
Aliaksandr Valialkin
aa61a74c31
vendor: make vendor-update
2021-12-12 18:10:34 +02:00
Aliaksandr Valialkin
addae7fc6a
app/vmselect/promql: preserve the order of time series passed to limit_offset()
function
...
Previously time series passed to `limit_offset()` were shuffled according to hash for their labels.
This was unexpected behaviour for most users.
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1920 and https://github.com/VictoriaMetrics/VictoriaMetrics/issues/951
2021-12-12 18:07:15 +02:00
Aliaksandr Valialkin
6af4c0ca95
vendor: make vendor-update
2021-12-06 09:59:06 +02:00
Aliaksandr Valialkin
246417601c
vendor: make vendor-update
2021-12-02 12:38:38 +02:00
Aliaksandr Valialkin
ab4be24397
app/vmstorage: export vm_cache_size_max_bytes metrics for determining capacity of various caches
...
The vm_cache_size_max_bytes metric can be used for determining caches which reach their capacity via the following query:
vm_cache_size_bytes / vm_cache_size_max_bytes > 0.9
2021-12-02 10:30:01 +02:00
Aliaksandr Valialkin
3d20d229d0
vendor: make vendor-update
2021-11-29 12:36:56 +02:00
Aliaksandr Valialkin
aa6d11a33f
app/vmselect/promql: add now()
function, which returns the current timestamp as a floating-point value in seconds
2021-11-17 16:42:11 +02:00
Aliaksandr Valialkin
ee64a88ba3
vendor: make vendor-update
2021-11-17 13:40:36 +02:00
Aliaksandr Valialkin
c6fa2eaa3b
vendor: make vendor-update
2021-11-14 14:05:11 +02:00
Aliaksandr Valialkin
1eb756fd11
app/vmselect/promql: arrange function names in the code in alphabetical order
...
This should simplify code maintenance in the future
2021-11-14 13:54:43 +02:00
Aliaksandr Valialkin
3a1ac218ba
app/vmselect/promql: add duration_over_time(m[d], max_interval)
function
...
This function calculates the actual lifetime of the time series on the given lookbehdind window `d`
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1780
2021-11-08 13:14:57 +02:00
Aliaksandr Valialkin
d59acb06c1
vendor: make vendor-update
2021-11-08 12:41:20 +02:00
Aliaksandr Valialkin
a102fca4ac
app/vmselect/promql: add limit_offset(limit, offset, q)
function, which can be used for paging over big number of time series
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1778
2021-11-03 16:03:10 +02:00
Aliaksandr Valialkin
43bf0333eb
app/vmselect/promql: add label_graphite_group()
function for extracting groups from Graphite metric names
2021-11-03 13:20:34 +02:00
Aliaksandr Valialkin
54f3f08874
vendor: make vendor-update
2021-11-01 16:08:01 +02:00
Aliaksandr Valialkin
d2b0c9556c
vendor: update github.com/VictoriaMetrics/metrics from v1.18.0 to v1.18.1
2021-11-01 16:08:00 +02:00
Aliaksandr Valialkin
99784b21c1
all: fix build issues and tests for Apple M1
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1653
2021-10-27 15:07:19 +03:00
Aliaksandr Valialkin
aece35158d
vendor: make vendor-update
2021-10-26 19:38:27 +03:00
Aliaksandr Valialkin
9e0a67cf13
go.mod: remove outdated replacement
2021-10-22 19:47:10 +03:00
Aliaksandr Valialkin
064abfba8c
vendor: make vendor-update
2021-10-22 19:28:27 +03:00
Aliaksandr Valialkin
79709e2586
vendor: return back the previous google.golang.org/genproto version, since the latest version leads to compile errors
...
The following errors:
vendor/cloud.google.com/go/storage/storage.go:1447:53: o.GetCustomerEncryption().GetKeySha256 undefined (type *"google.golang.org/genproto/googleapis/storage/v2".Object_CustomerEncryption has no field or method GetKeySha256)
vendor/cloud.google.com/go/storage/writer.go:439:10: q.GetCommittedSize undefined (type *"google.golang.org/genproto/googleapis/storage/v2".QueryWriteStatusResponse has no field or method GetCommittedSize)
2021-10-18 15:37:29 +03:00
Aliaksandr Valialkin
c92746bb01
vendor: make vendor-update
2021-10-18 15:23:46 +03:00
Aliaksandr Valialkin
f1803573c3
vendor: update github.com/valyala/gozstd from v1.13.0 to v1.14.1
...
This should reduce memory usage in vmagent when compressing large scrape responses in stream parsing mode
2021-10-16 19:14:07 +03:00
Aliaksandr Valialkin
4878fcedac
vendor: make vendor-update
2021-10-11 21:52:27 +03:00
Aliaksandr Valialkin
48c3668b3d
app/vmselect/promql: add atan2
binary operator, which is going to be added in Prometheus 2.31
...
See https://github.com/prometheus/prometheus/pull/9248
2021-10-11 21:17:23 +03:00
Aliaksandr Valialkin
20fa4b01cb
vendor: make vendor-update
2021-10-08 16:06:31 +03:00
Aliaksandr Valialkin
bb45d747ad
vendor: make vendor-update
2021-10-05 10:31:30 +03:00
Aliaksandr Valialkin
f434fcbbd7
vendor: make vendor-update
2021-09-30 17:54:45 +03:00
Aliaksandr Valialkin
ec6eb03d65
app/vmselect/promql: add topk_last
and bottomk_last
functions
2021-09-30 13:23:27 +03:00
Aliaksandr Valialkin
4b3951fd86
app/vmselect/promql: add rollup_scrape_interval(m[d])
function
...
It calculates the min, max and avg scrape intervals for m over the given lookbehind window d
2021-09-27 19:21:55 +03:00
Aliaksandr Valialkin
469820873f
vendor: make vendor-update
2021-09-27 18:01:46 +03:00
Aliaksandr Valialkin
3b501ca859
vendor: make vendor-update
2021-09-23 15:06:57 +03:00
Aliaksandr Valialkin
baeb2fce3a
vendor: update github.com/valyala/gozstd from v1.12.0 to v1.13.0
2021-09-22 20:06:52 +03:00
Aliaksandr Valialkin
0e7b2b724f
vendor: temporarily stick to v0.93.3 for cloud.google.com/go until the binary size bloat issue is resolved
...
This returns back VictoriaMetrics binary size from 24Mb to 18Mb.
See https://github.com/googleapis/google-cloud-go/issues/4783
2021-09-21 18:13:33 +03:00
Aliaksandr Valialkin
3b9fd99735
vendor: make vendor-update
2021-09-20 14:44:49 +03:00