Skip to content

Commit 8bdd189

Browse files
authored
For Delta Temporarlity, avoid exporting when no new measurements are made (#2153)
1 parent 6ed2b43 commit 8bdd189

3 files changed

Lines changed: 7 additions & 1 deletion

File tree

opentelemetry-sdk/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
external sources to be sent through OpenTelemetry.
1212
[#2105](https://github.com/open-telemetry/opentelemetry-rust/pull/2105)
1313
- Feature: `SimpleSpanProcessor::new` is now public [#2119](https://github.com/open-telemetry/opentelemetry-rust/pull/2119)
14+
- For Delta Temporality, exporters are not invoked unless there were new
15+
measurements since the last collect/export.
16+
[#2153](https://github.com/open-telemetry/opentelemetry-rust/pull/2153)
1417

1518
## v0.25.0
1619

opentelemetry-sdk/src/metrics/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -973,7 +973,6 @@ mod tests {
973973
}
974974

975975
#[tokio::test(flavor = "multi_thread", worker_threads = 1)]
976-
#[ignore = "Known bug: https://github.com/open-telemetry/opentelemetry-rust/issues/1598"]
977976
async fn delta_memory_efficiency_test() {
978977
// Run this test with stdout enabled to see output.
979978
// cargo test delta_memory_efficiency_test --features=testing -- --nocapture

opentelemetry-sdk/src/metrics/periodic_reader.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,10 @@ struct PeriodicReaderWorker<RT: Runtime> {
235235
impl<RT: Runtime> PeriodicReaderWorker<RT> {
236236
async fn collect_and_export(&mut self) -> Result<()> {
237237
self.reader.collect(&mut self.rm)?;
238+
if self.rm.scope_metrics.is_empty() {
239+
// No metrics to export.
240+
return Ok(());
241+
}
238242

239243
let export = self.reader.exporter.export(&mut self.rm);
240244
let timeout = self.runtime.delay(self.timeout);

0 commit comments

Comments
 (0)