Exemplo n.º 1
0
def test_sampling_rule_sample_rate_1():
    tracer = DummyTracer()
    rule = SamplingRule(sample_rate=1)

    iterations = int(1e4)
    assert all(
        rule.sample(Span(tracer=tracer, name=i)) for i in range(iterations))
Exemplo n.º 2
0
def test_sampling_rule_sample_rate_0():
    tracer = get_dummy_tracer()
    rule = SamplingRule(sample_rate=0)

    iterations = int(1e4)
    assert sum(
        rule.sample(Span(tracer=tracer, name=i))
        for i in range(iterations)) == 0
Exemplo n.º 3
0
def test_sampling_rule_sample(sample_rate):
    rule = SamplingRule(sample_rate=sample_rate)

    iterations = int(1e4 / sample_rate)
    sampled = sum(rule.sample(Span(name=str(i))) for i in range(iterations))

    # Less than 5% deviation when 'enough' iterations (arbitrary, just check if it converges)
    deviation = abs(sampled -
                    (iterations * sample_rate)) / (iterations * sample_rate)
    assert deviation < 0.05, "Deviation {!r} too high with sample_rate {!r} for {} sampled".format(
        deviation, sample_rate, sampled)
Exemplo n.º 4
0
def test_sampling_rule_sample_rate_0():
    rule = SamplingRule(sample_rate=0)

    iterations = int(1e4)
    assert sum(rule.sample(Span(name=str(i))) for i in range(iterations)) == 0