@Override public void differentialMetric(String code, String limitType, String label, double currentValue, String unit) { Double lastValue = differentials.get(code); if (lastValue != null) { metric(code, limitType, label, currentValue - lastValue, unit); } differentials.put(code, currentValue); }
@Override public void metric(String code, String limitType, String label, double value, String unit) { collector.add(new Metric(code, label, value, computeState(limitType, value), unit)); }
private void collectMetrics(DataCollector<Metric> collector, MetricProvider provider) { try { provider.gather(new MetricCollectorAdapter(collector)); } catch (Exception e) { Exceptions.handle(e); } }