Arash Hatami
2e01691d5d
A good change for MD files ( #2353 )
...
* Lint YAML
* Remove extra comment
* Fix command problem
* Format MD files
* Format & fix problem of MD files for docs
* Another fix for MD files
2022-03-22 14:01:04 +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
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
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
Roman Khavronenko
a92f53486a
docs: update MetricsQL
.Subquery
section description ( #1951 )
...
* simplify sentences;
* fix typo.
Signed-off-by: hagen1778 <roman@victoriametrics.com>
2021-12-17 11:52:42 +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
c922c7af9a
lib/storage: convert alternate regexps into Graphite wildcards inside __graphite__
pseudo-label
...
For example, `{__graphite__=~"foo.(bar|baz)"}` is automatically converted to `{__graphite__=~"foo.{bar,baz}"}` before execution.
This allows using multi-value Grafana template variables such as `{__graphite__=~"foo.($app)"}`.
2021-12-14 19:55:59 +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
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
a352b59b7e
docs/MetricsQL.md: mention than tlast_over_time() is an alias for timestamp()
2021-11-08 18:29:59 +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
62edbcdb23
docs/MetricsQL.md: clarify documentation for lifetime
function
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1780
2021-11-08 12:35:45 +02:00
João Paulo
5bd3518e4d
docs: fix multiple typos ( #1787 )
...
Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2021-11-05 20:46:06 +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
9568961054
docs/MetricsQL.md: add missing blank line before the link to github.com/VictoriaMetrics/metricsql package
2021-10-13 15:11:46 +03:00
Roman Khavronenko
49a7ff62df
docs: mention "PromQL compliance" in MetricsQL docs ( #1691 )
2021-10-11 21:52:28 +03:00
Aliaksandr Valialkin
b3d28f3872
app/vmselect/promql: add missing trigonometric functions, which are going to be added in Prometheus 2.31
...
See https://github.com/prometheus/prometheus/issues/9233
2021-10-11 21:17:21 +03:00
Aliaksandr Valialkin
d00f8b8800
docs/MetricsQL.md: clarify docs for union() function
2021-10-11 17:41:10 +03:00
Aliaksandr Valialkin
f17c4b74c5
docs/MetricsQL.md: add a link to https://medium.com/@romanhavronenko/victoriametrics-promql-compliance-d4318203f51e
2021-10-11 11:02:03 +03:00
Aliaksandr Valialkin
f1e1d20ac4
app/vmselect/promql: consistently return the same set of time series from limitk()
function
...
This is the expected behaviour by most users.
2021-10-08 19:55:29 +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
76c650bbda
app/vmselect/promql: add quantiles_over_time("phiLabel", phi1, ..., phiN, m[d])
function for calculating multiple quantiles at once
2021-09-17 23:35:04 +03:00
Aliaksandr Valialkin
81d24045c2
app/vmselect/promql: add histogram_quantiles("phiLabel", phi1, ..., phiN, buckets) function
...
This function calculates multiple quantiles over the given buckets at once
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1573
2021-09-17 13:39:06 +03:00
Aliaksandr Valialkin
3f8de4f82f
app/vmselect/promql: add mad(q)
and outliers_mad(tolerance, q)
functions to MetricsQL
2021-09-16 13:35:38 +03:00
Dima Lazerka
5a256970d6
Remove port 3000 and add https to play-grafana link ( #1616 )
...
* Remove port 3000 and add https to play-grafana link
* Fix typo
Co-authored-by: Dzmitry Lazerka <dlazerka@gmail.com>
2021-09-14 14:27:16 +03:00
Aliaksandr Valialkin
2b19dd8601
docs/MetricsQL.md: add a link to VictoriaMetrics github
2021-09-08 00:15:34 +03:00
Aliaksandr Valialkin
39bb6bdd79
app/vmselect/promql: add quantile("phiLabel", phi1, ..., phiN, q)
aggregate function to MetricsQL
...
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1573
2021-08-27 18:40:25 +03:00
Aliaksandr Valialkin
9b39e078c0
docs/MetricsQL.md: typo fix: histogram_qunatile -> histogram_quantile
2021-08-23 23:08:28 +03:00
Aliaksandr Valialkin
3eca49c4a6
docs/MetricsQL.md: fix the indentation for median
function
2021-08-23 12:04:43 +03:00
Aliaksandr Valialkin
a4948d92b5
docs/MetricsQL.md: typo fix: convesions->conversions
2021-08-23 12:01:34 +03:00
Aliaksandr Valialkin
8b9dc45c3c
docs/MetricsQL.md: typo fixes
2021-08-23 12:00:17 +03:00
Aliaksandr Valialkin
5917c72ddd
docs/MetricsQL.md: rehaul the documentation on MetricsQL
...
* Document all the functions supported by MetricsQL, including PromQL functions
* Group functions by their type: rollup functions, transform functions, label manipulation functions and aggregate functions.
* Document implicit query transformations.
2021-08-23 11:46:30 +03:00
Aliaksandr Valialkin
49886ecbc8
app/vmselect/promql: add bitmap_and(), bitmap_or() and bitmap_xor() functions to MetricsQL
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1541
2021-08-17 13:22:15 +03:00
Aaron France
3c22b5c41e
fix: typo in metrics.md docs
2021-07-27 10:53:02 +03:00
Aliaksandr Valialkin
9add9d86a6
app/vmselect/promql: duration handling improvements in MetricsQL queries
...
- Support durations anywhere in MetricsQL queries. E.g. sum_over_time(m[1h])/1h is equivalent to sum_over_time(m[1h])/3600
- Support durations without suffix. E.g. rate(m[300]) is equivalent to rate(m[5m])
2021-07-12 17:19:32 +03:00
Aliaksandr Valialkin
c97212ea63
docs/MetricsQL.md: add a link to technical details about rate()
and increase()
calculations in Prometheus and VictoriaMetrics
2021-05-28 13:14:23 +03:00
Dan Fredell
e05c03cf00
Fix quote difference on label_move example ( #1321 )
...
Fix quote difference on label_move example
2021-05-25 12:13:39 +03:00
Aliaksandr Valialkin
e9a63a5942
docs/MetricsQL.md: add a link to a list of supported timezones that can be passed to timezone_offset() function
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1306
2021-05-21 16:56:07 +03:00
Aliaksandr Valialkin
180829b8c2
app/vmselect/promql: add timezone_offset(tz)
function
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1306
2021-05-20 11:54:06 +03:00
Roman Khavronenko
c47825c255
Docs update from victoriaMetrics.github.io ( #1302 )
...
* port change from 11ca65677b
* port change from afb41dfa43
* port change from f82e3733c9
* port change from d499ab0502
2021-05-17 01:51:54 +03:00
Aliaksandr Valialkin
2bd99046a1
docs: update docs order
2021-04-24 01:28:13 +03:00
f41gh7
b493937815
updates per-tenant stats docs
...
changes docs order
changes per-tenant-stats pic
2021-04-14 12:31:51 +03:00
Roman Khavronenko
ff3711eea2
docs: update docs ordering and formatting ( #1192 )
...
The major change is adding `sort` directive to docs. For those docs which are copied
from internal packages `sort` is added via makefile command. For the rest it is added
manually since they're updated manually as well.
The rest of changes is connected with markdown formatting. For example, changing headers
in some files (`##` => `#`) makes navigation on .github.io to look better. This especially
useful for `changelog` docs.
Table of contents for `vmctl` is dropped, since we already have it autogenerated on .github.io.
No link changes expected. The corresponding PR to `cluster` branch will be made in follow-up PR.
2021-04-07 13:43:01 +03:00
Aliaksandr Valialkin
4aa59cae7c
app/vmselect/promql: do not delete dst_label
if src_label
is empty in label_copy(q, src_label, dst_label)
and label_move(q, src_label, dst_label)
2021-04-03 22:06:50 +03:00
Aliaksandr Valialkin
b9469de410
app/vmselect/promql: add ability to set label value additionally to label name for the remaining sum of time series returned from topk_*
and bottomk_*
functions in the form: topk_min(N, m, "label=value")
2021-04-02 23:56:30 +03:00
John Belmonte
edf39aa225
spelling fix: adjacent ( #1115 )
2021-03-09 09:19:16 +02:00
Aliaksandr Valialkin
5277507932
app/vmselect/promql: add histogram_avg()
, histogram_stddev()
and histogram_stdvar()
functions to MetricsQL
2021-03-04 14:12:52 +02:00
Aliaksandr Valialkin
5dbe88a1c6
app/vmselect/promql: add increase_pure()
function to MetricsQL
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/962
2021-02-22 19:15:31 +02:00
Aliaksandr Valialkin
4b930b9ffe
app/vmselect: add ability to set Graphite-compatible filter via {__graphite__="foo.*.bar"}
syntax
2021-02-03 01:17:19 +02:00
Aliaksandr Valialkin
c5bdab5a4c
app/vmselect/promql: add ability to pass multiple labels to sort_by_label
and sort_by_label_desc
functions
...
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/992
2021-01-13 12:43:47 +02:00
Aliaksandr Valialkin
df6e399f73
app/vmselect/promql: add tfirst_over_time(m[d])
and tlast_over_time(m[d])
MetricsQL functions for returning timestamps for the first and the last samples in m
over d
2021-01-12 16:12:47 +02:00
Aliaksandr Valialkin
c0db28cd9a
docs/MetricsQL.md: clarify that limitk(k, q)
returns an arbitrary set of k
time series with each call
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/951
2020-12-12 14:18:02 +02:00
Aliaksandr Valialkin
d242c2f2bd
app/vmselect/promql: add count_eq_over_time(m[d], N)
and count_ne_over_time(m[d], N)
for calculating the number of samples in m
over d
that are equal / not equal to N
2020-12-05 12:31:01 +02:00
Aliaksandr Valialkin
8cf76d8747
app/vmselect/promql: add label_uppercase(q, label1, ... labelN)
and label_lowercase(q, label1, ... labelN)
functions
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/936
2020-12-03 21:46:18 +02:00
John Belmonte
7ac49ac176
MetricsQL docs: parameter consistency ( #915 )
...
* MetricsQL docs: parameter consistency
if I understand correctly:
* `fun(q)` - fun takes instant vector
* `fun(m[d])` - fun takes range vector
* Update docs/MetricsQL.md
Co-authored-by: Aliaksandr Valialkin <valyala@gmail.com>
2020-11-20 11:43:07 +02:00
Aliaksandr Valialkin
6ce80425a6
docs/MetricsQL.md: fix a link to with templates
page
2020-11-05 16:12:59 +02:00
Aliaksandr Valialkin
40a4f5ded4
docs/MetricsQL.md: add missing whitespace
2020-11-02 23:49:45 +02:00
Aliaksandr Valialkin
c4464594b7
app/vmselect/promql: allow passing optional third argument to topk_*
and bottomk_*
functions in order to obtain sum of time series outside top/bottom K
2020-10-20 20:09:55 +03:00
Aliaksandr Valialkin
9b91305a31
docs/MetricsQL.md: small clarifications
2020-10-17 12:01:33 +03:00
Aliaksandr Valialkin
ac525462ce
docs/MetricsQL.md: mention that VictoriaMetrics keeps metric names after applying functions which dont change time series meaning
2020-10-12 13:25:28 +03:00
John Belmonte
a72a2566d7
fix typo on outliersk() doc ( #758 )
2020-09-11 01:59:55 +03:00
Aliaksandr Valialkin
478d8f8393
app/vmselect/promql: add count_le_over_time(m[d], le)
and count_gt_over_time(m[d], gt)
functions
...
These functions returns the number of raw samples that don't exceed `le` or are bigger than `gt`.
These functions are complement to already existing `share_le_over_time(m[d], le)` and `share_gt_over_time(m[d], gt)`.
2020-09-03 15:28:58 +03:00
Aliaksandr Valialkin
285665e93b
app/vmselect/promql: allow passing multiple args to aggregate functions such as avg(q1, q2, q3)
2020-08-15 01:15:16 +03:00
Aliaksandr Valialkin
87d7710c8e
docs/MetricsQL.md: mention that MetricsQL removes all the NaN values from results
2020-08-07 07:51:40 +03:00
Aliaksandr Valialkin
bdb881c43b
app/vmselect/promql: add zscore-related functions: zscore_over_time(m[d])
and zscore(q) by (...)
2020-08-03 21:52:15 +03:00
Aliaksandr Valialkin
312acf7ce9
docs/MetricsQL.md: small fixes in the docs
2020-07-28 13:28:01 +03:00
Aliaksandr Valialkin
cf69b1ea6f
app/vmselect/promql: add buckets_limit(k, buckets)
function, which limits the number of buckets per time series to k
...
This function works with both Prometheus-style and VictoriaMetrics-style buckets.
The function removes buckets with the lowest values in order to reserve the highest precision.
The function is useful for building heatmaps in Grafana from too big number of buckets.
2020-07-24 16:14:12 +03:00
Aliaksandr Valialkin
8d1721d128
app/vmselect/promql: add rate_over_sum(m[d])
function to MetricsQL, which returns rate over sum of m
values over d
duration
...
Something like `sum_over_time(m[d]) / d`, but more accurate.
2020-07-24 01:17:15 +03:00
Aliaksandr Valialkin
4d2011a87d
app/vmselect/promql: add mode()
aggregate function
2020-07-20 15:30:11 +03:00
Aliaksandr Valialkin
427fa43ce2
app/vmselect/promql: add mode_over_time(m[d])
function
...
See https://en.wikipedia.org/wiki/Mode_(statistics) and https://stackoverflow.com/questions/61134078/promql-query-to-return-the-value-from-a-range-vector-which-occurs-maximum-no-of
2020-07-17 18:29:10 +03:00
Aliaksandr Valialkin
c64914a7e4
app/vmselect/promql: keep all labels for time series from any()
call
2020-07-17 15:17:37 +03:00
Aliaksandr Valialkin
f10e8809c0
app/vmselect: add interpolate
function for filling gaps with linearly interpolated values
...
See https://stackoverflow.com/q/62565021/274937 for details
2020-07-02 14:54:46 +03:00
Aliaksandr Valialkin
d83c68ca03
app/vmselect/promql: add ascent_over_time(m[d])
and descent_over_time(m[d])
functions
...
These functions could be useful in GPS tracking apps for calculating the summary for height gain/loss
over the given duration `d`.
2020-05-21 12:06:34 +03:00
Aliaksandr Valialkin
ec6fb5a323
docs/MetricsQL.md: add a link to https://medium.com/@valyala/promql-tutorial-for-beginners-9ab455142085
2020-05-20 00:51:27 +03:00
Aliaksandr Valialkin
fc81ea38d4
app/vmselect/promql: add outliersk(N, m)
aggregate function for anomaly detection across groups of similar time series
2020-05-19 13:52:44 +03:00
Aliaksandr Valialkin
408ade27a9
app/vmselect/promql: add any(x) by (y)
aggregate function, which returns any time series from q
for each group y
2020-05-12 19:50:29 +03:00
Aliaksandr Valialkin
21c2982ac8
app/vmselect/promql: support for sum(x) by (y) limit N
syntax in order to limit the number of output time series after aggregation
2020-05-12 19:50:12 +03:00
Aliaksandr Valialkin
8f591b848a
docs/MetricsQL.md: document first_over_time
and last_over_time
functions
2020-05-03 12:47:16 +03:00
Aliaksandr Valialkin
9ed4951ec8
lib/metricsql: move it to a separate repository - github.com/VictoriaMetrics/metrics
2020-04-28 15:30:06 +03:00
Aliaksandr Valialkin
0e7a71a245
app/vmselect: add label_map(q, label, srcValue1, dstValue1, ... srcValueN, dstValueN)
function to MetricsQL
...
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/369
2020-03-12 19:13:56 +02:00
Aliaksandr Valialkin
846d7fa7e9
app/vmselect: add sort_by_label(q, label)
and sort_by_label_desc(q, label)
functions
...
This is implementation of https://github.com/prometheus/prometheus/pull/1533 for VictoriaMetrics.
2020-02-13 17:01:50 +02:00
Aliaksandr Valialkin
e7d1037210
docs: migrate ExtendedPromQL->MetricsQL in order to be more consistent
2020-02-10 23:03:31 +02:00