VictoriaMetrics/app/vmselect/graphite
Andrii Chubatiuk 9cfdbc582f
refactoring: changed prompb to prompbmarshal everythere where internal series transformations are happening (#7409)
### Describe Your Changes

doing similar changes for both vmagent and vminsert (like one in
https://github.com/VictoriaMetrics/VictoriaMetrics/pull/7399) ends up
with almost same implementations for each of packages instead of having
this shared code in one place. one of the reasons is the same Timeseries
and Labels structure from different prompb and prompbmarshal packages.
My proposal is to use structures from prompb package only to
marshal/unmarshal sent/received data, but for internal transformations
use only structures from prompbmarshal package

Another example, where it already can help to simplify code is streaming
aggregation pipeline for vmsingle (now it first marshals
prompb.Timeseries to storage.MetricRow and then if streaming aggregation
or deduplication is enabled it unmarshals all the series back but to
prompbmarshal.Timeseries)

### Checklist

The following checks are **mandatory**:

- [ ] My change adheres [VictoriaMetrics contributing
guidelines](https://docs.victoriametrics.com/contributing/).
2024-11-26 12:45:17 +01:00
..
aggr.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:20:37 +02:00
aggr_state.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:16:42 +02:00
eval.go all: fix golangci-lint(revive) warnings after 0c0ed61ce7 2024-04-02 23:16:29 +03:00
eval_test.go app/vmselect: fixes graphite function transformRemoveEmptySeries 2024-11-06 17:35:59 +01:00
functions.json app/vmselect/graphite: follow-up for 23ab865035 2024-04-02 23:39:00 +03:00
functions_api.go all: consistently use 'any' instead of 'interface{}' 2024-07-10 00:20:37 +02:00
metrics_api.go Makefile: update golangci-lint from v1.51.2 to v1.54.2 2023-09-01 10:16:42 +02:00
metrics_api_test.go app/vmselect,lib/storage: properly parse Graphite selectors with inner wildcards 2021-02-03 20:14:22 +02:00
metrics_expand_response.qtpl app/vmselect: initial implementation of Graphite Metrics API 2020-09-11 00:30:01 +03:00
metrics_expand_response.qtpl.go app/vmselect: initial implementation of Graphite Metrics API 2020-09-11 00:30:01 +03:00
metrics_find_response.qtpl app/vmselect/graphite: do not substitute path and path. with path.. in /metrics/find/?format=completer output 2020-09-29 18:03:26 +03:00
metrics_find_response.qtpl.go app/vmselect/graphite: do not substitute path and path. with path.. in /metrics/find/?format=completer output 2020-09-29 18:03:26 +03:00
metrics_index_response.qtpl app/vmselect: initial implementation of Graphite Metrics API 2020-09-11 00:30:01 +03:00
metrics_index_response.qtpl.go app/vmselect: initial implementation of Graphite Metrics API 2020-09-11 00:30:01 +03:00
natural_compare.go app/vmselect/graphite: open source Graphite Render API 2023-03-31 23:25:04 -07:00
natural_compare_test.go app/vmselect/graphite: open source Graphite Render API 2023-03-31 23:25:04 -07:00
render_api.go app/vmselect: move common http functionality from app/vmselect/searchutils to lib/httputils 2023-06-19 22:34:20 -07:00
render_api_test.go app/vmselect/graphite: open source Graphite Render API 2023-03-31 23:25:04 -07:00
render_response.qtpl app/vmselect: return +Inf as null in graphite render api (#5009) 2023-09-15 19:23:59 +02:00
render_response.qtpl.go app/vmselect: return +Inf as null in graphite render api (#5009) 2023-09-15 19:23:59 +02:00
tag_values_response.qtpl app/vmselect/graphite: add /tags/<tag_name> handler for Graphite Tags API 2020-11-16 03:42:25 +02:00
tag_values_response.qtpl.go app/vmselect/graphite: add /tags/<tag_name> handler for Graphite Tags API 2020-11-16 03:42:25 +02:00
tags_api.go refactoring: changed prompb to prompbmarshal everythere where internal series transformations are happening (#7409) 2024-11-26 12:45:17 +01:00
tags_autocomplete_response.qtpl app/vmselect/graphite: add /tags/autoComplete/values handler from Graphite Tags API 2020-11-16 15:29:35 +02:00
tags_autocomplete_response.qtpl.go app/vmselect/graphite: add /tags/autoComplete/values handler from Graphite Tags API 2020-11-16 15:29:35 +02:00
tags_find_series_response.qtpl app/vmselect/graphite: add /tags/findSeries handler from Graphite Tags API 2020-11-16 12:53:13 +02:00
tags_find_series_response.qtpl.go app/vmselect/graphite: add /tags/findSeries handler from Graphite Tags API 2020-11-16 12:53:13 +02:00
tags_response.qtpl app/vmselect/graphite: add /tags handler from Graphite Tags API 2020-11-16 03:00:01 +02:00
tags_response.qtpl.go app/vmselect/graphite: add /tags handler from Graphite Tags API 2020-11-16 03:00:01 +02:00
tags_tag_multi_series_response.qtpl app/{vminsert,vmselect}: move /tags/tagSeries and /tags/tagMultiSeries api from vminsert to vmselect 2020-11-23 12:33:19 +02:00
tags_tag_multi_series_response.qtpl.go app/{vminsert,vmselect}: move /tags/tagSeries and /tags/tagMultiSeries api from vminsert to vmselect 2020-11-23 12:33:19 +02:00
transform.go app/vmselect: fixes graphite function transformRemoveEmptySeries 2024-11-06 17:35:59 +01:00
transform_test.go app/vmselect/graphite: properly handle -N index for the array of N items 2024-01-16 21:05:01 +02:00