Skip to content

Implement simple hash based sampler (sample request based on hash value of trace_id) #2

@jettify

Description

@jettify
  1. Create abstract base class SamplerAbc
  2. Make current class subclass of SamplerAbc
  3. Implement one more sampler class base and hash idea from brave

class Sampler:
def __init__(self, *, sample_rate=1.0, seed=None):
self._sample_rate = sample_rate
self._rng = Random(seed)
def is_sampled(self, trace_id):
if self._sample_rate == 0.0:
sampled = False
else:
sampled = self._rng.random() <= self._sample_rate
return sampled

But sampling logic ported from here:
https://github.com/openzipkin/brave/blob/967e48507f6267c07e3238b8f30575c683690ef6/brave/src/main/java/brave/sampler/BoundarySampler.java#L43-L47

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions