public void bindTo()

in iotdb-core/metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/disk/DiskMetrics.java [52:235]


  public void bindTo(AbstractMetricService metricService) {
    // metrics for disks
    Set<String> diskIDs = diskMetricsManager.getDiskIds();
    for (String diskID : diskIDs) {
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_SIZE.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getReadDataSizeForDisk().getOrDefault(diskID, 0.0),
          SystemTag.TYPE.toString(),
          READ,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_SIZE.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getWriteDataSizeForDisk().getOrDefault(diskID, 0.0),
          SystemTag.TYPE.toString(),
          WRITE,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_OPS.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getReadOperationCountForDisk().getOrDefault(diskID, 0L),
          SystemTag.TYPE.toString(),
          READ,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_OPS.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getWriteOperationCountForDisk().getOrDefault(diskID, 0L),
          SystemTag.TYPE.toString(),
          WRITE,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_OPS.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getMergedReadOperationForDisk().getOrDefault(diskID, 0L),
          SystemTag.TYPE.toString(),
          MERGED_READ,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_OPS.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getMergedWriteOperationForDisk().getOrDefault(diskID, 0L),
          SystemTag.TYPE.toString(),
          MERGED_WRITE,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_TIME.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getReadCostTimeForDisk().getOrDefault(diskID, 0L),
          SystemTag.TYPE.toString(),
          READ,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_TIME.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getWriteCostTimeForDisk().getOrDefault(diskID, 0L),
          SystemTag.TYPE.toString(),
          WRITE,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_AVG_TIME.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getAvgReadCostTimeOfEachOpsForDisk().getOrDefault(diskID, 0.0),
          SystemTag.TYPE.toString(),
          READ,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_AVG_TIME.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getAvgWriteCostTimeOfEachOpsForDisk().getOrDefault(diskID, 0.0),
          SystemTag.TYPE.toString(),
          WRITE,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_AVG_SIZE.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getAvgSizeOfEachReadForDisk().getOrDefault(diskID, 0.0),
          SystemTag.TYPE.toString(),
          READ,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_AVG_SIZE.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getAvgSizeOfEachWriteForDisk().getOrDefault(diskID, 0.0),
          SystemTag.TYPE.toString(),
          WRITE,
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_BUSY_PERCENTAGE.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getIoUtilsPercentage().getOrDefault(diskID, 0.0),
          SystemTag.DISK.toString(),
          diskID);
      metricService.createAutoGauge(
          SystemMetric.DISK_IO_AVG_QUEUE_SIZE.toString(),
          MetricLevel.IMPORTANT,
          diskMetricsManager,
          x -> x.getQueueSizeForDisk().getOrDefault(diskID, 0.0),
          SystemTag.DISK.toString(),
          diskID);
    }

    // metrics for datanode and config node
    metricService.createAutoGauge(
        SystemMetric.PROCESS_IO_OPS.toString(),
        MetricLevel.IMPORTANT,
        diskMetricsManager,
        IDiskMetricsManager::getReadOpsCountForProcess,
        SystemTag.FROM.toString(),
        processName,
        SystemTag.NAME.toString(),
        READ);
    metricService.createAutoGauge(
        SystemMetric.PROCESS_IO_OPS.toString(),
        MetricLevel.IMPORTANT,
        diskMetricsManager,
        IDiskMetricsManager::getWriteOpsCountForProcess,
        SystemTag.FROM.toString(),
        processName,
        SystemTag.NAME.toString(),
        WRITE);
    metricService.createAutoGauge(
        SystemMetric.PROCESS_IO_SIZE.toString(),
        MetricLevel.IMPORTANT,
        diskMetricsManager,
        IDiskMetricsManager::getActualReadDataSizeForProcess,
        SystemTag.FROM.toString(),
        processName,
        SystemTag.NAME.toString(),
        ACTUAL_READ);
    metricService.createAutoGauge(
        SystemMetric.PROCESS_IO_SIZE.toString(),
        MetricLevel.IMPORTANT,
        diskMetricsManager,
        IDiskMetricsManager::getActualWriteDataSizeForProcess,
        SystemTag.FROM.toString(),
        processName,
        SystemTag.NAME.toString(),
        ACTUAL_WRITE);
    metricService.createAutoGauge(
        SystemMetric.PROCESS_IO_SIZE.toString(),
        MetricLevel.IMPORTANT,
        diskMetricsManager,
        IDiskMetricsManager::getAttemptReadSizeForProcess,
        SystemTag.FROM.toString(),
        processName,
        SystemTag.NAME.toString(),
        ATTEMPT_READ);
    metricService.createAutoGauge(
        SystemMetric.PROCESS_IO_SIZE.toString(),
        MetricLevel.IMPORTANT,
        diskMetricsManager,
        IDiskMetricsManager::getAttemptWriteSizeForProcess,
        SystemTag.FROM.toString(),
        processName,
        SystemTag.NAME.toString(),
        ATTEMPT_WRITE);
  }