enhancement(codecs): add influx line protocol serializer #24043
+1,759
−316
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Extracted the Influx Line Protocol serialization code into the codecs module and added support for the http/websocket sinks to use it. This enables neat features like being able to use the Grafana Live feature. E.g. with the Vector config below I was able to stream the Vector metrics into Grafana.
To test this you can start a Grafana instance via
docker run --rm -p 3000:3000 --name=grafana grafana/grafanaand then on http://localhost:3000/org/serviceaccounts create a service account (I just gave it admin access) and then create a token for the Bearer authentication. You can then query metrics from the integrated-- Grafana --data source (see the screenshot below).The functionality in Grafana to query this data is currently quite limited but I think this might still be useful for quickly plotting and exploring data e.g. during development of a Vector configuration file.
Vector configuration
How did you test this PR?
Change Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References
Notes
@vectordotdev/vectorto reach out to us regarding this PR.pre-pushhook, please see this template.make fmtmake check-clippy(if there are failures it's possible some of them can be fixed withmake clippy-fix)make testgit merge origin masterandgit push.Cargo.lock), pleaserun
make build-licensesto regenerate the license inventory and commit the changes (if any). More details here.