VictoriaMetrics/app/vminsert
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
..
clusternative lib/handshake: do not pollute logs with cannot read hello messages on TCP health checks 2023-05-18 10:37:59 -07:00
csvimport lib/protoparser/csvimport: extract stream parsing code into a separate stream package 2023-02-13 10:26:29 -08:00
datadog lib/protoparser/datadog: extract stream parsing code into a separate stream package 2023-02-13 09:53:20 -08:00
deployment Rootless docker images by default (#358) 2020-03-27 21:18:32 +02:00
graphite lib/protoparser/graphite: extract stream parsing code into a separate stream package 2023-02-13 10:33:24 -08:00
influx fixed typos in documentation and commandline flags descriptions (#4275) 2023-05-10 02:22:06 -07:00
multiarch all: run apk update && apk upgrade in base Alpine Docker image in order to get all the recent security fixes 2023-02-09 14:03:02 -08:00
native lib/protoparser/native: extract stream parsing code into a separate stream package 2023-02-13 10:44:27 -08:00
netstorage all: replace atomic.Value with atomic.Pointer[T] 2023-07-19 17:48:26 -07:00
opentelemetry lib/protoparser: adds opentelemetry parser (#2570) 2023-07-27 13:37:15 -07:00
opentsdb lib/protoparser/opentsdb: extract stream parsing code into a separate stream package 2023-02-13 10:04:14 -08:00
opentsdbhttp lib/protoparser/opentsdbhttp: extract stream parsing code into a separate stream package 2023-02-13 10:15:15 -08:00
prometheusimport lib/protoparser/prometheus: move streamparser to subpackage (#3814) 2023-02-13 09:44:47 -08:00
promremotewrite app/vmagent: add support for VictoriaMetrics remote write protocol, which allows saving up to 10x on network bandwidth costs under high load 2023-02-20 18:40:40 -08:00
relabel all: replace atomic.Value with atomic.Pointer[T] 2023-07-19 17:48:26 -07:00
vmimport lib/protoparser/vmimport: extract stream parsing code into a separate stream package 2023-02-13 10:22:00 -08:00
main.go lib/protoparser: adds opentelemetry parser (#2570) 2023-07-27 13:37:15 -07:00
Makefile all: add Windows build for VictoriaMetrics 2023-03-19 23:28:26 -07:00
README.md all: add native format for data export and import 2020-09-27 17:36:38 +03:00

vminsert routes the ingested data to vmstorage.