Use `rand` module instead of `random`
diff --git a/include/folsom.hrl b/include/folsom.hrl
index 0249e7e..1e0f8dd 100644
--- a/include/folsom.hrl
+++ b/include/folsom.hrl
@@ -34,7 +34,7 @@
window = ?DEFAULT_SLIDING_WINDOW,
size = ?DEFAULT_SIZE,
reservoir = folsom_metrics_histogram_ets:new(folsom_slide_uniform,[set, {write_concurrency, true}, public]),
- seed = os:timestamp(),
+ seed = rand:seed_s(exsplus, os:timestamp()),
server
}).
@@ -42,7 +42,7 @@
size = ?DEFAULT_SIZE,
n = 1,
reservoir = folsom_metrics_histogram_ets:new(folsom_uniform,[set, {write_concurrency, true}, public]),
- seed = os:timestamp()
+ seed = rand:seed_s(exsplus, os:timestamp())
}).
-record(exdec, {
@@ -50,7 +50,7 @@
next = 0,
alpha = ?DEFAULT_ALPHA,
size = ?DEFAULT_SIZE,
- seed = os:timestamp(),
+ seed = rand:seed_s(exsplus, os:timestamp()),
n = 1,
reservoir = folsom_metrics_histogram_ets:new(folsom_exdec,[ordered_set, {write_concurrency, true}, public])
}).
diff --git a/src/folsom_sample_exdec.erl b/src/folsom_sample_exdec.erl
index a7a5d04..d065406 100644
--- a/src/folsom_sample_exdec.erl
+++ b/src/folsom_sample_exdec.erl
@@ -64,7 +64,7 @@
update(#exdec{reservoir = Reservoir, alpha = Alpha, start = Start, n = N, size = Size, seed = Seed} = Sample, Value, Timestamp) when N =< Size ->
% since N is =< Size we can just add the new value to the sample
- {Rand, New_seed} = random:uniform_s(N, Seed),
+ {Rand, New_seed} = rand:uniform_s(N, Seed),
Priority = priority(Alpha, Timestamp, Start, Rand),
true = ets:insert(Reservoir, {Priority, Value}),
@@ -73,7 +73,7 @@
% when N is not =< Size we need to check to see if the priority of
% the new value is greater than the first (smallest) existing priority
- {Rand, NewSeed} = random:uniform_s(N, Seed),
+ {Rand, NewSeed} = rand:uniform_s(N, Seed),
Priority = priority(Alpha, Timestamp, Start, Rand),
First = ets:first(Reservoir),
diff --git a/src/folsom_sample_slide_uniform.erl b/src/folsom_sample_slide_uniform.erl
index 906e5d8..450b9dc 100644
--- a/src/folsom_sample_slide_uniform.erl
+++ b/src/folsom_sample_slide_uniform.erl
@@ -45,7 +45,8 @@
MCnt = folsom_utils:update_counter(Reservoir, Moment, 1),
Sample = case MCnt > Size of
true ->
- {Rnd, _NewSeed} = random:uniform_s(MCnt, Now),
+ Seed = rand:seed_s(exsplus, Now),
+ {Rnd, _NewSeed} = rand:uniform_s(MCnt, Seed),
maybe_update(Reservoir, {{Moment, Rnd}, Value}, Size),
Sample0;
false ->
diff --git a/src/folsom_sample_uniform.erl b/src/folsom_sample_uniform.erl
index 26b4bec..8743352 100644
--- a/src/folsom_sample_uniform.erl
+++ b/src/folsom_sample_uniform.erl
@@ -49,7 +49,7 @@
update(#uniform{reservoir = Reservoir, size = Size, n = N, seed = Seed} = Sample,
Value) ->
- {Rnd, New_seed} = random:uniform_s(N, Seed),
+ {Rnd, New_seed} = rand:uniform_s(N, Seed),
maybe_update(Rnd, Size, Value, Reservoir),
Sample#uniform{n = N + 1, seed = New_seed}.