1515import logging
1616import unittest
1717from contextlib import contextmanager
18- from typing import Tuple
18+ from typing import Union , Tuple , Optional
1919
2020from opentelemetry import metrics as metrics_api
2121from opentelemetry import trace as trace_api
22+ from opentelemetry .sdk .metrics ._internal .point import Metric
2223from opentelemetry .sdk .metrics import MeterProvider
2324from opentelemetry .sdk .metrics .export import (
2425 HistogramDataPoint ,
@@ -111,31 +112,27 @@ def get_sorted_metrics(self):
111112
112113 return self .sorted_metrics (all_metrics )
113114
114- def assert_histogram_expected (self , data_point , expected_value ):
115- self .assertEqual (
116- data_point .count ,
117- 1 ,
118- )
119- self .assertEqual (
120- data_point .sum ,
121- expected_value ,
122- )
123- self .assertEqual (
124- data_point .max ,
125- expected_value ,
126- )
127- self .assertEqual (
128- data_point .min ,
129- expected_value ,
130- )
131-
132115 def assert_metric_expected (
133- self , metric , expected_value , expected_attributes
116+ self ,
117+ metric : Metric ,
118+ expected_value : Union [int , float ],
119+ expected_attributes : dict ,
120+ est_delta : Optional [float ] = None ,
134121 ):
135122 data_point = next (iter (metric .data .data_points ))
136123
137124 if isinstance (data_point , HistogramDataPoint ):
138- self .assert_histogram_expected (data_point , expected_value )
125+ if est_delta is None :
126+ self .assertEqual (
127+ data_point .sum ,
128+ expected_value ,
129+ )
130+ else :
131+ self .assertAlmostEqual (
132+ data_point .sum ,
133+ expected_value ,
134+ delta = est_delta ,
135+ )
139136 elif isinstance (data_point , NumberDataPoint ):
140137 self .assertEqual (
141138 data_point .value ,
@@ -147,22 +144,6 @@ def assert_metric_expected(
147144 dict (data_point .attributes ),
148145 )
149146
150- def assert_duration_metric_expected (
151- self , metric , duration_estimated , expected_attributes , est_delta = 200
152- ):
153- data_point = next (iter (metric .data .data_points ))
154-
155- self .assertAlmostEqual (
156- data_point .sum ,
157- duration_estimated ,
158- delta = est_delta ,
159- )
160-
161- self .assertDictEqual (
162- expected_attributes ,
163- dict (data_point .attributes ),
164- )
165-
166147 @staticmethod
167148 def create_tracer_provider (** kwargs ):
168149 """Helper to create a configured tracer provider.
0 commit comments