Module: Prometheus::Client
- Defined in:
- lib/prometheus/client.rb,
lib/prometheus/client/push.rb,
lib/prometheus/client/gauge.rb,
lib/prometheus/client/metric.rb,
lib/prometheus/client/counter.rb,
lib/prometheus/client/summary.rb,
lib/prometheus/client/version.rb,
lib/prometheus/client/registry.rb,
lib/prometheus/client/histogram.rb,
lib/prometheus/client/page_size.rb,
lib/prometheus/client/mmaped_dict.rb,
lib/prometheus/client/formats/text.rb,
lib/prometheus/client/mmaped_value.rb,
lib/prometheus/client/simple_value.rb,
lib/prometheus/client/support/puma.rb,
lib/prometheus/client/configuration.rb,
lib/prometheus/client/rack/exporter.rb,
lib/prometheus/client/rack/collector.rb,
lib/prometheus/client/support/unicorn.rb,
lib/prometheus/client/uses_value_type.rb,
lib/prometheus/client/helper/plain_file.rb,
lib/prometheus/client/helper/file_locker.rb,
lib/prometheus/client/helper/json_parser.rb,
lib/prometheus/client/helper/mmaped_file.rb,
lib/prometheus/client/helper/entry_parser.rb,
lib/prometheus/client/label_set_validator.rb,
lib/prometheus/client/helper/metrics_processing.rb,
lib/prometheus/client/helper/metrics_representation.rb
Overview
Client is a ruby implementation for a Prometheus compatible client.
Defined Under Namespace
Modules: Formats, Helper, PageSize, Rack, Support, UsesValueType Classes: Configuration, Counter, Gauge, Histogram, LabelSetValidator, Metric, MmapedDict, MmapedValue, ParsingError, Push, Registry, SimpleValue, Summary
Constant Summary collapse
- VERSION =
'1.6.1'.freeze
Class Attribute Summary collapse
Class Method Summary collapse
- .cleanup! ⇒ Object
- .configure {|configuration| ... } ⇒ Object
- .logger ⇒ Object
- .pid ⇒ Object
-
.registry ⇒ Object
Returns a default registry object.
-
.reinitialize_on_pid_change(force: false) ⇒ Object
With
force: false: reinitializes metric files only for processes with the changed PID. -
.reset! ⇒ Object
Resets the registry and reinitializes all metrics files.
Class Attribute Details
.configuration ⇒ Object
11 12 13 |
# File 'lib/prometheus/client.rb', line 11 def configuration @configuration ||= Configuration.new end |
Class Method Details
.cleanup! ⇒ Object
40 41 42 |
# File 'lib/prometheus/client.rb', line 40 def cleanup! Dir.glob("#{configuration.multiprocess_files_dir}/*.db").each { |f| File.unlink(f) if File.exist?(f) } end |
.configure {|configuration| ... } ⇒ Object
15 16 17 |
# File 'lib/prometheus/client.rb', line 15 def configure yield(configuration) end |
.logger ⇒ Object
24 25 26 |
# File 'lib/prometheus/client.rb', line 24 def logger configuration.logger end |
.pid ⇒ Object
28 29 30 |
# File 'lib/prometheus/client.rb', line 28 def pid configuration.pid_provider.call end |
.registry ⇒ Object
Returns a default registry object
20 21 22 |
# File 'lib/prometheus/client.rb', line 20 def registry @registry ||= Registry.new end |
.reinitialize_on_pid_change(force: false) ⇒ Object
With force: false: reinitializes metric files only for processes with the changed PID.
With force: true: reinitializes all metrics files.
Always keeps the registry.
Use case (force: false): pick up new metric files on each worker start,
without resetting already registered files for the master or previously initialized workers.
49 50 51 52 53 54 55 |
# File 'lib/prometheus/client.rb', line 49 def reinitialize_on_pid_change(force: false) if force ::Prometheus::Client::MmapedValue.reset_and_reinitialize else ::Prometheus::Client::MmapedValue.reinitialize_on_pid_change end end |
.reset! ⇒ Object
Resets the registry and reinitializes all metrics files.
Use case: clean up everything in specs before block,
to prevent leaking the state between specs which are updating metrics.
35 36 37 38 |
# File 'lib/prometheus/client.rb', line 35 def reset! @registry = nil ::Prometheus::Client::MmapedValue.reset_and_reinitialize end |