Esempio n. 1
0
  private void updateAllMetricGroups(ProcessGroupStatus processGroupStatus) {
    final List<ProcessorStatus> processorStatuses = new ArrayList<>();
    populateProcessorStatuses(processGroupStatus, processorStatuses);
    for (final ProcessorStatus processorStatus : processorStatuses) {
      updateMetrics(
          metricsService.getProcessorMetrics(processorStatus),
          Optional.of(processorStatus.getName()),
          defaultTags);
    }

    final List<ConnectionStatus> connectionStatuses = new ArrayList<>();
    populateConnectionStatuses(processGroupStatus, connectionStatuses);
    for (ConnectionStatus connectionStatus : connectionStatuses) {
      Map<String, String> connectionStatusTags = new HashMap<>(defaultTags);
      connectionStatusTags.putAll(metricsService.getConnectionStatusTags(connectionStatus));
      updateMetrics(
          metricsService.getConnectionStatusMetrics(connectionStatus),
          Optional.<String>absent(),
          connectionStatusTags);
    }

    final List<PortStatus> inputPortStatuses = new ArrayList<>();
    populateInputPortStatuses(processGroupStatus, inputPortStatuses);
    for (PortStatus portStatus : inputPortStatuses) {
      Map<String, String> portTags = new HashMap<>(defaultTags);
      portTags.putAll(metricsService.getPortStatusTags(portStatus));
      updateMetrics(
          metricsService.getPortStatusMetrics(portStatus), Optional.<String>absent(), portTags);
    }

    final List<PortStatus> outputPortStatuses = new ArrayList<>();
    populateOutputPortStatuses(processGroupStatus, outputPortStatuses);
    for (PortStatus portStatus : outputPortStatuses) {
      Map<String, String> portTags = new HashMap<>(defaultTags);
      portTags.putAll(metricsService.getPortStatusTags(portStatus));
      updateMetrics(
          metricsService.getPortStatusMetrics(portStatus), Optional.<String>absent(), portTags);
    }

    updateMetrics(
        metricsService.getJVMMetrics(virtualMachineMetrics),
        Optional.<String>absent(),
        defaultTags);
    updateMetrics(
        metricsService.getDataFlowMetrics(processGroupStatus),
        Optional.<String>absent(),
        defaultTags);
  }