output: add support for metrics type #79
Open
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.
Fluent-bit supports the CMetrics datatype now that is based on Prometheus metrics.
This change allows the fluent-bit-go output plugin to decode the metrics type in addition to the existing logs type into
map[interface{}]interface{}
I have added a golang struct that is the golang version of the CMetrics structure, a String override to print in Prometheus text format, and a function to convert
map[interface{}]interface{}
returned by the decoder to the CMetrics struct.This depends on fluent/fluent-bit#9735 for metrics to be able to flow to the output plugin.
I have tested this with a fluent-bit build with the change above and my own golang output plugin.