> On July 14, 2015, 9:44 p.m., Yan Fang wrote: > > samza-elasticsearch/src/main/java/org/apache/samza/system/elasticsearch/ElasticsearchSystemProducerMetrics.java, > > line 24 > > <https://reviews.apache.org/r/36473/diff/1/?file=1010788#file1010788line24> > > > > can this class extends MetricsHelper? This can simplifies a little.
I don't see how it simplifies things because I have to implement all the methods in the Scala trait. I'm having trouble getting the newGauge signatures to match. ``` public class ElasticsearchSystemProducerMetrics implements MetricsHelper { public final Counter bulkSendSuccess; public final Counter inserts; public final Counter updates; private final MetricsRegistry registry; private final String group; private final String systemName; public interface JFunction<R> { R apply(); } public ElasticsearchSystemProducerMetrics(String systemName, MetricsRegistry registry) { group = this.getClass().getName(); this.registry = registry; this.systemName = systemName; bulkSendSuccess = newCounter("bulk-send-success"); inserts = newCounter("docs-inserted"); updates = newCounter("docs-updated"); } @Override public Counter newCounter(String name) { return MetricsHelper$class.newCounter(this, name); } @Override public <T> Gauge<T> newGauge(String name, T value) { return MetricsHelper$class.newGauge(this, name, value); } @Override public <T> Gauge<T> newGauge(String name, JFunction<T> value) { return null; } @Override public Timer newTimer(String name) { return MetricsHelper$class.newTimer(this, name); } @Override public String getPrefix() { return systemName + "-"; } @Override public MetricsRegistry registry() { return registry; } @Override public String group() { return group; } } ``` - Roger ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/36473/#review91670 ----------------------------------------------------------- On July 14, 2015, 6:12 a.m., Roger Hoover wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/36473/ > ----------------------------------------------------------- > > (Updated July 14, 2015, 6:12 a.m.) > > > Review request for samza. > > > Repository: samza > > > Description > ------- > > SAMZA-733 Add metrics to Elasticsearch System Producer > > > Diffs > ----- > > > samza-elasticsearch/src/main/java/org/apache/samza/system/elasticsearch/ElasticsearchSystemFactory.java > a277b69 > > samza-elasticsearch/src/main/java/org/apache/samza/system/elasticsearch/ElasticsearchSystemProducer.java > 7eb14a2 > > samza-elasticsearch/src/main/java/org/apache/samza/system/elasticsearch/ElasticsearchSystemProducerMetrics.java > PRE-CREATION > > Diff: https://reviews.apache.org/r/36473/diff/ > > > Testing > ------- > > Tested that metrics for Elasticsearch producer appear in JMX and the metrics > stream and that the metrics correctly count how many Elasticsearch documents > were created and indexed. > > > Thanks, > > Roger Hoover > >