• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

apache / iotdb / #9919

25 Aug 2023 07:08AM UTC coverage: 47.802% (+0.007%) from 47.795%
#9919

push

travis_ci

web-flow
Remove some useless configs (#10950)

80023 of 167404 relevant lines covered (47.8%)

0.48 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
1
/*
2
 * Licensed to the Apache Software Foundation (ASF) under one
3
 * or more contributor license agreements.  See the NOTICE file
4
 * distributed with this work for additional information
5
 * regarding copyright ownership.  The ASF licenses this file
6
 * to you under the Apache License, Version 2.0 (the
7
 * "License"); you may not use this file except in compliance
8
 * with the License.  You may obtain a copy of the License at
9
 *
10
 *     http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing,
13
 * software distributed under the License is distributed on an
14
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
 * KIND, either express or implied.  See the License for the
16
 * specific language governing permissions and limitations
17
 * under the License.
18
 */
19

20
package org.apache.iotdb.db.service.metrics;
21

22
import org.apache.iotdb.commons.client.ClientManagerMetrics;
23
import org.apache.iotdb.commons.concurrent.ThreadModule;
24
import org.apache.iotdb.commons.concurrent.ThreadName;
25
import org.apache.iotdb.commons.concurrent.ThreadPoolMetrics;
26
import org.apache.iotdb.commons.conf.CommonDescriptor;
27
import org.apache.iotdb.commons.conf.IoTDBConstant;
28
import org.apache.iotdb.commons.service.metric.JvmGcMonitorMetrics;
29
import org.apache.iotdb.commons.service.metric.MetricService;
30
import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
31
import org.apache.iotdb.db.conf.IoTDBDescriptor;
32
import org.apache.iotdb.db.queryengine.metric.DataExchangeCostMetricSet;
33
import org.apache.iotdb.db.queryengine.metric.DataExchangeCountMetricSet;
34
import org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet;
35
import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
36
import org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet;
37
import org.apache.iotdb.db.queryengine.metric.QueryRelatedResourceMetricSet;
38
import org.apache.iotdb.db.queryengine.metric.QueryResourceMetricSet;
39
import org.apache.iotdb.db.queryengine.metric.SeriesScanCostMetricSet;
40
import org.apache.iotdb.metrics.metricsets.UpTimeMetrics;
41
import org.apache.iotdb.metrics.metricsets.cpu.CpuUsageMetrics;
42
import org.apache.iotdb.metrics.metricsets.disk.DiskMetrics;
43
import org.apache.iotdb.metrics.metricsets.jvm.JvmMetrics;
44
import org.apache.iotdb.metrics.metricsets.logback.LogbackMetrics;
45
import org.apache.iotdb.metrics.metricsets.net.NetMetrics;
46
import org.apache.iotdb.metrics.metricsets.system.SystemMetrics;
47

48
import java.util.ArrayList;
49
import java.util.Arrays;
50
import java.util.List;
51

52
public class DataNodeMetricsHelper {
×
53
  /** Bind predefined metric sets into DataNode. */
54
  public static void bind() {
55
    MetricService.getInstance().addMetricSet(new UpTimeMetrics());
×
56
    MetricService.getInstance().addMetricSet(new JvmMetrics());
×
57
    MetricService.getInstance().addMetricSet(ThreadPoolMetrics.getInstance());
×
58
    MetricService.getInstance().addMetricSet(new LogbackMetrics());
×
59
    MetricService.getInstance().addMetricSet(FileMetrics.getInstance());
×
60
    MetricService.getInstance().addMetricSet(CompactionMetrics.getInstance());
×
61
    MetricService.getInstance().addMetricSet(new ProcessMetrics());
×
62
    MetricService.getInstance().addMetricSet(new DiskMetrics(IoTDBConstant.DN_ROLE));
×
63
    MetricService.getInstance().addMetricSet(new NetMetrics(IoTDBConstant.DN_ROLE));
×
64
    MetricService.getInstance().addMetricSet(ClientManagerMetrics.getInstance());
×
65
    initCpuMetrics();
×
66
    initSystemMetrics();
×
67
    MetricService.getInstance().addMetricSet(WritingMetrics.getInstance());
×
68

69
    // bind query related metrics
70
    MetricService.getInstance().addMetricSet(QueryPlanCostMetricSet.getInstance());
×
71
    MetricService.getInstance().addMetricSet(SeriesScanCostMetricSet.getInstance());
×
72
    MetricService.getInstance().addMetricSet(QueryExecutionMetricSet.getInstance());
×
73
    MetricService.getInstance().addMetricSet(QueryResourceMetricSet.getInstance());
×
74
    MetricService.getInstance().addMetricSet(DataExchangeCostMetricSet.getInstance());
×
75
    MetricService.getInstance().addMetricSet(DataExchangeCountMetricSet.getInstance());
×
76
    MetricService.getInstance().addMetricSet(DriverSchedulerMetricSet.getInstance());
×
77
    MetricService.getInstance().addMetricSet(new QueryRelatedResourceMetricSet());
×
78

79
    // bind performance overview related metrics
80
    MetricService.getInstance().addMetricSet(PerformanceOverviewMetrics.getInstance());
×
81

82
    // bind gc metrics
83
    MetricService.getInstance().addMetricSet(JvmGcMonitorMetrics.getInstance());
×
84
  }
×
85

86
  private static void initSystemMetrics() {
87
    ArrayList<String> diskDirs = new ArrayList<>();
×
88
    diskDirs.add(IoTDBDescriptor.getInstance().getConfig().getSystemDir());
×
89
    diskDirs.add(IoTDBDescriptor.getInstance().getConfig().getConsensusDir());
×
90
    diskDirs.addAll(Arrays.asList(IoTDBDescriptor.getInstance().getConfig().getDataDirs()));
×
91
    diskDirs.addAll(Arrays.asList(CommonDescriptor.getInstance().getConfig().getWalDirs()));
×
92
    diskDirs.add(CommonDescriptor.getInstance().getConfig().getSyncDir());
×
93
    diskDirs.add(IoTDBDescriptor.getInstance().getConfig().getSortTmpDir());
×
94
    SystemMetrics.getInstance().setDiskDirs(diskDirs);
×
95
    MetricService.getInstance().addMetricSet(SystemMetrics.getInstance());
×
96
  }
×
97

98
  private static void initCpuMetrics() {
99
    List<String> threadModules = new ArrayList<>();
×
100
    Arrays.stream(ThreadModule.values()).forEach(x -> threadModules.add(x.toString()));
×
101
    List<String> pools = new ArrayList<>();
×
102
    Arrays.stream(ThreadName.values()).forEach(x -> pools.add(x.name()));
×
103
    MetricService.getInstance()
×
104
        .addMetricSet(
×
105
            new CpuUsageMetrics(
106
                threadModules,
107
                pools,
108
                x -> ThreadName.getModuleTheThreadBelongs(x).toString(),
×
109
                x -> ThreadName.getThreadPoolTheThreadBelongs(x).name()));
×
110
  }
×
111
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc