Skip to content

use a struct to handle JSON output

Vgutierrez requested to merge struct-json into main

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

Merge request reports