Commit graph

467 commits

Author SHA1 Message Date
Aliaksandr Valialkin
154de24e60
vendor: make vendor-update 2022-11-25 19:53:38 -08:00
Aliaksandr Valialkin
e45022c344
vendor: make vendor-update 2022-11-22 11:26:34 +02:00
Aliaksandr Valialkin
ad548abd6a
app/vmselect/promql: add range_normalize(q1, ..., qN) function for normalizing query results into [0..1] value range
This may be useful for analyzing correlation between time series with different value ranges
2022-11-21 23:25:35 +02:00
Aliaksandr Valialkin
9cb76c9cd3
app/vmselect/promql: allow using SI and IEC suffixes in numeric values inside queries
For example, 10Ki is equivalent to 10*1024, while 5.3M is equivalent to 5.3*1000*1000
2022-11-21 21:28:34 +02:00
Aliaksandr Valialkin
478a295208
vendor: make vendor-update 2022-11-17 01:38:59 +02:00
Aliaksandr Valialkin
0cc59b9f95
app/vmselect/promql: add range_stdvar() and range_stddev() functions for calculating variance and deviation over time series on the selected time range 2022-11-17 01:03:02 +02:00
Aliaksandr Valialkin
facf7efa3a
app/vmselect/promql: add range_linear_regression(q) function for calculating simple linear regression for the selected time series on the selected time range 2022-11-17 00:39:17 +02:00
Aliaksandr Valialkin
372b449f94
vendor: make vendor-update 2022-11-10 13:47:30 +02:00
Aliaksandr Valialkin
9108a1d33f
vendor: update github.com/urfave/cli/v2 from v2.23.2 to v2.23.4 2022-11-07 14:59:05 +02:00
Aliaksandr Valialkin
4c2963e015
vendor: make vendor-update 2022-11-05 10:40:30 +02:00
Aliaksandr Valialkin
be0aaa1e93
vendor: update github.com/urfave/cli/v2 from 2.20.3 to 2.23.0 2022-11-01 10:53:19 +02:00
Aliaksandr Valialkin
b259c55c1b
vendor: make vendor-update 2022-10-29 02:54:08 +03:00
Aliaksandr Valialkin
1386b6bd69
vendor: make vendor-update 2022-10-28 00:19:05 +03:00
Aliaksandr Valialkin
f4e9393076
vendor: make vendor-update 2022-10-28 00:08:50 +03:00
Aliaksandr Valialkin
4f53147ed4
app/{vminsert,vmselect}/netstorage: allow calling Init()+MustStop() in a loop
Previously netstorage.MustStop() call didn't free up all the resources,
so the subsequent call to nestorage.Init() would panic.

This allows writing tests, which call nestorage.Init() + nestorage.MustStop() in a loop.
2022-10-25 14:43:05 +03:00
Aliaksandr Valialkin
8946371466
vendor: make vendor-update 2022-10-24 15:50:57 +03:00
Aliaksandr Valialkin
a408223e6d
vendor: make vendor-update 2022-10-18 10:57:06 +03:00
Aliaksandr Valialkin
d0288ea417
all: log error when environment variables referred from -promscrape.config are missing
This should prevent from using incorrect config files
2022-10-18 10:29:59 +03:00
Aliaksandr Valialkin
00e4c7f265
vendor: make vendor-update 2022-10-14 15:20:48 +03:00
Aliaksandr Valialkin
54e5806d54
vendor: make vendor-update 2022-10-10 22:04:09 +03:00
Aliaksandr Valialkin
ac09a85a8b
vendor: make vendor-update 2022-10-07 01:04:37 +03:00
Zakhar Bessarab
6a6dcc059b
lib/backup: add support of Azure Blob Storage (#460)
* lib/backup: add support of Azure Blob Storage

* lib/backup: add enterprise support of Azure Blob Storage
2022-10-06 00:36:19 +03:00
Aliaksandr Valialkin
b57ca71eb2
vendor: make vendor-update 2022-10-01 17:19:01 +03:00
Zakhar Bessarab
5b7e8d1309
vmbackup: update AWS SDK to v2 (#3174)
* lib/backup/s3remote: update AWS SDK to v2

* Update lib/backup/s3remote/s3.go

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>

* lib/backup/s3remote: refactor error handling

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-10-01 17:13:04 +03:00
Aliaksandr Valialkin
6611417732
vendor: make vendor-update 2022-09-26 15:47:35 +03:00
Aliaksandr Valialkin
1271010727
vendor: make vendor-update 2022-09-21 12:03:10 +03:00
Dmytro Kozlov
ed842e7d3a
app/{vmctl,vmalert}: update progress bar library (make vendor-update) (#3138)
* app/{vmctl,vmalert}: update progress bar library (make vendor-update)

* app/{vmctl,vmalert}: make vendor-update
2022-09-21 11:11:40 +03:00
Aliaksandr Valialkin
7437d3c48f
vendor: make vendor-update 2022-09-19 15:14:01 +03:00
Aliaksandr Valialkin
34db3fdd3f
app/vmagent/remotewrite: add benchmarks for comparing the performance of standard Snappy encoder with github.com/klauspost/compress/s2 encoder
The standard Snappy encoder from github.com/golang/snappy shows quite good performance number
for compressing the Prometheus remote_write proto messages according to the added benchmarks,
so there is no need in switching to github.com/klauspost/compress/s2 yet.
2022-09-19 14:27:56 +03:00
Dmytro Kozlov
36ea8537d9
vmselect/promql: add alphanumeric sort by label (sort_by_label_numeric) (#2982)
* vmselect/promql: add alphanumeric sort by label (sort_by_label_numeric)

* vmselect/promql: fix tests, add documentation

* vmselect/promql: update test

* vmselect/promql: update for alphanumeric sorting, fix tests

* vmselect/promql: remove comments

* vmselect/promql: cleanup

* vmselect/promql: avoid memory allocations, update functions descriptions

* vmselect/promql: make linter happy (remove ineffectual assigment)

* vmselect/promql: add test case, fix behavior when strings are equal

* vendor: update github.com/VictoriaMetrics/metricsql from v0.44.1 to v0.45.0

this adds support for sort_by_label_numeric and sort_by_label_numeric_desc functions

* wip

* lib/promscrape: read response body into memory in stream parsing mode before parsing it

This reduces scrape duration for targets returning big responses.

The response body was already read into memory in stream parsing mode before this change,
so this commit shouldn't increase memory usage.

* wip

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2022-09-14 17:42:07 +03:00
Aliaksandr Valialkin
fea576e061
vendor: make vendor-update 2022-09-13 16:45:00 +03:00
Aliaksandr Valialkin
7ffd3ae1ff
vendor: make vendor-update 2022-09-08 18:57:19 +03:00
Aliaksandr Valialkin
6837400c5a
vendor: make vendor-update 2022-09-02 21:43:12 +03:00
Aliaksandr Valialkin
b26c18a7c5
vendor: make vendor-update 2022-08-30 09:45:58 +03:00
Aliaksandr Valialkin
1509fab1b2
vendor: make vendor-update 2022-08-21 19:08:20 +03:00
Aliaksandr Valialkin
2de9d42dcc
go.mod: update github.com/VictoriaMetrics/metrics from v1.22.1 to v1.22.2 2022-08-17 21:27:24 +03:00
Aliaksandr Valialkin
40c2fae617
vendor: make vendor-update 2022-08-15 00:54:50 +03:00
Aliaksandr Valialkin
e0865f4174
vendor: update github.com/VictoriaMetrics/metrics from v1.21.0 to v1.22.1 2022-08-08 17:19:16 +03:00
Aliaksandr Valialkin
6b49958e04
vendor: make vendor-update 2022-08-07 22:38:32 +03:00
Aliaksandr Valialkin
568e4aac5e
vendor: update github.com/VictoriaMetrics/metrics from v1.20.1 to v1.21.0
This adds the following push-related metrics when -pushmetrics.url is set:

- metrics_push_interval_seconds
- metrics_push_total
- metrics_push_errors_total
- metrics_push_bytes_pushed_total
- metrics_push_duration_seconds
- metrics_push_block_size_bytes

Updates https://github.com/VictoriaMetrics/metrics/issues/35
2022-08-04 18:34:38 +03:00
Aliaksandr Valialkin
7adc5a461b
vendor: make vendor-update 2022-08-02 09:20:03 +03:00
Aliaksandr Valialkin
27c4c5a530
vendor: make vendor-update 2022-07-25 10:54:54 +03:00
Aliaksandr Valialkin
bf797ba4d9
all: push metrics to -pusmetrics.url in gzip-compressed form in order to reduce the needed network bandwidth 2022-07-25 10:54:54 +03:00
Aliaksandr Valialkin
301a27b9f8
vendor: make vendor-update 2022-07-21 21:11:58 +03:00
Aliaksandr Valialkin
f00a6bf837
all: add ability to push internal metrics to remote storage system specified via -pushmetrics.url 2022-07-21 20:15:29 +03:00
Aliaksandr Valialkin
059e769674
vendor: make vendor-update 2022-07-18 12:00:45 +03:00
Aliaksandr Valialkin
8d33eee7d6
vendor: make vendor-update 2022-07-13 17:10:57 +03:00
Aliaksandr Valialkin
9a06353091
vendor: make vendor-update 2022-07-11 18:15:37 +03:00
Aliaksandr Valialkin
b5a272ae5d
vendor: make vendor-update 2022-07-07 20:49:36 +03:00
Aliaksandr Valialkin
757f4fd9f9
vendor: make vendor-update 2022-07-04 12:01:34 +03:00
Aliaksandr Valialkin
ffd88d0b76
vendor: update github.com/VictoriaMetrics/metricsql from v0.44.0 to v0.44.1 2022-06-30 17:37:57 +03:00
Aliaksandr Valialkin
69bbdf7304
vendor: make vendor-update 2022-06-28 14:55:41 +03:00
Aliaksandr Valialkin
94b81165d0
all: limit the maximum memory usage for regexp cache, which stores parsed regular expressions in MetricsQL queries
Previously the cache could store 10K unique regexps. When every regexp is huge (e.g. hundreds of kilobytes),
then the total cache size could grow to multiples of gigabytes. Now the cache size is limited by the total length
of all cached regexps. So huge regexps won't result in high memory usage for the cache.
2022-06-24 17:58:47 +03:00
Aliaksandr Valialkin
032d4fdf7d
vendor: make vendor-update 2022-06-20 14:31:57 +03:00
Aliaksandr Valialkin
e1fc4db109
vendor: make vendor-update 2022-06-13 10:07:19 +03:00
Aliaksandr Valialkin
38342f959a
vendor: make vendor-update 2022-06-06 13:25:11 +03:00
Aliaksandr Valialkin
af4daede2e
vendor: make vendor-update 2022-05-31 12:58:28 +03:00
Aliaksandr Valialkin
5924511960
vendor: make vendor-update 2022-05-25 21:52:54 +03:00
Aliaksandr Valialkin
e0bd035467
vendor: make vendor-update 2022-05-20 14:48:23 +03:00
dependabot[bot]
f3f04c0c8b
build(deps): bump github.com/influxdata/influxdb from 1.9.6 to 1.9.7 (#2589)
Bumps [github.com/influxdata/influxdb](https://github.com/influxdata/influxdb) from 1.9.6 to 1.9.7.
- [Release notes](https://github.com/influxdata/influxdb/releases)
- [Changelog](https://github.com/influxdata/influxdb/blob/master/CHANGELOG_OLD.md)
- [Commits](https://github.com/influxdata/influxdb/commits)

---
updated-dependencies:
- dependency-name: github.com/influxdata/influxdb
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-20 13:55:21 +03:00
Dmytro Kozlov
1a8a24bcb3
vmctl: fix build for solaris os (#2555)
* vmctl: fix build for solaris os

* vmctl: updated dependency (using Syscall instead of Syscall6)

* vmctl: updated dependency

* vmctl: updated dependency
2022-05-11 14:30:45 +03:00
Aliaksandr Valialkin
e736de8e5c
vendor: make vendor-update 2022-05-07 01:49:22 +03:00
Aliaksandr Valialkin
adf29d048c
vendor: make vendor-update 2022-05-04 23:56:45 +03:00
Aliaksandr Valialkin
b06b02c7e3
vendor: make vendor-update 2022-05-02 16:01:06 +03:00
Dmytro Kozlov
25e54d2b50
vmctl/vm: added datapoints collection bar (#2486)
add progress bars to the VM importer

The new progress bars supposed to display the processing speed per each
VM importer worker. This info should help to identify if there is a bottleneck
on the VM side during the import process, without waiting for its finish.
The new progress bars can be disabled by passing `vm-disable-progress-bar` flag.

Plotting multiple progress bars requires using experimental progress bar pool
from github.com/cheggaaa/pb/v3. Switch to progress bar pool required changes
in all import modes.

The openTSDB mode wasn't changed due to its implementation, which implies individual progress
bars per each series. Because of this, using the pool wasn't possible.

Signed-off-by: dmitryk-dk <kozlovdmitriyy@gmail.com>

Co-authored-by: hagen1778 <roman@victoriametrics.com>
2022-05-02 10:58:06 +03:00
Aliaksandr Valialkin
f1d31b66b9
vendor: update github.com/valyala/gozstd from v1.16.0 to v1.17.0 2022-04-29 19:35:07 +03:00
Aliaksandr Valialkin
6eb1580158
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:58:40 +03:00
Aliaksandr Valialkin
155cd5d6e1
vendor: make vendor-update 2022-04-26 15:27:40 +03:00
Aliaksandr Valialkin
2c7f7799eb
vendor: make vendor-update 2022-04-21 16:01:19 +03:00
Aliaksandr Valialkin
a5cfe5d13e
app/vmselect/promql: add drop_common_labels() function 2022-04-21 14:20:36 +03:00
Aliaksandr Valialkin
7a622a71ea
vendor: make vendor-update 2022-04-19 11:43:02 +03:00
Aliaksandr Valialkin
b9e133678f
vendor: make vendor-update 2022-04-12 12:56:50 +03:00
Aliaksandr Valialkin
b3a3e9990f
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:32:18 +03:00
Aliaksandr Valialkin
f1c01a6fcc
vendor: make vendor-update 2022-04-07 15:28:44 +03:00
Aliaksandr Valialkin
89c550fa5d
vendor: update github.com/VictoriaMetrics/fastcache from v1.9.0 to v1.10.0 2022-04-05 20:39:43 +03:00
Aliaksandr Valialkin
a8337c7170
vendor: make vendor-update 2022-04-04 13:08:07 +03:00
Aliaksandr Valialkin
20cecf32c0
vendor: make vendor-update 2022-03-26 13:08:29 +02:00
Aliaksandr Valialkin
3ed2f67876
vendor: make vendor-update 2022-03-21 17:02:42 +02:00
Aliaksandr Valialkin
f31f097de0
vendor: make vendor-update 2022-03-16 13:55:25 +02:00
Aliaksandr Valialkin
e2eaf2a681
vendor: make vendor-update 2022-03-03 18:15:12 +02:00
Aliaksandr Valialkin
d51c838904
vendor: make vendor-update 2022-02-22 20:56:33 +02:00
Aliaksandr Valialkin
28edbd9abb
vendor: make vendor-update 2022-02-21 13:59:20 +02:00
Aliaksandr Valialkin
916989479e
vendor: make vendor-update 2022-02-12 01:14:06 +02:00
Aliaksandr Valialkin
178178bdd4
vendor: update github.com/VictoriaMetrics/fastcache from v1.8.0 to v1.9.0 2022-02-08 01:18:27 +02:00
Aliaksandr Valialkin
75c5c33694
vendor: update github.com/valyala/gozstd from v1.15.1 to v1.16.0 2022-02-07 18:31:13 +02:00
Aliaksandr Valialkin
b4b40774ec
vendor: make vendor-update 2022-02-07 15:07:43 +02:00
Aliaksandr Valialkin
021ee53ba8
app/vminsert: improve re-routing logic in order to spread rows more evenly among the available storage nodes 2022-02-06 20:20:02 +02:00
Aliaksandr Valialkin
2cc5f2940f
vendor: update github.com/VictoriaMetrics/metricsql from v0.39.0 to v0.40.0 2022-02-01 17:43:09 +02:00
Aliaksandr Valialkin
04d6596298
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 20:25:15 +02:00
Aliaksandr Valialkin
f3250307b1
vendor: make vendor-update 2022-01-31 12:46:44 +02:00
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