Fix no data points while execTime exceeding current time of canal server.

This commit is contained in:
Chuanyi Li
2018-08-29 19:52:09 +08:00
parent fd5cfe23db
commit 06275a46ed
2 changed files with 10 additions and 12 deletions

View File

@@ -53,9 +53,9 @@ public class EntryCollector extends Collector implements InstanceRegistry {
for (EntryMetricsHolder emh : instances.values()) { for (EntryMetricsHolder emh : instances.values()) {
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
long latest = emh.latestExecTime.get(); long latest = emh.latestExecTime.get();
if (now >= latest) { // execTime > now,delay显示为0
delay.addMetric(emh.destLabelValues, (now - latest)); long d = (now >= latest) ? (now - latest) : 0;
} delay.addMetric(emh.destLabelValues, d);
transactions.addMetric(emh.destLabelValues, emh.transactionCounter.doubleValue()); transactions.addMetric(emh.destLabelValues, emh.transactionCounter.doubleValue());
} }
mfs.add(delay); mfs.add(delay);

View File

@@ -99,15 +99,13 @@ public class StoreCollector extends Collector implements InstanceRegistry {
long get = Math.min(smh.getExecTime.get(), pet); long get = Math.min(smh.getExecTime.get(), pet);
long aet = Math.min(smh.ackExecTime.get(), get); long aet = Math.min(smh.ackExecTime.get(), get);
long now = System.currentTimeMillis(); long now = System.currentTimeMillis();
if (now >= pet) { // execTime > now,delay显示为0
putDelay.addMetric(smh.destLabelValues, (now - pet)); long pd = (now >= pet) ? (now - pet) : 0;
} putDelay.addMetric(smh.destLabelValues, pd);
if (now >= get) { long gd = (now >= get) ? (now - get) : 0;
getDelay.addMetric(smh.destLabelValues, (now - get)); getDelay.addMetric(smh.destLabelValues, gd);
} long ad = (now >= aet) ? (now - aet) : 0;
if (now >= aet) { ackDelay.addMetric(smh.destLabelValues, ad);
ackDelay.addMetric(smh.destLabelValues, (now - aet));
}
putRows.addMetric(smh.destLabelValues, smh.putTableRows.doubleValue()); putRows.addMetric(smh.destLabelValues, smh.putTableRows.doubleValue());
getRows.addMetric(smh.destLabelValues, smh.getTableRows.doubleValue()); getRows.addMetric(smh.destLabelValues, smh.getTableRows.doubleValue());
ackRows.addMetric(smh.destLabelValues, smh.ackTableRows.doubleValue()); ackRows.addMetric(smh.destLabelValues, smh.ackTableRows.doubleValue());