diff --git a/opentelemetry-api/src/opentelemetry/_metrics/instrument.py b/opentelemetry-api/src/opentelemetry/_metrics/instrument.py index 1a855621f4d..ed70f2ddc7e 100644 --- a/opentelemetry-api/src/opentelemetry/_metrics/instrument.py +++ b/opentelemetry-api/src/opentelemetry/_metrics/instrument.py @@ -98,10 +98,12 @@ def __init__( class Synchronous(Instrument): - pass + """Base class for all synchronous instruments""" class Asynchronous(Instrument): + """Base class for all asynchronous instruments""" + @abstractmethod def __init__( self, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/__init__.py index efe77c02b5d..886b07aeade 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/__init__.py @@ -55,6 +55,8 @@ class Meter(APIMeter): + """See `opentelemetry._metrics.Meter`.""" + def __init__( self, instrumentation_scope: InstrumentationScope, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/export/__init__.py index ff505ed4dfc..88171f975f2 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/export/__init__.py @@ -35,6 +35,10 @@ class MetricExportResult(Enum): + """Result of exporting a metric + + Can be any of the following values:""" + SUCCESS = 0 FAILURE = 1 diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/measurement.py b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/measurement.py index 7ed6d13c1ff..730d1509d07 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/measurement.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/measurement.py @@ -23,6 +23,10 @@ @dataclass(frozen=True) class Measurement: + """ + Represents a data point reported via the metrics API to the SDK. + """ + value: Union[int, float] instrument: "_Instrument" attributes: Attributes = None diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/point.py b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/point.py index e08140c33e8..6d55858a635 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/point.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_metrics/point.py @@ -23,6 +23,12 @@ class AggregationTemporality(IntEnum): + """ + The temporality to use when aggregating data. + + Can be one of the following values: + """ + UNSPECIFIED = 0 DELTA = 1 CUMULATIVE = 2 @@ -30,6 +36,9 @@ class AggregationTemporality(IntEnum): @dataclass(frozen=True) class Sum: + """Represents the type of a scalar metric that is calculated as a sum of + all reported measurements over a time interval.""" + aggregation_temporality: AggregationTemporality is_monotonic: bool start_time_unix_nano: int @@ -39,12 +48,19 @@ class Sum: @dataclass(frozen=True) class Gauge: + """Represents the type of a scalar metric that always exports the current + value for every data point. It should be used for an unknown + aggregation.""" + time_unix_nano: int value: Union[int, float] @dataclass(frozen=True) class Histogram: + """Represents the type of a metric that is calculated by aggregating as a + histogram of all reported measurements over a time interval.""" + aggregation_temporality: AggregationTemporality bucket_counts: Sequence[int] explicit_bounds: Sequence[float]