Pārlūkot izejas kodu

checking input for nulls

Grega Bremec 2 gadi atpakaļ
vecāks
revīzija
7c98828564

+ 17 - 0
exporter/src/main/java/net/p0f/openshift/metrics/exporter/SysstatMetrics.java

@@ -22,6 +22,23 @@ public class SysstatMetrics {
     SysstatMeasurement lastMeasurement = null;
 
     public void processMetricRecord(SysstatMeasurement sm) {
+        // Sanity check first.
+        if (sm.getCpuLoad() == null ||
+                sm.getDisk() == null ||
+                sm.getHugepages() == null ||
+                sm.getIo() == null ||
+                sm.getKernel() == null ||
+                sm.getMemory() == null ||
+                sm.getNetwork() == null ||
+                sm.getPaging() == null ||
+                sm.getProcessAndContextSwitch() == null ||
+                sm.getPsi() == null ||
+                sm.getQueue() == null ||
+                sm.getSwapPages() == null) {
+            LOG.severe("Some of the sysstat measurement fields are null. Rejecting record.");
+            throw new IllegalStateException("Some of the sysstat measurement fields are null. Rejecting record.");
+        }
+
         LOG.fine("Updating sysstat metrics records...");
 
         if (this.lastMeasurement == null) {

+ 8 - 7
exporter/src/main/resources/application.properties

@@ -1,12 +1,13 @@
+quarkus.package.type=uber-jar
+
 quarkus.http.host = 0.0.0.0
 
 quarkus.log.level = INFO
-quarkus.log.category."psacct-reader".level = DEBUG
-quarkus.log.category."psacct-dispatch".level = DEBUG
-quarkus.log.category."psacct-reset".level = DEBUG
-quarkus.log.category."sysstat-reader".level = DEBUG
-quarkus.log.category."net.p0f.openshift.metrics".level = DEBUG
 
-quarkus.micrometer.export.json.enabled = true
+%dev.quarkus.log.category."psacct-reader".level = DEBUG
+%dev.quarkus.log.category."psacct-dispatch".level = DEBUG
+%dev.quarkus.log.category."psacct-reset".level = DEBUG
+%dev.quarkus.log.category."sysstat-reader".level = DEBUG
+%dev.quarkus.log.category."net.p0f.openshift.metrics".level = DEBUG
 
-quarkus.package.type=uber-jar
+%dev.quarkus.micrometer.export.json.enabled = true