File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
sdk_experimental/lib/opentelemetry/sdk/trace/samplers Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -35,6 +35,16 @@ def generate_span_id_while
3535 id
3636end
3737
38+ def generate_r ( trace_id )
39+ x = trace_id [ 8 , 8 ] . unpack1 ( 'Q>' ) | 0x3
40+ 64 - x . bit_length
41+ end
42+
43+ def generate_r_in_place ( trace_id )
44+ x = trace_id . unpack1 ( 'Q>' , offset : 8 ) | 0x3
45+ 64 - x . bit_length
46+ end
47+
3848Benchmark . ipsa do |x |
3949 x . report ( 'generate_trace_id' ) { generate_trace_id }
4050 x . report ( 'generate_trace_id_while' ) { generate_trace_id_while }
@@ -46,3 +56,10 @@ def generate_span_id_while
4656 x . report ( 'generate_span_id_while' ) { generate_span_id_while }
4757 x . compare!
4858end
59+
60+ Benchmark . ipsa do |x |
61+ trace_id = generate_trace_id
62+ x . report ( 'generate_r' ) { generate_r ( trace_id ) }
63+ x . report ( 'generate_r_in_place' ) { generate_r_in_place ( trace_id ) }
64+ x . compare!
65+ end
Original file line number Diff line number Diff line change @@ -106,7 +106,7 @@ def decimal(str)
106106 end
107107
108108 def generate_r ( trace_id )
109- x = trace_id [ 8 , 8 ] . unpack1 ( 'Q>' ) | 0x3
109+ x = trace_id . unpack1 ( 'Q>' , offset : 8 ) | 0x3
110110 64 - x . bit_length
111111 end
112112 end
You can’t perform that action at this time.
0 commit comments