Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion opentelemetry-otlp/src/exporter/http/metrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use super::OtlpHttpClient;

impl MetricsClient for OtlpHttpClient {
async fn export(&self, metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, metrics: &ResourceMetrics) -> OTelSdkResult {

Check warning on line 12 in opentelemetry-otlp/src/exporter/http/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/metrics.rs#L12

Added line #L12 was not covered by tests
let client = self
.client
.lock()
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-otlp/src/exporter/http/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -326,11 +326,11 @@
#[cfg(feature = "metrics")]
fn build_metrics_export_body(
&self,
metrics: &mut ResourceMetrics,
metrics: &ResourceMetrics,

Check warning on line 329 in opentelemetry-otlp/src/exporter/http/mod.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/mod.rs#L329

Added line #L329 was not covered by tests
) -> Option<(Vec<u8>, &'static str)> {
use opentelemetry_proto::tonic::collector::metrics::v1::ExportMetricsServiceRequest;

let req: ExportMetricsServiceRequest = (&*metrics).into();
let req: ExportMetricsServiceRequest = metrics.into();

Check warning on line 333 in opentelemetry-otlp/src/exporter/http/mod.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/http/mod.rs#L333

Added line #L333 was not covered by tests

match self.protocol {
#[cfg(feature = "http-json")]
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-otlp/src/exporter/tonic/metrics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
}

impl MetricsClient for TonicMetricsClient {
async fn export(&self, metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, metrics: &ResourceMetrics) -> OTelSdkResult {

Check warning on line 55 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L55

Added line #L55 was not covered by tests
let (mut client, metadata, extensions) = self
.inner
.lock()
Expand Down Expand Up @@ -81,7 +81,7 @@
.export(Request::from_parts(
metadata,
extensions,
ExportMetricsServiceRequest::from(&*metrics),
ExportMetricsServiceRequest::from(metrics),

Check warning on line 84 in opentelemetry-otlp/src/exporter/tonic/metrics.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/exporter/tonic/metrics.rs#L84

Added line #L84 was not covered by tests
))
.await
.map_err(|e| OTelSdkError::InternalFailure(format!("{e:?}")))?;
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-otlp/src/metric.rs
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@
pub(crate) trait MetricsClient: fmt::Debug + Send + Sync + 'static {
fn export(
&self,
metrics: &mut ResourceMetrics,
metrics: &ResourceMetrics,
) -> impl std::future::Future<Output = OTelSdkResult> + Send;
fn shutdown(&self) -> OTelSdkResult;
}
Expand All @@ -149,7 +149,7 @@
}

impl PushMetricExporter for MetricExporter {
async fn export(&self, metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, metrics: &ResourceMetrics) -> OTelSdkResult {

Check warning on line 152 in opentelemetry-otlp/src/metric.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-otlp/src/metric.rs#L152

Added line #L152 was not covered by tests
match &self.client {
#[cfg(feature = "grpc-tonic")]
SupportedTransportClient::Tonic(client) => client.export(metrics).await,
Expand Down
3 changes: 3 additions & 0 deletions opentelemetry-sdk/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ also modified to suppress telemetry before invoking exporters.
- *Breaking* `Aggregation` enum moved behind feature flag
"spec_unstable_metrics_views". This was only required when using Views.
[#2928](https://github.com/open-telemetry/opentelemetry-rust/pull/2928)
- *Breaking* change, affecting custom `PushMetricExporter` authors:
- The `export` method on `PushMetricExporter` receives a `&ResourceMetrics`
instead of `&mut ResourceMetrics`.

## 0.29.0

Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/metrics/exporter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pub trait PushMetricExporter: Send + Sync + 'static {
/// considered unrecoverable and will be logged.
fn export(
&self,
metrics: &mut ResourceMetrics,
metrics: &ResourceMetrics,
) -> impl std::future::Future<Output = OTelSdkResult> + Send;

/// Flushes any metric data held by an exporter.
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-sdk/src/metrics/in_memory_exporter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ impl InMemoryMetricExporter {
}

impl PushMetricExporter for InMemoryMetricExporter {
async fn export(&self, metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, metrics: &ResourceMetrics) -> OTelSdkResult {
self.metrics
.lock()
.map(|mut metrics_guard| {
Expand Down
6 changes: 3 additions & 3 deletions opentelemetry-sdk/src/metrics/periodic_reader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,7 @@ impl<E: PushMetricExporter> PeriodicReaderInner<E> {

// Relying on futures executor to execute async call.
// TODO: Pass timeout to exporter
futures_executor::block_on(self.exporter.export(&mut rm))
futures_executor::block_on(self.exporter.export(&rm))
}

fn force_flush(&self) -> OTelSdkResult {
Expand Down Expand Up @@ -553,7 +553,7 @@ mod tests {
}

impl PushMetricExporter for MetricExporterThatFailsOnlyOnFirst {
async fn export(&self, _metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, _metrics: &ResourceMetrics) -> OTelSdkResult {
if self.count.fetch_add(1, Ordering::Relaxed) == 0 {
Err(OTelSdkError::InternalFailure("export failed".into()))
} else {
Expand Down Expand Up @@ -584,7 +584,7 @@ mod tests {
}

impl PushMetricExporter for MockMetricExporter {
async fn export(&self, _metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, _metrics: &ResourceMetrics) -> OTelSdkResult {
Ok(())
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@
message = "Calling exporter's export method with collected metrics.",
count = self.rm.scope_metrics.len(),
);
let export = self.reader.exporter.export(&mut self.rm);
let export = self.reader.exporter.export(&self.rm);

Check warning on line 262 in opentelemetry-sdk/src/metrics/periodic_reader_with_async_runtime.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-sdk/src/metrics/periodic_reader_with_async_runtime.rs#L262

Added line #L262 was not covered by tests
let timeout = self.runtime.delay(self.timeout);
pin_mut!(export);
pin_mut!(timeout);
Expand Down
2 changes: 1 addition & 1 deletion opentelemetry-stdout/src/metrics/exporter.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@

impl PushMetricExporter for MetricExporter {
/// Write Metrics to stdout
async fn export(&self, metrics: &mut ResourceMetrics) -> OTelSdkResult {
async fn export(&self, metrics: &ResourceMetrics) -> OTelSdkResult {

Check warning on line 45 in opentelemetry-stdout/src/metrics/exporter.rs

View check run for this annotation

Codecov / codecov/patch

opentelemetry-stdout/src/metrics/exporter.rs#L45

Added line #L45 was not covered by tests
if self.is_shutdown.load(atomic::Ordering::SeqCst) {
Err(opentelemetry_sdk::error::OTelSdkError::AlreadyShutdown)
} else {
Expand Down