__init__.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. """
  4. The OpenTelemetry metrics API describes the classes used to generate
  5. metrics.
  6. The :class:`.MeterProvider` provides users access to the :class:`.Meter` which in
  7. turn is used to create :class:`.Instrument` objects. The :class:`.Instrument` objects are
  8. used to record measurements.
  9. This module provides abstract (i.e. unimplemented) classes required for
  10. metrics, and a concrete no-op implementation :class:`.NoOpMeter` that allows applications
  11. to use the API package alone without a supporting implementation.
  12. To get a meter, you need to provide the package name from which you are
  13. calling the meter APIs to OpenTelemetry by calling `MeterProvider.get_meter`
  14. with the calling instrumentation name and the version of your package.
  15. The following code shows how to obtain a meter using the global :class:`.MeterProvider`::
  16. from opentelemetry.metrics import get_meter
  17. meter = get_meter("example-meter")
  18. counter = meter.create_counter("example-counter")
  19. .. versionadded:: 1.10.0
  20. .. versionchanged:: 1.12.0rc
  21. """
  22. from opentelemetry.metrics._internal import (
  23. Meter,
  24. MeterProvider,
  25. NoOpMeter,
  26. NoOpMeterProvider,
  27. get_meter,
  28. get_meter_provider,
  29. set_meter_provider,
  30. )
  31. from opentelemetry.metrics._internal.instrument import (
  32. Asynchronous,
  33. CallbackOptions,
  34. CallbackT,
  35. Counter,
  36. Histogram,
  37. Instrument,
  38. NoOpCounter,
  39. NoOpHistogram,
  40. NoOpObservableCounter,
  41. NoOpObservableGauge,
  42. NoOpObservableUpDownCounter,
  43. NoOpUpDownCounter,
  44. ObservableCounter,
  45. ObservableGauge,
  46. ObservableUpDownCounter,
  47. Synchronous,
  48. UpDownCounter,
  49. )
  50. from opentelemetry.metrics._internal.instrument import Gauge as _Gauge
  51. from opentelemetry.metrics._internal.instrument import NoOpGauge as _NoOpGauge
  52. from opentelemetry.metrics._internal.observation import Observation
  53. for obj in [
  54. Counter,
  55. Synchronous,
  56. Asynchronous,
  57. CallbackOptions,
  58. _Gauge,
  59. _NoOpGauge,
  60. get_meter_provider,
  61. get_meter,
  62. Histogram,
  63. Meter,
  64. MeterProvider,
  65. Instrument,
  66. NoOpCounter,
  67. NoOpHistogram,
  68. NoOpMeter,
  69. NoOpMeterProvider,
  70. NoOpObservableCounter,
  71. NoOpObservableGauge,
  72. NoOpObservableUpDownCounter,
  73. NoOpUpDownCounter,
  74. ObservableCounter,
  75. ObservableGauge,
  76. ObservableUpDownCounter,
  77. Observation,
  78. set_meter_provider,
  79. UpDownCounter,
  80. ]:
  81. obj.__module__ = __name__
  82. __all__ = [
  83. "CallbackOptions",
  84. "MeterProvider",
  85. "NoOpMeterProvider",
  86. "Meter",
  87. "Counter",
  88. "_Gauge",
  89. "_NoOpGauge",
  90. "NoOpCounter",
  91. "UpDownCounter",
  92. "NoOpUpDownCounter",
  93. "Histogram",
  94. "NoOpHistogram",
  95. "ObservableCounter",
  96. "NoOpObservableCounter",
  97. "ObservableUpDownCounter",
  98. "Instrument",
  99. "Synchronous",
  100. "Asynchronous",
  101. "NoOpObservableGauge",
  102. "ObservableGauge",
  103. "NoOpObservableUpDownCounter",
  104. "get_meter",
  105. "get_meter_provider",
  106. "set_meter_provider",
  107. "Observation",
  108. "CallbackT",
  109. "NoOpMeter",
  110. ]