Skip to content

Commit 0a13b62

Browse files
committed
Fix unit tests
1 parent 682a176 commit 0a13b62

File tree

5 files changed

+35
-35
lines changed

5 files changed

+35
-35
lines changed

opentelemetry-sdk/tests/metrics/integration_test/test_histogram_export.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
from opentelemetry.sdk.metrics._internal.exemplar import (
1919
AlwaysOffExemplarFilter,
2020
AlwaysOnExemplarFilter,
21-
TraceBasedExemplarFilter,
2221
)
2322
from opentelemetry.sdk.metrics.export import InMemoryMetricReader
2423
from opentelemetry.sdk.resources import SERVICE_NAME, Resource

opentelemetry-sdk/tests/metrics/integration_test/test_sum_aggregation.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,7 @@
2323
from opentelemetry.context import Context
2424
from opentelemetry.metrics import Observation
2525
from opentelemetry.sdk.metrics import Counter, MeterProvider, ObservableCounter
26-
from opentelemetry.sdk.metrics._internal.exemplar import (
27-
AlwaysOffExemplarFilter,
28-
AlwaysOnExemplarFilter,
29-
TraceBasedExemplarFilter,
30-
)
26+
from opentelemetry.sdk.metrics._internal.exemplar import AlwaysOnExemplarFilter
3127
from opentelemetry.sdk.metrics.export import (
3228
AggregationTemporality,
3329
InMemoryMetricReader,

opentelemetry-sdk/tests/metrics/test_aggregation.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
)
2929
from opentelemetry.sdk.metrics._internal.exemplar import (
3030
AlignedHistogramBucketExemplarReservoir,
31-
ExemplarReservoirBuilder,
3231
SimpleFixedSizeExemplarReservoir,
3332
)
3433
from opentelemetry.sdk.metrics._internal.instrument import (
@@ -660,15 +659,12 @@ def test_observable_gauge(self):
660659
class TestExemplarsFromAggregations(TestCase):
661660

662661
def test_collection_simple_fixed_size_reservoir(self):
663-
exemplar_reservoir_factory = lambda: SimpleFixedSizeExemplarReservoir(
664-
size=3
665-
)
666662
synchronous_sum_aggregation = _SumAggregation(
667663
Mock(),
668664
True,
669665
AggregationTemporality.DELTA,
670666
0,
671-
exemplar_reservoir_factory,
667+
lambda: SimpleFixedSizeExemplarReservoir(size=3),
672668
)
673669

674670
synchronous_sum_aggregation.aggregate(measurement(1))
@@ -679,7 +675,10 @@ def test_collection_simple_fixed_size_reservoir(self):
679675
datapoint = synchronous_sum_aggregation.collect(
680676
AggregationTemporality.CUMULATIVE, 0
681677
)
682-
self.assertEqual(len(datapoint.exemplars), 3)
678+
# As the reservoir as multiple buckets, it may store up to
679+
# 3 exemplars
680+
self.assertGreater(len(datapoint.exemplars), 0)
681+
self.assertLessEqual(len(datapoint.exemplars), 3)
683682

684683
def test_collection_simple_fixed_size_reservoir_with_default_reservoir(
685684
self,

opentelemetry-sdk/tests/metrics/test_exemplarreservoir.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@
1010
)
1111
from opentelemetry.sdk.metrics._internal.exemplar import (
1212
AlignedHistogramBucketExemplarReservoir,
13-
ExemplarReservoir,
14-
ExemplarReservoirFactory,
1513
SimpleFixedSizeExemplarReservoir,
1614
)
1715
from opentelemetry.sdk.metrics._internal.view import _default_reservoir_factory
18-
from opentelemetry.trace import INVALID_SPAN, SpanContext, TraceFlags
16+
from opentelemetry.trace import SpanContext, TraceFlags
1917

2018

2119
class TestSimpleFixedSizeExemplarReservoir(TestCase):
@@ -58,9 +56,10 @@ def test_filter_attributes(self):
5856
reservoir.offer(
5957
1, time_ns(), {"key1": "value1", "key2": "value2"}, ctx
6058
)
61-
exemplars = reservoir.collect({"key2": "value2", "key3": "value3"})
59+
exemplars = reservoir.collect({"key2": "value2"})
6260
self.assertEqual(len(exemplars), 1)
63-
self.assertNotEqual("key1", exemplars[0].filtered_attributes)
61+
self.assertIn("key1", exemplars[0].filtered_attributes)
62+
self.assertNotIn("key2", exemplars[0].filtered_attributes)
6463

6564
def test_reset_after_collection(self):
6665
reservoir = SimpleFixedSizeExemplarReservoir(4)
@@ -101,17 +100,18 @@ def test_measurement_in_buckets(self):
101100
)
102101
span = trace.NonRecordingSpan(span_context)
103102
ctx = trace.set_span_in_context(span)
104-
reservoir.offer(52, time_ns(), {"bucket": "5"}, ctx)
105-
reservoir.offer(7, time_ns(), {"bucket": "3"}, ctx)
106-
reservoir.offer(6, time_ns(), {"bucket": "3"}, ctx)
103+
reservoir.offer(80, time_ns(), {"bucket": "5"}, ctx) # outliner
104+
reservoir.offer(52, time_ns(), {"bucket": "4"}, ctx)
105+
reservoir.offer(7, time_ns(), {"bucket": "1"}, ctx)
106+
reservoir.offer(6, time_ns(), {"bucket": "1"}, ctx)
107107

108-
exemplars = reservoir.collect({"bucket": "3"})
108+
exemplars = reservoir.collect({"bucket": "1"})
109109

110-
self.assertEqual(len(exemplars), 2)
110+
self.assertEqual(len(exemplars), 3)
111111
self.assertEqual(exemplars[0].value, 6)
112112
self.assertEqual(exemplars[1].value, 52)
113+
self.assertEqual(exemplars[2].value, 80) # outliner
113114
self.assertEqual(len(exemplars[0].filtered_attributes), 0)
114-
self.assertNotEqual(exemplars[1].filtered_attributes, {"bucket": "5"})
115115

116116
def test_last_measurement_in_bucket(self):
117117
reservoir = AlignedHistogramBucketExemplarReservoir([0, 5, 10, 25])

opentelemetry-sdk/tests/metrics/test_view_instrument_match.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
# pylint: disable=protected-access
1616

1717
from time import time_ns
18-
from typing import Any, Callable, Optional, Sequence, Set, Type
18+
from typing import Callable, Sequence, Type
1919
from unittest import TestCase
2020
from unittest.mock import MagicMock, Mock
2121

@@ -24,17 +24,13 @@
2424
_ViewInstrumentMatch,
2525
)
2626
from opentelemetry.sdk.metrics._internal.aggregation import (
27-
Aggregation,
28-
DefaultAggregation,
2927
_Aggregation,
3028
_DropAggregation,
3129
_ExplicitBucketHistogramAggregation,
32-
_ExponentialBucketHistogramAggregation,
3330
_LastValueAggregation,
3431
)
3532
from opentelemetry.sdk.metrics._internal.exemplar import (
3633
AlignedHistogramBucketExemplarReservoir,
37-
ExemplarReservoir,
3834
ExemplarReservoirBuilder,
3935
SimpleFixedSizeExemplarReservoir,
4036
)
@@ -65,7 +61,8 @@ def factory(
6561
)
6662
else:
6763
return lambda **kwargs: SimpleFixedSizeExemplarReservoir(
68-
size=size, **kwargs
64+
size=size,
65+
**{k: v for k, v in kwargs.items() if k != "size"},
6966
)
7067

7168
return factory
@@ -74,7 +71,6 @@ def factory(
7471
class Test_ViewInstrumentMatch(TestCase): # pylint: disable=invalid-name
7572
@classmethod
7673
def setUpClass(cls):
77-
7874
cls.mock_aggregation_factory = Mock()
7975
cls.mock_created_aggregation = (
8076
cls.mock_aggregation_factory._create_aggregation()
@@ -387,7 +383,6 @@ def test_setting_aggregation(self):
387383

388384

389385
class TestSimpleFixedSizeExemplarReservoir(TestCase):
390-
391386
def test_consume_measurement_with_custom_reservoir_factory(self):
392387
simple_fixed_size_factory = generalized_reservoir_factory(size=10)
393388

@@ -507,14 +502,14 @@ def test_consume_measurement_with_exemplars(self):
507502
self.assertEqual(len(data_points), 1)
508503

509504
# Verify that exemplars have been correctly stored and collected
510-
self.assertEqual(len(data_points[0].exemplars), 2)
505+
# As the default reservoir as only one bucket, it will retain
506+
# the last measurement as exemplar
507+
self.assertEqual(len(data_points[0].exemplars), 1)
511508

512-
self.assertEqual(data_points[0].exemplars[0].value, 4.0)
513-
self.assertEqual(data_points[0].exemplars[1].value, 5.0)
509+
self.assertEqual(data_points[0].exemplars[0].value, 5.0)
514510

515511

516512
class TestAlignedHistogramBucketExemplarReservoir(TestCase):
517-
518513
def test_consume_measurement_with_custom_reservoir_factory(self):
519514
# Custom factory for AlignedHistogramBucketExemplarReservoir with specific boundaries
520515
histogram_reservoir_factory = generalized_reservoir_factory(
@@ -582,6 +577,16 @@ def test_consume_measurement_with_custom_reservoir_factory(self):
582577
)
583578
)
584579

580+
# view_instrument_match.consume_measurement(
581+
# Measurement(
582+
# value=30.0, # Should go into the outliners bucket
583+
# time_unix_nano=time_ns(),
584+
# instrument=instrument1,
585+
# context=Context(),
586+
# attributes={"attribute3": "value3"},
587+
# )
588+
# )
589+
585590
# Collect the data points
586591
data_points = view_instrument_match.collect(
587592
AggregationTemporality.CUMULATIVE, 0
@@ -604,3 +609,4 @@ def test_consume_measurement_with_custom_reservoir_factory(self):
604609
self.assertEqual(
605610
data_points[2].exemplars[0].value, 15.0
606611
) # Third bucket
612+
# self.assertEqual(data_points[2].exemplars[0].value, 30.0) # Outliner bucket

0 commit comments

Comments
 (0)