VictoriaMetrics/app
Nikolay 85de94e85c
lib/protoparser: adds opentelemetry parser (#2570)
* lib/protoparser: adds opentelemetry parser
app/{vmagent,vminsert}: adds opentelemetry ingestion path

Adds ability to ingest data with opentelemetry protocol
protobuf and json encoding is supported
data converted into prometheus protobuf timeseries
each data type has own converter and it may produce multiple timeseries
from single datapoint (for summary and histogram).
only cumulative aggregationFamily is supported for sum(prometheus
counter) and histogram.

Apply suggestions from code review

Co-authored-by: Roman Khavronenko <roman@victoriametrics.com>

updates deps

fixes tests

wip

wip

wip

wip

lib/protoparser/opentelemetry: moves to vtprotobuf generator

go mod vendor

lib/protoparse/opentelemetry: reduce memory allocations

* wip

- Remove support for JSON parsing, since it is too fragile and is rarely used in practice.
  The most clients send OpenTelemetry metrics in protobuf.
  The JSON parser can be added in the future if needed.
- Remove unused code from lib/protoparser/opentelemetry/pb and lib/protoparser/opentelemetry/proto
- Do not re-use protobuf message between ParseStream() calls, since there is high chance
  of high fragmentation of the re-used message because of too complex nested structure of the message.

* wip

* wip

* wip

---------

Co-authored-by: Aliaksandr Valialkin <valyala@victoriametrics.com>
2023-07-27 13:37:15 -07:00
..
victoria-logs app/vlselect: handle vmui at /select/vmui path instead of /vmui 2023-07-06 21:36:28 -07:00
vlinsert app/vlinsert/loki: manually remove bloat dependecies for generate proto file (#4686) 2023-07-22 15:37:30 -07:00
vlselect app/{vmselect,vlselect}/vmui: run make vmui-update vmui-logs-update after b6ae325763 2023-07-24 17:15:26 -07:00
vlstorage docs: follow-up after aec4b5db81 (#4638) 2023-07-19 14:48:17 -07:00
vmagent lib/protoparser: adds opentelemetry parser (#2570) 2023-07-27 13:37:15 -07:00
vmalert app/vmalert: make golangci-lint happy after ae0e4a8c90 2023-07-27 13:27:36 -07:00
vmauth docs: use 1. instead of N. in numbered bullets, so they are automatically adjusted by Github Markdown engine 2023-07-26 14:40:06 -07:00
vmbackup docs: use 1. instead of N. in numbered bullets, so they are automatically adjusted by Github Markdown engine 2023-07-26 14:40:06 -07:00
vmbackupmanager docs: use 1. instead of N. in numbered bullets, so they are automatically adjusted by Github Markdown engine 2023-07-26 14:40:06 -07:00
vmctl docs: use 1. instead of N. in numbered bullets, so they are automatically adjusted by Github Markdown engine 2023-07-26 14:40:06 -07:00
vmgateway docs: follow-up after aec4b5db81 (#4638) 2023-07-19 14:48:17 -07:00
vminsert lib/protoparser: adds opentelemetry parser (#2570) 2023-07-27 13:37:15 -07:00
vmrestore docs: use 1. instead of N. in numbered bullets, so they are automatically adjusted by Github Markdown engine 2023-07-26 14:40:06 -07:00
vmselect app/{vmselect,vlselect}/vmui: run make vmui-update vmui-logs-update after b6ae325763 2023-07-24 17:15:26 -07:00
vmstorage lib/storage: pre-create timeseries before indexDB rotation (#4652) 2023-07-22 15:23:14 -07:00
vmui vmui: remove monaco-editor (#4698) 2023-07-24 16:27:57 -07:00