Przeglądaj źródła

fix logger name typo, correct record validation logic

Grega Bremec 2 lat temu
rodzic
commit
6a84efa2c0

+ 3 - 8
exporter/src/main/java/net/p0f/openshift/metrics/exporter/SysstatMetrics.java

@@ -14,14 +14,14 @@ import net.p0f.openshift.metrics.model.SysstatMeasurement;
 @ApplicationScoped
 @Named("sysstatMetrics")
 public class SysstatMetrics {
-    static final Logger LOG = Logger.getLogger(SysstatMeasurement.class.getName());
+    static final Logger LOG = Logger.getLogger(SysstatMetrics.class.getName());
 
     @Inject
     MeterRegistry mr;
 
     SysstatMeasurement lastMeasurement = null;
 
-    public boolean isRecordValid(SysstatMeasurement sm) {
+    public static boolean isRecordValid(SysstatMeasurement sm) {
         LOG.fine("Checking record validity of " + sm);
 
         String nullMetrics = "";
@@ -66,12 +66,7 @@ public class SysstatMetrics {
         nullMetrics.replaceFirst(", $", "");
         LOG.fine("Validity check result: \"" + nullMetrics + "\"");
 
-        if (nullMetrics.length() != 0) {
-            LOG.severe("Null sysstat fields, rejecting record: " + nullMetrics);
-            return false;
-        }
-
-        return true;
+        return nullMetrics.length() == 0;
     }
 
     public void processMetricRecord(SysstatMeasurement sm) {

+ 2 - 2
exporter/src/main/java/net/p0f/openshift/metrics/routes/PsacctConsumer.java

@@ -26,11 +26,11 @@ public class PsacctConsumer extends RouteBuilder {
             // Split, unmarshall, and account for, all new records.
             .split().tokenize("\n").parallelProcessing()
             .log(LoggingLevel.DEBUG, "Split Psacct Record: ${body}")
-            // TODO: See into error-handler ways of avoiding this choice.
+            .setHeader("X-Is-Record-Valid", method(PsacctToCsv.class, "isRecordValid"))
             .choice()
                 .when(bodyAs(String.class).isEqualTo(""))
                     .log(LoggingLevel.DEBUG, "Skipping empty record.")
-                .when(method(PsacctToCsv.class, "isRecordValid").not())
+                .when(header("X-Is-Record-Valid").isEqualTo(false))
                     .log(LoggingLevel.WARN, "Illegal record: ${body}")
                 .otherwise()
                     .process(toCsv)

+ 2 - 1
exporter/src/main/java/net/p0f/openshift/metrics/routes/SysstatConsumer.java

@@ -37,8 +37,9 @@ public class SysstatConsumer extends RouteBuilder {
             .log(LoggingLevel.DEBUG, "Transformed Sysstat Json: ${body}")
             .unmarshal(new JacksonDataFormat(SysstatMeasurement.class))
             .log(LoggingLevel.INFO, "Unmarshaled Sysstat: ${body}")
+            .setHeader("X-Is-Record-Valid", method(SysstatMetrics.class, "isRecordValid"))
             .choice()
-                .when(method(SysstatMetrics.class, "isRecordValid").not())
+                .when(header("X-Is-Record-Valid").isEqualTo(false))
                     .log(LoggingLevel.WARN, "Illegal record: ${body}")
                 .otherwise()
                     .to("bean:sysstatMetrics?method=processMetricRecord&scope=Request")