Plugin Helper: Metrics
The metrics plugin helper manages the metrics values in plugins.
Here is an example:
require 'fluent/plugin/input'
module Fluent::Plugin
class ExampleInput < Input
Fluent::Plugin.register_input('example', self)
# 1. Load metrics helper
helpers :metrics
def configure(conf)
super
# 2. Create parser plugin instance
@metrics = metrics_create(namespace: "fluentd", subsystem: "input", name: "example", help_text: "Example metrics")
end
def start
super
# 3. Increase metrics value
@metrics.inc
end
def statistics
stats = super
# 4. Retrieve metrics value
stats = {
'input' => stats["input"].merge({ 'example' => @metrics.get })
}
stats
end
end
For more details, see the following articles:
Methods
metrics_create(namespace: "fluentd", subsystem: "metrics", name:, help_text:, labels: {}, prefer_gauge: false)
This method creates a metrics instance.
namespace: The namespace for the metrics.subsystem: The names that represent specific functions or components.name: The metrics name.help_text: The description for metrics.labels: The key/value pair for metrics labels.prefer_gauge: Use gauge instead of counter for the metrics iftrue.
Since 1.19.0, metrics_create method generates a getter method with the specified name on the calling instance.