Class: OpenTelemetry::Metrics::Instrument::Histogram

Inherits:
Object
  • Object
show all
Defined in:
lib/opentelemetry/metrics/instrument/histogram.rb

Overview

No-op implementation of Histogram.

Instance Method Summary collapse

Instance Method Details

#bind(attributes: {}) ⇒ Histogram

(Development) Binds a fixed set of attributes to this Histogram, returning an instrument whose #record calls associate every measurement with those attributes. Attributes are resolved once at bind time rather than on every recording, avoiding repeated attribute processing and lookup. Passing attributes to #record on the returned bound instrument negates this benefit.

Parameters:

  • attributes (Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}) (defaults to: {}) —

    Values must be non-nil and (array of) string, boolean or numeric type. Array values must not contain nil elements and all elements must be of the same basic type (string, numeric, boolean).

Returns:

  • (Histogram) —

    a bound instrument supporting #record; the no-op implementation returns self.



44
45
46
# File 'lib/opentelemetry/metrics/instrument/histogram.rb', line 44

def bind(attributes: {})
  self
end

#enabled? ⇒ Boolean

Returns whether this Histogram is enabled for recording measurements.

Instrumentation authors need to call this API each time they record a measurement to ensure they have the most up-to-date value.

Returns:

  • (Boolean) —

    default to true in noop implementation



28
29
30
# File 'lib/opentelemetry/metrics/instrument/histogram.rb', line 28

def enabled?
  true
end

#record(amount, attributes: {}) ⇒ Object

Updates the statistics with the specified amount.

Parameters:

  • amount (numeric) —

    The amount of the Measurement, which MUST be a non-negative numeric value.

  • attributes (Hash{String => String, Numeric, Boolean, Array<String, Numeric, Boolean>}) (defaults to: {}) —

    Values must be non-nil and (array of) string, boolean or numeric type. Array values must not contain nil elements and all elements must be of the same basic type (string, numeric, boolean).



19
# File 'lib/opentelemetry/metrics/instrument/histogram.rb', line 19

def record(amount, attributes: {}); end