Skip to content

Commit ddac8e1

Browse files
authored
fix: LogProcessor.SetResource to require mutable self (#2801)
1 parent 07b3b40 commit ddac8e1

File tree

8 files changed

+200
-60
lines changed

8 files changed

+200
-60
lines changed

opentelemetry-sdk/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@
6464
`LogExporter` trait no longer requires a mutable ref to `self`. If the exporter
6565
needs to mutate state, it should rely on interior mutability.
6666
[2764](https://github.com/open-telemetry/opentelemetry-rust/pull/2764)
67+
- **Breaking** for custom `LogProcessor` authors: Changed `set_resource`
68+
to require mutable ref.
69+
`fn set_resource(&mut self, _resource: &Resource) {}`
6770

6871
## 0.28.0
6972

opentelemetry-sdk/src/logs/batch_log_processor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,7 +319,7 @@ impl LogProcessor for BatchLogProcessor {
319319
}
320320
}
321321

322-
fn set_resource(&self, resource: &Resource) {
322+
fn set_resource(&mut self, resource: &Resource) {
323323
let resource = Arc::new(resource.clone());
324324
let _ = self
325325
.message_sender

opentelemetry-sdk/src/logs/concurrent_log_processor.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use opentelemetry::{otel_info, InstrumentationScope};
22

3-
use crate::error::OTelSdkResult;
3+
use crate::{error::OTelSdkResult, Resource};
44

55
use super::{LogBatch, LogExporter, LogProcessor, SdkLogRecord};
66

@@ -56,4 +56,8 @@ impl<T: LogExporter> LogProcessor for SimpleConcurrentLogProcessor<T> {
5656
) -> bool {
5757
self.exporter.event_enabled(level, target, name)
5858
}
59+
60+
fn set_resource(&mut self, resource: &Resource) {
61+
self.exporter.set_resource(resource);
62+
}
5963
}

opentelemetry-sdk/src/logs/log_processor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ pub trait LogProcessor: Send + Sync + Debug {
6565
}
6666

6767
/// Set the resource for the log processor.
68-
fn set_resource(&self, _resource: &Resource) {}
68+
fn set_resource(&mut self, _resource: &Resource) {}
6969
}
7070

7171
#[cfg(all(test, feature = "testing", feature = "logs"))]

opentelemetry-sdk/src/logs/log_processor_with_async_runtime.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ impl<R: RuntimeChannel> LogProcessor for BatchLogProcessor<R> {
108108
.and_then(std::convert::identity)
109109
}
110110

111-
fn set_resource(&self, resource: &Resource) {
111+
fn set_resource(&mut self, resource: &Resource) {
112112
let resource = Arc::new(resource.clone());
113113
let _ = self
114114
.message_sender

0 commit comments

Comments
 (0)