o
    ²3Ihø  ã                   @   sè   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!_#qhg d¢Z$dS )	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__© r'   r'   ú^/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/opentelemetry/metrics/__init__.pyÚ<module>   sF   $L	æ