@@ -14,7 +14,7 @@ use opentelemetry::logs::{
14
14
} ;
15
15
use opentelemetry:: trace:: Tracer ;
16
16
use opentelemetry:: trace:: TracerProvider as _;
17
- use opentelemetry:: Key ;
17
+ use opentelemetry:: { InstrumentationLibrary , Key } ;
18
18
use opentelemetry_sdk:: export:: logs:: { LogData , LogExporter } ;
19
19
use opentelemetry_sdk:: logs:: { Logger , LoggerProvider } ;
20
20
use opentelemetry_sdk:: trace;
@@ -66,6 +66,20 @@ fn log_benchmark_group<F: Fn(&Logger)>(c: &mut Criterion, name: &str, f: F) {
66
66
}
67
67
68
68
fn criterion_benchmark ( c : & mut Criterion ) {
69
+ let mut crit = Criterion :: default ( )
70
+ . sample_size ( 100 ) // Set sample size
71
+ . measurement_time ( std:: time:: Duration :: new ( 20 , 0 ) ) // Set measurement time to 10 seconds
72
+ . warm_up_time ( std:: time:: Duration :: new ( 5 , 0 ) ) ; // Set warm-up time
73
+ /*log_benchmark_group(c, "simple-log", |logger| {
74
+ let mut log_record = logger.create_log_record();
75
+ log_record.set_body("simple log".into());
76
+ logger.emit(log_record);
77
+ });*/
78
+ log_benchmark_group ( & mut crit, "custom-test" , |logger| {
79
+ let mut log_record = logger. create_log_record ( ) ;
80
+ logger. emit ( log_record) ;
81
+ } ) ;
82
+
69
83
log_benchmark_group ( c, "simple-log" , |logger| {
70
84
let mut log_record = logger. create_log_record ( ) ;
71
85
log_record. set_body ( "simple log" . into ( ) ) ;
@@ -100,74 +114,82 @@ fn criterion_benchmark(c: &mut Criterion) {
100
114
logger. emit ( log_record) ;
101
115
} ) ;
102
116
103
- let bytes = AnyValue :: Bytes ( vec ! [ 25u8 , 30u8 , 40u8 ] ) ;
117
+ let bytes = AnyValue :: Bytes ( Box :: new ( vec ! [ 25u8 , 30u8 , 40u8 ] ) ) ;
104
118
log_benchmark_group ( c, "simple-log-with-bytes" , |logger| {
105
119
let mut log_record = logger. create_log_record ( ) ;
106
120
log_record. set_body ( "simple log" . into ( ) ) ;
107
121
log_record. add_attribute ( "testbytes" , bytes. clone ( ) ) ;
108
122
logger. emit ( log_record) ;
109
123
} ) ;
110
124
111
- let bytes = AnyValue :: Bytes ( vec ! [
125
+ let bytes = AnyValue :: Bytes ( Box :: new ( vec ! [
112
126
25u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 ,
113
127
30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 ,
114
128
40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 ,
115
129
30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 ,
116
130
40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 ,
117
131
30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 , 30u8 , 40u8 ,
118
- ] ) ;
132
+ ] ) ) ;
119
133
log_benchmark_group ( c, "simple-log-with-a-lot-of-bytes" , |logger| {
120
134
let mut log_record = logger. create_log_record ( ) ;
121
135
log_record. set_body ( "simple log" . into ( ) ) ;
122
136
log_record. add_attribute ( "testbytes" , bytes. clone ( ) ) ;
123
137
logger. emit ( log_record) ;
124
138
} ) ;
125
139
126
- let vec_any_values = AnyValue :: ListAny ( vec ! [ AnyValue :: Int ( 25 ) , "test" . into( ) , true . into( ) ] ) ;
140
+ let vec_any_values = AnyValue :: ListAny ( Box :: new ( vec ! [
141
+ AnyValue :: Int ( 25 ) ,
142
+ "test" . into( ) ,
143
+ true . into( ) ,
144
+ ] ) ) ;
127
145
log_benchmark_group ( c, "simple-log-with-vec-any-value" , |logger| {
128
146
let mut log_record = logger. create_log_record ( ) ;
129
147
log_record. set_body ( "simple log" . into ( ) ) ;
130
148
log_record. add_attribute ( "testvec" , vec_any_values. clone ( ) ) ;
131
149
logger. emit ( log_record) ;
132
150
} ) ;
133
151
134
- let vec_any_values = AnyValue :: ListAny ( vec ! [ AnyValue :: Int ( 25 ) , "test" . into( ) , true . into( ) ] ) ;
135
- let vec_any_values = AnyValue :: ListAny ( vec ! [
152
+ let vec_any_values = AnyValue :: ListAny ( Box :: new ( vec ! [
153
+ AnyValue :: Int ( 25 ) ,
154
+ "test" . into( ) ,
155
+ true . into( ) ,
156
+ ] ) ) ;
157
+ let vec_any_values = AnyValue :: ListAny ( Box :: new ( vec ! [
136
158
AnyValue :: Int ( 25 ) ,
137
159
"test" . into( ) ,
138
160
true . into( ) ,
139
161
vec_any_values,
140
- ] ) ;
162
+ ] ) ) ;
141
163
log_benchmark_group ( c, "simple-log-with-inner-vec-any-value" , |logger| {
142
164
let mut log_record = logger. create_log_record ( ) ;
143
165
log_record. set_body ( "simple log" . into ( ) ) ;
144
166
log_record. add_attribute ( "testvec" , vec_any_values. clone ( ) ) ;
145
167
logger. emit ( log_record) ;
146
168
} ) ;
147
169
148
- let map_any_values = AnyValue :: Map ( HashMap :: from ( [
170
+ let map_any_values = AnyValue :: Map ( Box :: new ( HashMap :: from ( [
149
171
( "testint" . into ( ) , 2 . into ( ) ) ,
150
172
( "testdouble" . into ( ) , 2.2 . into ( ) ) ,
151
173
( "teststring" . into ( ) , "test" . into ( ) ) ,
152
- ] ) ) ;
174
+ ] ) ) ) ;
153
175
log_benchmark_group ( c, "simple-log-with-map-any-value" , |logger| {
154
176
let mut log_record = logger. create_log_record ( ) ;
155
177
log_record. set_body ( "simple log" . into ( ) ) ;
156
178
log_record. add_attribute ( "testmap" , map_any_values. clone ( ) ) ;
157
179
logger. emit ( log_record) ;
158
180
} ) ;
159
181
160
- let map_any_values = AnyValue :: Map ( HashMap :: from ( [
182
+ let map_any_values = AnyValue :: Map ( Box :: new ( HashMap :: from ( [
161
183
( "testint" . into ( ) , 2 . into ( ) ) ,
162
184
( "testdouble" . into ( ) , 2.2 . into ( ) ) ,
163
185
( "teststring" . into ( ) , "test" . into ( ) ) ,
164
- ] ) ) ;
165
- let map_any_values = AnyValue :: Map ( HashMap :: from ( [
186
+ ] ) ) ) ;
187
+ let map_any_values = AnyValue :: Map ( Box :: new ( HashMap :: from ( [
166
188
( "testint" . into ( ) , 2 . into ( ) ) ,
167
189
( "testdouble" . into ( ) , 2.2 . into ( ) ) ,
168
190
( "teststring" . into ( ) , "test" . into ( ) ) ,
169
191
( "testmap" . into ( ) , map_any_values) ,
170
- ] ) ) ;
192
+ ] ) ) ) ;
171
193
log_benchmark_group ( c, "simple-log-with-inner-map-any-value" , |logger| {
172
194
let mut log_record = logger. create_log_record ( ) ;
173
195
log_record. set_body ( "simple log" . into ( ) ) ;
0 commit comments