Fix: do not publish vStats info to Prometheus if it is not activated

Change-Id: I843f1bdd7e737fe642034c54a67bdb528177728c
diff --git a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/PrometheusTelemetryManager.java b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/PrometheusTelemetryManager.java
index 9f63b1d..92cf34e 100644
--- a/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/PrometheusTelemetryManager.java
+++ b/apps/openstacktelemetry/app/src/main/java/org/onosproject/openstacktelemetry/impl/PrometheusTelemetryManager.java
@@ -184,11 +184,18 @@
 
     @Override
     public void publish(Set<FlowInfo> flowInfos) {
-        if (flowInfos.isEmpty()) {
-            log.debug("No FlowInfo record to publish");
+        if (prometheusExporters == null || prometheusExporters.isEmpty()) {
+            log.debug("Prometheus telemetry service has not been enabled!");
             return;
         }
 
+        if (flowInfos.size() == 0) {
+            log.debug("No record to publish");
+            return;
+        }
+
+        log.debug("Publish {} stats records to Prometheus", flowInfos.size());
+
         long flowByte;
         int flowPkt;
         String[] labelValues;
@@ -203,8 +210,18 @@
             pktVM2VM.labels(labelValues).set(flowPkt);
             pktVM2VMPrev.labels(labelValues).set(flowInfo.statsInfo().prevAccPkts());
             pktVM2VMCurr.labels(labelValues).set(flowInfo.statsInfo().currAccPkts());
-            pktError.labels(labelValues).inc(flowInfo.statsInfo().errorPkts());
-            pktDrop.labels(labelValues).inc(flowInfo.statsInfo().dropPkts());
+
+            if (flowInfo.statsInfo().errorPkts() == -1) {
+                pktError.labels(labelValues).inc(0);
+            } else {
+                pktError.labels(labelValues).inc(flowInfo.statsInfo().errorPkts());
+            }
+
+            if (flowInfo.statsInfo().dropPkts() == -1) {
+                pktDrop.labels(labelValues).inc(0);
+            } else {
+                pktDrop.labels(labelValues).inc(flowInfo.statsInfo().dropPkts());
+            }
         }
     }