
    g                         d Z ddlmZmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddl	mZ ddl	mZ ddlm Z  eee
eeeeeeeeeeeeeeeeeeeee eefD ]	  Z!e"e!_#         g dZ$y)	a  
The OpenTelemetry metrics API  describes the classes used to generate
metrics.

The :class:`.MeterProvider` provides users access to the :class:`.Meter` which in
turn is used to create :class:`.Instrument` objects. The :class:`.Instrument` objects are
used to record measurements.

This module provides abstract (i.e. unimplemented) classes required for
metrics, and a concrete no-op implementation :class:`.NoOpMeter` that allows applications
to use the API package alone without a supporting implementation.

To get a meter, you need to provide the package name from which you are
calling the meter APIs to OpenTelemetry by calling `MeterProvider.get_meter`
with the calling instrumentation name and the version of your package.

The following code shows how to obtain a meter using the global :class:`.MeterProvider`::

    from opentelemetry.metrics import get_meter

    meter = get_meter("example-meter")
    counter = meter.create_counter("example-counter")

.. versionadded:: 1.10.0
.. versionchanged:: 1.12.0rc
    )MeterMeterProvider	NoOpMeterNoOpMeterProvider	get_meterget_meter_providerset_meter_provider)AsynchronousCallbackOptions	CallbackTCounter	Histogram
InstrumentNoOpCounterNoOpHistogramNoOpObservableCounterNoOpObservableGaugeNoOpObservableUpDownCounterNoOpUpDownCounterObservableCounterObservableGaugeObservableUpDownCounterSynchronousUpDownCounter)Gauge)	NoOpGauge)Observation)r   r   r   r   r   _Gauge
_NoOpGauger   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r	   r   r   r   N)%__doc__opentelemetry.metrics._internalr   r   r   r   r   r   r	   *opentelemetry.metrics._internal.instrumentr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   +opentelemetry.metrics._internal.observationr   obj__name__
__module____all__     S/var/www/openai/venv/lib/python3.12/site-packages/opentelemetry/metrics/__init__.py<module>r+      s   6      & G N C 
	5C8 CN9<r)   