Skip to content

Commit bb71c6c

Browse files
committed
Move to SmallRng from ThreadRng
SmallRng provides 0-6% improvement in Traces. Relates #808
1 parent 03b94b3 commit bb71c6c

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

opentelemetry-sdk/Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ futures-util = { version = "0.3.17", default-features = false, features = ["std"
2121
once_cell = "1.10"
2222
ordered-float = "4.0"
2323
percent-encoding = { version = "2.0", optional = true }
24-
rand = { version = "0.8", default-features = false, features = ["std", "std_rng"], optional = true }
24+
rand = { version = "0.8", default-features = false, features = ["std", "std_rng","small_rng"], optional = true }
2525
glob = {version = "0.3.1", optional =true}
2626
serde = { version = "1.0", features = ["derive", "rc"], optional = true }
2727
serde_json = { version = "1", optional = true }
@@ -68,6 +68,7 @@ harness = false
6868
[[bench]]
6969
name = "trace"
7070
harness = false
71+
required-features = ["testing"]
7172

7273
[[bench]]
7374
name = "batch_span_processor"

opentelemetry-sdk/src/trace/id_generator/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
pub(super) mod aws;
33

44
use opentelemetry::trace::{SpanId, TraceId};
5-
use rand::{rngs, Rng};
5+
use rand::{rngs, Rng, SeedableRng};
66
use std::cell::RefCell;
77
use std::fmt;
88

@@ -35,5 +35,5 @@ impl IdGenerator for RandomIdGenerator {
3535

3636
thread_local! {
3737
/// Store random number generator for each thread
38-
static CURRENT_RNG: RefCell<rngs::ThreadRng> = RefCell::new(rngs::ThreadRng::default());
38+
static CURRENT_RNG: RefCell<rngs::SmallRng> = RefCell::new(rngs::SmallRng::from_entropy());
3939
}

0 commit comments

Comments
 (0)