Handle reporting errors gracefully for various metrics reporters
Change-Id: Ifc928fa25732609ff185caf213467ee40bdb6f53
diff --git a/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java b/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java
index bd49bcf..7ea58ea 100644
--- a/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java
+++ b/apps/gangliametrics/src/main/java/org/onosproject/gangliametrics/DefaultGangliaMetricsReporter.java
@@ -92,7 +92,7 @@
@Activate
public void activate() {
cfgService.registerProperties(getClass());
- coreService.registerApplication("org.onosproject.metrics.reporter");
+ coreService.registerApplication("org.onosproject.gangliametrics");
metricsService.registerReporter(this);
startReport();
@@ -120,7 +120,13 @@
public void startReport() {
configGMetric();
gangliaReporter = buildReporter(ganglia);
- gangliaReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+
+ try {
+ gangliaReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+ } catch (Exception e) {
+ log.error("Errors during reporting to ganglia, msg: {}" + e.getMessage());
+ }
+
log.info("Start to report metrics to ganglia server.");
}
@@ -142,7 +148,13 @@
public void notifyMetricsChange() {
gangliaReporter.stop();
gangliaReporter = buildReporter(ganglia);
- gangliaReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+
+ try {
+ gangliaReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+ } catch (Exception e) {
+ log.error("Errors during reporting to ganglia, msg: {}" + e.getMessage());
+ }
+
log.info("Metric registry has been changed, apply changes.");
}
diff --git a/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java b/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java
index 89453a7..11e4948 100644
--- a/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java
+++ b/apps/graphitemetrics/src/main/java/org/onosproject/graphitemetrics/DefaultGraphiteMetricsReporter.java
@@ -125,7 +125,13 @@
public void startReport() {
configGraphite();
graphiteReporter = buildReporter(graphite);
- graphiteReporter.start(reportPeriod, REPORT_TIME_UNIT);
+
+ try {
+ graphiteReporter.start(DEFAULT_REPORT_PERIOD, REPORT_TIME_UNIT);
+ } catch (Exception e) {
+ log.error("Errors during reporting to graphite, msg: {}" + e.getMessage());
+ }
+
log.info("Start to report metrics to graphite server.");
}
@@ -146,7 +152,13 @@
public void notifyMetricsChange() {
graphiteReporter.stop();
graphiteReporter = buildReporter(graphite);
- graphiteReporter.start(DEFAULT_REPORT_PERIOD, REPORT_TIME_UNIT);
+
+ try {
+ graphiteReporter.start(DEFAULT_REPORT_PERIOD, REPORT_TIME_UNIT);
+ } catch (Exception e) {
+ log.error("Errors during reporting to graphite, msg: {}" + e.getMessage());
+ }
+
log.info("Metric registry has been changed, apply changes.");
}
diff --git a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java
index 7ff636c..a0dca3b 100644
--- a/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java
+++ b/apps/influxdbmetrics/src/main/java/org/onosproject/influxdbmetrics/DefaultInfluxDbMetricsReporter.java
@@ -120,7 +120,12 @@
public void startReport() {
configSender();
influxDbReporter = buildReporter(influxDbHttpSender);
- influxDbReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+
+ try {
+ influxDbReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+ } catch (Exception e) {
+ log.error("Errors during reporting to InfluxDB, msg: {}" + e.getMessage());
+ }
log.info("Start to report metrics to influxDB.");
}
@@ -142,7 +147,13 @@
public void notifyMetricsChange() {
influxDbReporter.stop();
influxDbReporter = buildReporter(influxDbHttpSender);
- influxDbReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+
+ try {
+ influxDbReporter.start(REPORT_PERIOD, REPORT_TIME_UNIT);
+ } catch (Exception e) {
+ log.error("Errors during reporting to InfluxDB, msg: {}" + e.getMessage());
+ }
+
log.info("Metric registry has been changed, apply changes.");
}