Class MetricsService

java.lang.Object
org.apache.nifi.reporting.util.metrics.MetricsService

public class MetricsService extends Object
A service used to produce key/value metrics based on a given input.
  • Constructor Details

    • MetricsService

      public MetricsService()
  • Method Details

    • getMetrics

      public Map<String,String> getMetrics(ProcessGroupStatus status, boolean appendPgId)
      Generates a Map of metrics for a ProcessGroupStatus instance.
      Parameters:
      status - a ProcessGroupStatus to get metrics from
      appendPgId - if true, the process group ID will be appended at the end of the metric name
      Returns:
      a map of metrics for the given status
    • getIntegerMetrics

      private Map<String,Integer> getIntegerMetrics(ProcessGroupStatus status, boolean appendPgId)
    • getLongMetrics

      private Map<String,Long> getLongMetrics(ProcessGroupStatus status, boolean appendPgId)
    • getMetrics

      public Map<String,String> getMetrics(JvmMetrics virtualMachineMetrics)
      Generates a Map of metrics for VirtualMachineMetrics.
      Parameters:
      virtualMachineMetrics - a VirtualMachineMetrics instance to get metrics from
      Returns:
      a map of metrics from the given VirtualMachineStatus
    • calculateProcessingNanos

      protected long calculateProcessingNanos(ProcessGroupStatus status)
    • appendPgId

      private String appendPgId(String name, ProcessGroupStatus status, boolean appendPgId)
    • getDoubleMetrics

      private Map<String,Double> getDoubleMetrics(JvmMetrics virtualMachineMetrics)
    • getLongMetrics

      private Map<String,Long> getLongMetrics(JvmMetrics virtualMachineMetrics)
    • getIntegerMetrics

      private Map<String,Integer> getIntegerMetrics(JvmMetrics virtualMachineMetrics)
    • addEmptyValue

      private boolean addEmptyValue(Map<String,?> metricsMap, String metricskey, javax.json.JsonObjectBuilder objectBuilder, boolean allowNullValues)
    • getMetrics

      public javax.json.JsonObject getMetrics(javax.json.JsonBuilderFactory factory, ProcessGroupStatus status, JvmMetrics virtualMachineMetrics, String applicationId, String id, String hostname, long currentTimeMillis, int availableProcessors, double systemLoad, boolean allowNullValues)