Commit Graph

328 Commits

Author SHA1 Message Date
Aliaksandr Valialkin
0efeba13a7
vendor: update github.com/valyala/gozstd from v1.16.0 to v1.17.0 2022-04-29 19:30:41 +03:00
Aliaksandr Valialkin
cce1b6d7f9
app/vmselect/promql: add tlast_change_over_time(m[d]) function, which returns the timestamp for the last change of m on the given lookbehind window d 2022-04-27 10:59:03 +03:00
Aliaksandr Valialkin
e0195558c9
vendor: make vendor-update 2022-04-26 15:24:27 +03:00
Aliaksandr Valialkin
8d0fb4d69d
vendor: make vendor-update 2022-04-21 16:00:47 +03:00
Aliaksandr Valialkin
de892239a9
app/vmselect/promql: add drop_common_labels() function 2022-04-21 14:20:20 +03:00
Aliaksandr Valialkin
ea349660cf
vendor: make vendor-update 2022-04-19 11:40:41 +03:00
Aliaksandr Valialkin
a91c2a4377
vendor: make vendor-update 2022-04-12 12:51:54 +03:00
Aliaksandr Valialkin
d7bf0a7348
vendor: update github.com/VictoriaMetrics/metricsql from v0.40.0 to v0.41.0
This allows using built-in function names as with template names
2022-04-11 18:31:44 +03:00
Aliaksandr Valialkin
a95b96979c
vendor: make vendor-update 2022-04-07 15:28:27 +03:00
Aliaksandr Valialkin
cae61c85d4
vendor: update github.com/VictoriaMetrics/fastcache from v1.9.0 to v1.10.0 2022-04-05 20:32:50 +03:00
Aliaksandr Valialkin
d4f14f4879
vendor: make vendor-update 2022-04-04 13:05:04 +03:00
Aliaksandr Valialkin
2ea540a5aa
vendor: make vendor-update 2022-03-26 13:07:56 +02:00
Aliaksandr Valialkin
e1311409db
vendor: make vendor-update 2022-03-21 17:02:12 +02:00
Aliaksandr Valialkin
f30044cd5c
vendor: make vendor-update 2022-03-16 13:55:03 +02:00
Aliaksandr Valialkin
3f8ab2e4be
vendor: make vendor-update 2022-03-03 18:14:56 +02:00
Aliaksandr Valialkin
df5b0067ca
vendor: make vendor-update 2022-02-22 20:56:49 +02:00
Aliaksandr Valialkin
e5ebdb9b1a
vendor: make vendor-update 2022-02-21 13:59:00 +02:00
Aliaksandr Valialkin
33fd30ff61
vendor: make vendor-update 2022-02-12 01:12:19 +02:00
Aliaksandr Valialkin
c3d02ee75a
vendor: update github.com/VictoriaMetrics/fastcache from v1.8.0 to v1.9.0 2022-02-07 23:41:08 +02:00
Aliaksandr Valialkin
21bd204e81
vendor: update github.com/valyala/gozstd from v1.15.1 to v1.16.0 2022-02-07 18:32:33 +02:00
Aliaksandr Valialkin
cf3a041c2f
vendor: make vendor-update 2022-02-07 15:06:15 +02:00
Aliaksandr Valialkin
d4b09896fa
vendor: update github.com/VictoriaMetrics/metricsql from v0.39.0 to v0.40.0 2022-02-01 17:31:38 +02:00
Aliaksandr Valialkin
e7f1ceeb84
app/vmselect/promql: optimize queries, which join on _info metrics.
Automatically add common filters from one side of binary operation
to the other side before sending the query to storage subsystem.

See https://grafana.com/blog/2021/08/04/how-to-use-promql-joins-for-more-effective-queries-of-prometheus-metrics-at-scale/
and https://www.robustperception.io/exposing-the-software-version-to-prometheus
2022-01-31 19:32:36 +02:00
Aliaksandr Valialkin
d2ac954fe1
vendor: make vendor-update 2022-01-31 12:46:17 +02:00
Aliaksandr Valialkin
e02e0508da
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:03:54 +02:00
Aliaksandr Valialkin
ac92d471a6
vendor: make vendor-update 2022-01-27 13:16:33 +02:00
Aliaksandr Valialkin
f5f27a5fbf
vendor: make vendor-update 2022-01-23 13:13:46 +02:00
Aliaksandr Valialkin
ce602827e5
vendor: make vendor-update 2022-01-17 15:43:08 +02:00
Aliaksandr Valialkin
1bdc71d917
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:14:59 +02:00
Aliaksandr Valialkin
f41846d002
app/vmselect/promql: add stale_samples_over_time() function 2022-01-14 01:48:04 +02:00
Aliaksandr Valialkin
4e84c38b70
vendor: update github.com/valyala/gozstd from v1.15.0 to v1.15.1 2022-01-13 23:44:31 +02:00
Aliaksandr Valialkin
c883c15878
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:12:06 +02:00
Aliaksandr Valialkin
4e7026320a
vendor: update github.com/valyala/gozstd from v1.14.2 to v1.15.0 2022-01-12 13:23:02 +02:00
Aliaksandr Valialkin
5c321c7178
vendor: make vendor-update 2022-01-11 10:15:42 +02:00
Aliaksandr Valialkin
71fa1c8baf
vendor: make vendor-update 2022-01-07 12:39:20 +02:00
Aliaksandr Valialkin
f40b1e7e9f
vendor: make vendor-update 2021-12-22 12:36:27 +02:00
Aliaksandr Valialkin
9e17b51d45
go.mod: update minimum Go version from Go 1.16 to Go 1.17
VictoriaMetrics code uses features from Go 1.17, so the minimum Go version must be increased from Go 1.16 to Go 1.17

See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1987
2021-12-22 12:27:02 +02:00
Aliaksandr Valialkin
974d9c0eee
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:19:44 +02:00
Aliaksandr Valialkin
7749b47d6a
vendor: make vendor-update 2021-12-20 12:07:22 +02:00
Aliaksandr Valialkin
5efe377a26
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:37:07 +02:00
Aliaksandr Valialkin
7d58f57a52
vendor: make vendor-update 2021-12-12 18:10:09 +02:00
Aliaksandr Valialkin
d1f8915ed1
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:04:58 +02:00
Aliaksandr Valialkin
e2d9bf3b57
vendor: make vendor-update 2021-12-06 10:19:09 +02:00
Aliaksandr Valialkin
9c66848c32
vendor: make vendor-update 2021-12-02 12:42:35 +02:00
Aliaksandr Valialkin
7275ebf91a
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:43 +02:00
Aliaksandr Valialkin
e6a0c87c7e
vendor: make vendor-update 2021-11-29 12:35:40 +02:00
Aliaksandr Valialkin
b900560b83
app/vmselect/promql: add now() function, which returns the current timestamp as a floating-point value in seconds 2021-11-17 16:35:30 +02:00
Aliaksandr Valialkin
4b660a7fc9
vendor: make vendor-update 2021-11-17 13:37:42 +02:00
Aliaksandr Valialkin
09b0641ccb
vendor: make vendor-update 2021-11-14 14:06:53 +02:00
Aliaksandr Valialkin
f43586c63c
app/vmselect/promql: arrange function names in the code in alphabetical order
This should simplify code maintenance in the future
2021-11-14 13:55:06 +02:00