1import bm
2import utils
3
4
5class Encoder(bm.Scenario):
6    ntraces = bm.var(type=int)
7    nspans = bm.var(type=int)
8    ntags = bm.var(type=int)
9    ltags = bm.var(type=int)
10    nmetrics = bm.var(type=int)
11    dd_origin = bm.var_bool()
12    encoding = bm.var(type=str)
13
14    def run(self):
15        encoder = utils.init_encoder(self.encoding)
16        traces = utils.gen_traces(self)
17
18        def _(loops):
19            for _ in range(loops):
20                for trace in traces:
21                    encoder.put(trace)
22                    encoder.encode()
23
24        yield _
25