package com.bagri.server.hazelcast.stats;
import static com.bagri.server.hazelcast.stats.DocumentStatistics.all_docs;
import javax.management.openmbean.CompositeData;
import com.bagri.support.stats.Statistics;
import com.bagri.support.stats.StatisticsCollector;
import com.bagri.support.stats.StatisticsEvent;
import com.bagri.support.util.JMXUtils;
public class DocumentStatsCollector extends StatisticsCollector<DocumentStatistics> {
public DocumentStatsCollector(Class<DocumentStatistics> cls, String name) {
super(cls, name);
initStatistics(all_docs);
}
@Override
public CompositeData getStatisticTotals() {
DocumentStatistics result = (DocumentStatistics) series.get(all_docs);
return JMXUtils.mapToComposite(name, "DocsStats", result.toMap());
}
@Override
protected boolean reportStatistics(Statistics stats) {
return !all_docs.equals(((DocumentStatistics) stats).getCollectionName());
}
@Override
protected void updateStatistics(StatisticsEvent event) {
if (event.getName() == null) {
event = new StatisticsEvent(all_docs, event.isSuccess(), event.getParams());
}
super.updateStatistics(event);
}
}