use a struct to handle JSON output
side effects: transformation rules are now deprecated
This MR introduces the required works to be able to adopt easyjson, previous approach relayed on maps to provide enough flexibility that transformation rules could be specified in the config file. This new approach relies on a struct and hardcoded transformation rules.
Current benchmark figures:
BenchmarkTransform/ProductionLog-16 116792 8645 ns/op 3897 B/op 74 allocs/op
BenchmarkTransform/ProductionLog-16 121333 8670 ns/op 3898 B/op 74 allocs/op
BenchmarkTransform/ProductionLog-16 155148 9139 ns/op 3897 B/op 74 allocs/op
BenchmarkTransform/ProductionLog-16 132566 9456 ns/op 3898 B/op 74 allocs/op
BenchmarkTransform/ProductionLog-16 108890 9215 ns/op 3898 B/op 74 allocs/op
BenchmarkTransform/ProductionLog-16 107719 9589 ns/op 3898 B/op 74 allocs/op
new benchmark figures:
BenchmarkTransform/ProductionLog-16 539647 2048 ns/op 856 B/op 3 allocs/op
BenchmarkTransform/ProductionLog-16 591327 2038 ns/op 856 B/op 3 allocs/op
BenchmarkTransform/ProductionLog-16 661791 2174 ns/op 856 B/op 3 allocs/op
BenchmarkTransform/ProductionLog-16 477045 2178 ns/op 856 B/op 3 allocs/op
BenchmarkTransform/ProductionLog-16 486990 2142 ns/op 856 B/op 3 allocs/op
BenchmarkTransform/ProductionLog-16 644668 2068 ns/op 856 B/op 3 allocs/op