Module: PrometheusExporter::Ext::Server::BaseCollectorMethods::ClassMethods

Defined in:
lib/prometheus_exporter/ext/server/base_collector_methods.rb

Instance Method Summary collapse

Instance Method Details

#register_counter(name, help) ⇒ Object

Registers PrometheusExporter::Metric::Counter observer.

Parameters:

  • name (Symbol)

    metric name.

  • help (String)

    metric description.



37
38
39
# File 'lib/prometheus_exporter/ext/server/base_collector_methods.rb', line 37

def register_counter(name, help)
  register_metric(name, help, PrometheusExporter::Metric::Counter)
end

#register_gauge(name, help) ⇒ Object

Registers PrometheusExporter::Metric::Gauge observer.

Parameters:

  • name (Symbol)

    metric name.

  • help (String)

    metric description.



44
45
46
# File 'lib/prometheus_exporter/ext/server/base_collector_methods.rb', line 44

def register_gauge(name, help)
  register_metric(name, help, PrometheusExporter::Metric::Gauge)
end

#register_histogram(name, help, opts = {}) ⇒ Object

Registers PrometheusExporter::Metric::Histogram observer.

Parameters:

  • name (Symbol)

    metric name.

  • help (String)

    metric description.

  • opts (Hash) (defaults to: {})

    additional options, supports ‘buckets` key.



60
61
62
# File 'lib/prometheus_exporter/ext/server/base_collector_methods.rb', line 60

def register_histogram(name, help, opts = {})
  register_metric(name, help, PrometheusExporter::Metric::Histogram, opts)
end

#register_metric(name, help, metric_class, *args) ⇒ Object

Registers metric observer. rubocop:disable Metrics/ParameterLists

Parameters:

  • name (Symbol)

    metric name.

  • help (String)

    metric description.

  • metric_class (Class<PrometheusExporter::Metric::Base>)

    observer class.

  • args (Array)

    additional arguments for observer class.

Raises:

  • (ArgumentError)


26
27
28
29
30
31
32
# File 'lib/prometheus_exporter/ext/server/base_collector_methods.rb', line 26

def register_metric(name, help, metric_class, *args)
  # rubocop:enable Metrics/ParameterLists
  name = name.to_s
  raise ArgumentError, "metric #{name} is already registered" if registered_metrics.key?(name)

  registered_metrics[name] = { help:, metric_class:, args: }
end

#register_summary(name, help, opts = {}) ⇒ Object

Registers PrometheusExporter::Metric::Summary observer.

Parameters:

  • name (Symbol)

    metric name.

  • help (String)

    metric description.

  • opts (Hash) (defaults to: {})

    additional options, supports ‘quantiles` key.



52
53
54
# File 'lib/prometheus_exporter/ext/server/base_collector_methods.rb', line 52

def register_summary(name, help, opts = {})
  register_metric(name, help, PrometheusExporter::Metric::Summary, opts)
end