In tickets SAMZA-341 and SAMZA-340 we add new module for metrics, samza-graphite and samza-ganglia. They have same core classes (timer, gauge, snapshot, counter). The difference is only in ReporterFactory and Reporter class. There are two more tickets that would have same core classes.
I think we should make one module that contains core classes, and several small modules for every new metrics (Ganglia, Graphite, CSV, Console, ...).