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 7061e33
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 @@ -471,16 +471,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 HistogramDataPoint(
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 @@ -13,6 +13,7 @@
# limitations under the License.

from platform import system
from time import sleep
from unittest import TestCase

from pytest import mark
Expand Down Expand Up @@ -123,11 +124,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 = []

histogram.record(1)
results.append(reader.get_metrics_data())

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

histogram.record(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 7061e33

Please sign in to comment.