Currently, there is inconsistency with json encoder in tests/reporter.py. Some methods use it, some uses default.
I.e. JSONReporter use DucktapeJSONEncoder, but other encoders not.
Lets introduce some alias to json.dumps i.e.
def json_dumps(obj, **kwargs):
"""
Dump object to json string with Ducktape json encoder.
"""
assert 'cls' not in kwargs, "Passing custom json encoder is forbidden."
return json.dumps(obj, cls=DucktapeJSONEncoder, **kwargs)
and use it everywhere in tests/reporter.py