File tree 3 files changed +8
-3
lines changed
opentelemetry-appender-tracing/benches
opentelemetry-sdk/src/logs
3 files changed +8
-3
lines changed Original file line number Diff line number Diff line change 10
10
| noop_layer_disabled | 12 ns |
11
11
| noop_layer_enabled | 25 ns |
12
12
| ot_layer_disabled | 19 ns |
13
- | ot_layer_enabled | 371 ns |
13
+ | ot_layer_enabled | 305 ns |
14
14
*/
15
15
16
16
use async_trait:: async_trait;
Original file line number Diff line number Diff line change @@ -40,6 +40,7 @@ pub struct LoggerProvider {
40
40
41
41
/// Default logger name if empty string is provided.
42
42
const DEFAULT_COMPONENT_NAME : & str = "rust.opentelemetry.io/sdk/logger" ;
43
+ const PREALLOCATED_ATTRIBUTE_CAPACITY : usize = 8 ;
43
44
44
45
impl opentelemetry:: logs:: LoggerProvider for LoggerProvider {
45
46
type Logger = Logger ;
@@ -246,7 +247,11 @@ impl opentelemetry::logs::Logger for Logger {
246
247
type LogRecord = LogRecord ;
247
248
248
249
fn create_log_record ( & self ) -> Self :: LogRecord {
249
- LogRecord :: default ( )
250
+ // Reserve attributes memory for perf optimization. This may change in future.
251
+ LogRecord {
252
+ attributes : Some ( Vec :: with_capacity ( PREALLOCATED_ATTRIBUTE_CAPACITY ) ) ,
253
+ ..Default :: default ( )
254
+ }
250
255
}
251
256
252
257
/// Emit a `LogRecord`.
Original file line number Diff line number Diff line change 3
3
OS: Ubuntu 22.04.3 LTS (5.15.146.1-microsoft-standard-WSL2)
4
4
Hardware: AMD EPYC 7763 64-Core Processor - 2.44 GHz, 16vCPUs,
5
5
RAM: 64.0 GB
6
- 53 M/sec
6
+ 69 M/sec
7
7
*/
8
8
9
9
use opentelemetry_appender_tracing:: layer;
You can’t perform that action at this time.
0 commit comments