Aliaksandr Valialkin
|
4146fc4668
|
all: properly handle CPU limits set on the host system/container
This can reduce memory usage on systems with enabled CPU limits.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/946
|
2020-12-08 21:07:29 +02:00 |
|
Aliaksandr Valialkin
|
266788be14
|
app/vmselect: use storage.NewSearchQuery() instead of constructing storage.SearchQuery in-place
This should prevent from bugs when AccountID and ProjectID aren't set in storage.SearchQuery.
|
2020-11-16 18:24:00 +02:00 |
|
Aliaksandr Valialkin
|
3c1434118e
|
app/vmselect/prometheus: return __name__ label if match[] query to /api/v1/labels matches at least a single time series
|
2020-11-16 13:54:34 +02:00 |
|
Aliaksandr Valialkin
|
27a417bcd3
|
app/vmselect/prometheus: improve performance for /api/v1/labels and /api/v1/label/<labelName>/values on time ranges exceeding one day when match[] query arg is set
|
2020-11-16 13:51:59 +02:00 |
|
Aliaksandr Valialkin
|
6fa806f1ca
|
app/vmselect/prometheus: fix deadlock in /api/v1/series on a time range exceeding one day
|
2020-11-16 13:30:47 +02:00 |
|
Aliaksandr Valialkin
|
465923b181
|
app/vmselect/graphite: add /tags/findSeries handler from Graphite Tags API
See https://graphite.readthedocs.io/en/stable/tags.html#exploring-tags
|
2020-11-16 12:53:13 +02:00 |
|
Aliaksandr Valialkin
|
47a038401b
|
all: consistently return text-based HTTP responses with charset=utf-8
This is a follow-up for https://github.com/VictoriaMetrics/VictoriaMetrics/pull/897
|
2020-11-13 10:35:41 +02:00 |
|
Aliaksandr Valialkin
|
368b69b4c4
|
app/vmselect: properly handle errors in GetLabelsOnTimeRange and GetLabelValuesOnTimeRange
|
2020-11-05 01:38:38 +02:00 |
|
Aliaksandr Valialkin
|
b378cd6ed8
|
app/vmselect: optimize querying for /api/v1/labels and /api/v1/label/<name>/values when start and end args are set
|
2020-11-05 01:01:33 +02:00 |
|
Aliaksandr Valialkin
|
1e27420243
|
app/vmselect/prometheus: fix golangci-lint warning
|
2020-10-13 09:36:11 +03:00 |
|
Aliaksandr Valialkin
|
4f16a964e3
|
app/vmselect: add ability to export data in CSV format via /api/v1/export/csv
|
2020-10-12 20:08:17 +03:00 |
|
Aliaksandr Valialkin
|
96ee276e6e
|
app/vmselect/prometheus: check for errors returned from bufferedwriter.Write
This makes `make errcheck` happy
|
2020-09-29 11:37:01 +03:00 |
|
Aliaksandr Valialkin
|
1b3efccb24
|
app/vmselect: stop /api/v1/export/* execution if client disconnects
|
2020-09-27 23:53:13 +03:00 |
|
Aliaksandr Valialkin
|
95688cbfc5
|
all: add native format for data export and import
The data can be exported via [/api/v1/export/native](https://victoriametrics.github.io/#how-to-export-data-in-native-format) handler
and imported via [/api/v1/import/native](https://victoriametrics.github.io/#how-to-import-data-in-native-format) handler.
|
2020-09-27 19:54:07 +03:00 |
|
Aliaksandr Valialkin
|
27500d7d4c
|
app/vmselect/prometheus: code cleanup after 3ba507000c
|
2020-09-23 13:04:17 +03:00 |
|
Aliaksandr Valialkin
|
3ba507000c
|
app/vmselect/prometheus: return timestamps from /api/v1/query , which match the time query arg
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/720
|
2020-09-23 12:58:48 +03:00 |
|
Aliaksandr Valialkin
|
8c3d7c1a59
|
app/vmselect: typo fix in -search.maxStalenessInterval description
|
2020-09-15 14:24:27 +03:00 |
|
Aliaksandr Valialkin
|
a2f647d142
|
app/vmselect/prometheus: typo fix in the description for -search.latencyOffset command-line flag
|
2020-09-11 14:16:46 +03:00 |
|
Aliaksandr Valialkin
|
f0005c3007
|
app/vmselect: move Deadline from netstorage to searchutils
This removes dependency on netstorage from searchutils.
|
2020-09-11 13:27:13 +03:00 |
|
Aliaksandr Valialkin
|
f6bc608e86
|
app/vmselect: initial implementation of Graphite Metrics API
See https://graphite-api.readthedocs.io/en/latest/api.html#the-metrics-api
|
2020-09-11 00:30:01 +03:00 |
|
Aliaksandr Valialkin
|
147c35ebd4
|
all: allow using KB , MB , GB , KiB , MiB and GiB suffixes in command-line flag values related to byte sizes or byte rates
|
2020-08-16 17:05:52 +03:00 |
|
Aliaksandr Valialkin
|
e969ef2639
|
app/vmselect: reduce memory usage when exporting time series with big number of samples via /api/v1/export if max_rows_per_line is set to non-zero value
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/685
|
2020-08-10 20:57:36 +03:00 |
|
Aliaksandr Valialkin
|
509d12643b
|
app/vmselect: show X-Forwarded-For contents on /api/v1/status/active_queries page
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/659
|
2020-07-31 20:05:18 +03:00 |
|
Aliaksandr Valialkin
|
79c30cf4cb
|
app/vmselect: show query origin (aka remote_addr or client address) on the /api/v1/status/active_queries page for every query
|
2020-07-28 15:13:08 +03:00 |
|
Aliaksandr Valialkin
|
4f526cc816
|
app/vmselect/prometheus: support d , w and y suffixes for durations passed to step in /api/v1/query_range like Prometheus does
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/641
|
2020-07-22 16:26:18 +03:00 |
|
Aliaksandr Valialkin
|
caa2952aa6
|
app/vmselect: take into account the time spent in wait queue before query execution as time spent on the query
|
2020-07-21 19:00:09 +03:00 |
|
Aliaksandr Valialkin
|
5a4675c528
|
app/vmselect/prometheus: do not return time series with empty list of datapoints from /api/v1/query_range
This matches Prometheus behaviour.
This should fix https://github.com/jacksontj/promxy/issues/329
|
2020-07-20 15:31:21 +03:00 |
|
Aliaksandr Valialkin
|
25f80d320b
|
app/vmselect/prometheus: do not adjust last points in time series with timestamps exceeding the current time
Such timestamps usually mean that the query contains `offset`.
See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/625
|
2020-07-14 12:52:16 +03:00 |
|
Aliaksandr Valialkin
|
55d83e777d
|
app/vmselect/prometheus: minimize the diff for the change 1033dc7e2a over 619b0a25c9
|
2020-07-13 21:40:38 +03:00 |
|
faceair
|
1033dc7e2a
|
fix empty response template (#617)
|
2020-07-13 21:31:19 +03:00 |
|
Aliaksandr Valialkin
|
acf828a759
|
app/vmselect/prometheus: small fixes on top of 8bb762124a
|
2020-07-05 18:17:06 +03:00 |
|
faceair
|
8bb762124a
|
fix adjust last points avoid influence earlier value (#606)
|
2020-07-05 17:56:54 +03:00 |
|
Aliaksandr Valialkin
|
d5dddb0953
|
all: use %w instead of %s for wrapping errors in fmt.Errorf
This will simplify examining the returned errors such as httpserver.ErrorWithStatusCode .
See https://blog.golang.org/go1.13-errors for details.
|
2020-06-30 23:05:11 +03:00 |
|
Aliaksandr Valialkin
|
0afd48d2ee
|
lib: extract common code for returning fast unix timestamp into lib/fasttime
|
2020-05-14 23:02:07 +03:00 |
|
Aliaksandr Valialkin
|
4e4f57b121
|
lib/metricsql: move it to a separate repository - github.com/VictoriaMetrics/metrics
|
2020-04-28 15:28:22 +03:00 |
|
Aliaksandr Valialkin
|
364db13c9c
|
app/vmselect: add /api/v1/status/tsdb page with useful stats for locating root cause for high cardinality issues
See https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-stats
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/425
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/268
|
2020-04-22 22:03:43 +03:00 |
|
Aliaksandr Valialkin
|
9ebc937685
|
app/vmselect: add -search.minStalenessInterval command-line flag for removing gaps on graphs built from time series with irregular duration between samples
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/426
|
2020-04-20 19:42:15 +03:00 |
|
Aliaksandr Valialkin
|
fe57d46687
|
app/vmselect: merge -search.maxLookback and -search.maxStalenessInterval flags, since it has been appeared they have identical purpose :(
Leave both flags for backwards compatibility reasons.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/209
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/426
|
2020-04-20 19:26:31 +03:00 |
|
Aliaksandr Valialkin
|
f41e6a7bd9
|
app/vmselect: properly apply -search.maxLookback to queries sent to /api/v1/query
|
2020-04-17 12:30:11 +03:00 |
|
Aliaksandr Valialkin
|
0c485f14d1
|
app/vmselect/prometheus: allow passing relative time to start , end and time args of /api/v1/* queries
|
2020-03-29 21:57:14 +03:00 |
|
Aliaksandr Valialkin
|
2ebf7d86ff
|
app/vmselect/prometheus: code simplification: (d.Seconds()/1e3) -> d.Milliseconds()
|
2020-03-29 21:50:28 +03:00 |
|
Aliaksandr Valialkin
|
e17702fada
|
app/vmselect: add optional max_rows_per_line query arg to /api/v1/export
This arg allows limiting the number of data points that may be exported on a single line.
|
2020-03-10 21:45:56 +02:00 |
|
Aliaksandr Valialkin
|
7d178a40bd
|
app/vmselect/prometheus: do not add __name__!= filter when searching for all the matching metric names via /api/v1/label/__name__/values with non-empty label filter
This should reduce query time.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/343
|
2020-02-28 23:35:55 +02:00 |
|
Aliaksandr Valialkin
|
5701b2f7bb
|
app/vmselect/prometheus: properly pass filter for labelName=__name__ in labelValuesWithMatches
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/343
|
2020-02-28 12:18:14 +02:00 |
|
Aliaksandr Valialkin
|
36a1ac8360
|
app/vmselect: take into account the time the requests wait in the queue if -search.maxConcurrentRequests is exceeded
This will prevent from excess CPU usage for timed out queries.
|
2020-02-04 16:15:08 +02:00 |
|
Aliaksandr Valialkin
|
42864bb52f
|
all: do not clash flag description with back-quoted flag types
See https://golang.org/pkg/flag/#PrintDefaults for more details.
|
2020-02-04 15:46:52 +02:00 |
|
Aliaksandr Valialkin
|
9773022e50
|
app/vmselect: mention the original query and time range in error messages
This should simplify debugging invalid or heavy queries.
|
2020-01-22 17:36:36 +02:00 |
|
Aliaksandr Valialkin
|
efc7ad88ec
|
app/vmselect: mention command-line flag, which could be used for adjusting query timeouts, in timeout errors
|
2020-01-22 15:50:48 +02:00 |
|
Aliaksandr Valialkin
|
ec9651e266
|
app/vmselect/prometheus: increase default value -maxExportDuration to 30 days, since 10 minutes beat users exporting bit amounts of data
|
2020-01-22 15:50:47 +02:00 |
|
Aliaksandr Valialkin
|
0d7505b00e
|
all: mention command-line flags used for limiting the incoming request size in error messages
This should improve error logs usability.
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/287
|
2020-01-16 13:03:30 +02:00 |
|