14
14
15
15
# pylint: disable=unused-import
16
16
17
- from dataclasses import asdict , dataclass
17
+ from dataclasses import asdict , dataclass , field
18
18
from json import dumps , loads
19
19
from typing import Optional , Sequence , Union
20
20
21
21
# This kind of import is needed to avoid Sphinx errors.
22
22
import opentelemetry .sdk .metrics ._internal
23
+ from opentelemetry .sdk .metrics ._internal .exemplar import Exemplar
23
24
from opentelemetry .sdk .resources import Resource
24
25
from opentelemetry .sdk .util .instrumentation import InstrumentationScope
25
26
from opentelemetry .util .types import Attributes
@@ -35,6 +36,7 @@ class NumberDataPoint:
35
36
start_time_unix_nano : int
36
37
time_unix_nano : int
37
38
value : Union [int , float ]
39
+ exemplars : Sequence [Exemplar ] = field (default_factory = list )
38
40
39
41
def to_json (self , indent = 4 ) -> str :
40
42
return dumps (asdict (self ), indent = indent )
@@ -55,6 +57,7 @@ class HistogramDataPoint:
55
57
explicit_bounds : Sequence [float ]
56
58
min : float
57
59
max : float
60
+ exemplars : Sequence [Exemplar ] = field (default_factory = list )
58
61
59
62
def to_json (self , indent = 4 ) -> str :
60
63
return dumps (asdict (self ), indent = indent )
@@ -85,6 +88,7 @@ class ExponentialHistogramDataPoint:
85
88
flags : int
86
89
min : float
87
90
max : float
91
+ exemplars : Sequence [Exemplar ] = field (default_factory = list )
88
92
89
93
def to_json (self , indent = 4 ) -> str :
90
94
return dumps (asdict (self ), indent = indent )
0 commit comments