This workaround is necessary because val parameters can't be
call-by-name. We pass a function so that the metrics aren't
serialized. Beyond the storm IMetric not being serializable,
passing a value also causes problems with the instance registered
in the bolt being different from the one used in the summingbird
job.
This workaround is necessary because val parameters can't be call-by-name. We pass a function so that the metrics aren't serialized. Beyond the storm IMetric not being serializable, passing a value also causes problems with the instance registered in the bolt being different from the one used in the summingbird job.