Skip to content

Commit

Permalink
Fix start_time_unix_nano for delta collection temporality
Browse files Browse the repository at this point in the history
  • Loading branch information
ocelotl committed Jul 1, 2024
1 parent 72be755 commit bec4984
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -278,16 +278,16 @@ def collect(
is AggregationTemporality.DELTA
):

if current_value is None:
return None

previous_collection_start_nano = (
self._previous_collection_start_nano
)
self._previous_collection_start_nano = (
collection_start_nano
)

if current_value is None:
return None

return NumberDataPoint(
attributes=self._attributes,
start_time_unix_nano=previous_collection_start_nano,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from logging import ERROR
from platform import system
from unittest import TestCase
from time import sleep

from pytest import mark

Expand Down Expand Up @@ -345,11 +346,43 @@ def test_synchronous_delta_temporality(self):

results.append(reader.get_metrics_data())

provider.shutdown()

for metrics_data in results:
self.assertIsNone(metrics_data)

results = []

counter.add(1)
results.append(reader.get_metrics_data())

sleep(0.1)
results.append(reader.get_metrics_data())

counter.add(2)
results.append(reader.get_metrics_data())

metric_data_0 = (
results[0]
.resource_metrics[0]
.scope_metrics[0]
.metrics[0]
.data.data_points[0]
)
metric_data_2 = (
results[2]
.resource_metrics[0]
.scope_metrics[0]
.metrics[0]
.data.data_points[0]
)

self.assertIsNone(results[1])

self.assertGreater(
metric_data_2.start_time_unix_nano, metric_data_0.time_unix_nano
)

provider.shutdown()

@mark.skipif(
system() != "Linux",
reason=(
Expand Down

0 comments on commit bec4984

Please sign in to comment.