random
The random module contains functions for generating random values of various types.
The generated values are uniformly distributed over the specified type (and range, where applicable). Useful for doing percentage drops of events, for example.
The random number generator under the hood is seeded based on tremor's event ingestion time and thus the output here is deterministic. Should we choose to replay a tremor data dump (something to be added in future tremor versions), we will always get the same value for an event.
Functions
bool()
Generates a random boolean.
Returns an bool
;
string(length)
Generates a random string of given length with ASCII letters and numbers:
a
-z
, A
-Z
and 0
-9
. The argument must be an integer
greater than
or equal to zero -- otherwise the function errors out.
random::string(16) # 16 alphanumeric characters. eg: "QuSFjpW8PBNewRml"
random::string(0) # ""
Returns an string
integer()
Generates a random integer
, with the functionality changing based on the
number of arguments passed.
random::integer(0, 2) # either 0 or 1
random::integer(42, 43) # always 42
random::integer(0, 100) # one of 0-99
random::integer(-1, 1) # either -1 or 0
random::integer(-42, -41) # always -42
random::integer(i) -> integer
random::integer(100) # one of 0-99. same as random::integer(0, 100)
random::integer() -> integer
float()
Generates a random float, with the functionality changing based on the number of arguments passed.
random::float(0.0, 100.0) # >= 0.0 and < 100.0
random::float(-1.0, 1.0) # >= -1.0 and < 1.0
random::float(-3.0, -2.0) # >= -3.0 and < -2.0
random::float(100.0) # same as random::float(0.0, 100.0)
random::float() -> float