opentelemetry-0.8.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

OpenTelemetry.Metrics_Internal

Description

This is an internal module. The public interface is re-exported by OpenTelemetry.Eventlog

This module implements the instruments of the metrics portion of the OpenTelemetry API. It is reexported by OpenTelemetry.Eventlog and should be used by importing that.

The way to use the Instrument type is throught the add, record or observe functions (depending on the instrument type) which capture metrics on a given instrument.

Usage:

import OpenTelemetry.Eventlog

aCounter :: Counter
aCounter = Counter "myCounter"

anObserver :: ValueObserver
anObserver = ValueObserver "myObserver"

main :: IO ()
main = do
  add aCounter 3
  record anObserver 40
Synopsis

Documentation

data Instrument (s :: Synchronicity) (a :: Additivity) (m :: Monotonicity) where #

An OpenTelemetry instrument as defined in the OpenTelemetry Metrics API (https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/metrics/api.md)

Instances

Instances details
Show (Instrument s a m) # 
Instance details

Defined in OpenTelemetry.Metrics_Internal

Methods

showsPrec :: Int -> Instrument s a m -> ShowS

show :: Instrument s a m -> String

showList :: [Instrument s a m] -> ShowS

Eq (Instrument s a m) # 
Instance details

Defined in OpenTelemetry.Metrics_Internal

Methods

(==) :: Instrument s a m -> Instrument s a m -> Bool

(/=) :: Instrument s a m -> Instrument s a m -> Bool

Hashable (Instrument s a m) # 
Instance details

Defined in OpenTelemetry.Metrics_Internal

Methods

hashWithSalt :: Int -> Instrument s a m -> Int #

hash :: Instrument s a m -> Int #

data SomeInstrument #

Existential wrapper for Instrument. Use when the exact type of Instrument does not matter.

Constructors

forall s a m. SomeInstrument (Instrument s a m) 

Instances

Instances details
Show SomeInstrument # 
Instance details

Defined in OpenTelemetry.Metrics_Internal

Methods

showsPrec :: Int -> SomeInstrument -> ShowS

show :: SomeInstrument -> String

showList :: [SomeInstrument] -> ShowS

Eq SomeInstrument # 
Instance details

Defined in OpenTelemetry.Metrics_Internal

Hashable SomeInstrument # 
Instance details

Defined in OpenTelemetry.Metrics_Internal

Methods

hashWithSalt :: Int -> SomeInstrument -> Int #

hash :: SomeInstrument -> Int #

Synonyms for specific types of Instrument

Used for indexing Instrument. All possible combinations are covered

data Additivity #

Constructors

Additive 
NonAdditive 

type InstrumentName = ByteString #

type InstrumentId = Word64 #