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

apache / iotdb / #9654

pending completion
#9654

push

travis_ci

web-flow
[IOTDB-6073] Add ClientManager metrics (#10617)

279 of 279 new or added lines in 8 files covered. (100.0%)

79121 of 165733 relevant lines covered (47.74%)

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.IoTDBConstant;
27
import org.apache.iotdb.commons.service.metric.MetricService;
28
import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
29
import org.apache.iotdb.db.queryengine.metric.DataExchangeCostMetricSet;
30
import org.apache.iotdb.db.queryengine.metric.DataExchangeCountMetricSet;
31
import org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet;
32
import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
33
import org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet;
34
import org.apache.iotdb.db.queryengine.metric.QueryRelatedResourceMetricSet;
35
import org.apache.iotdb.db.queryengine.metric.QueryResourceMetricSet;
36
import org.apache.iotdb.db.queryengine.metric.SeriesScanCostMetricSet;
37
import org.apache.iotdb.metrics.metricsets.UpTimeMetrics;
38
import org.apache.iotdb.metrics.metricsets.cpu.CpuUsageMetrics;
39
import org.apache.iotdb.metrics.metricsets.disk.DiskMetrics;
40
import org.apache.iotdb.metrics.metricsets.jvm.JvmMetrics;
41
import org.apache.iotdb.metrics.metricsets.logback.LogbackMetrics;
42
import org.apache.iotdb.metrics.metricsets.net.NetMetrics;
43

44
import java.util.ArrayList;
45
import java.util.Arrays;
46
import java.util.List;
47

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

65
    // bind query related metrics
66
    MetricService.getInstance().addMetricSet(QueryPlanCostMetricSet.getInstance());
×
67
    MetricService.getInstance().addMetricSet(SeriesScanCostMetricSet.getInstance());
×
68
    MetricService.getInstance().addMetricSet(QueryExecutionMetricSet.getInstance());
×
69
    MetricService.getInstance().addMetricSet(QueryResourceMetricSet.getInstance());
×
70
    MetricService.getInstance().addMetricSet(DataExchangeCostMetricSet.getInstance());
×
71
    MetricService.getInstance().addMetricSet(DataExchangeCountMetricSet.getInstance());
×
72
    MetricService.getInstance().addMetricSet(DriverSchedulerMetricSet.getInstance());
×
73
    MetricService.getInstance().addMetricSet(new QueryRelatedResourceMetricSet());
×
74

75
    // bind performance overview related metrics
76
    MetricService.getInstance().addMetricSet(PerformanceOverviewMetrics.getInstance());
×
77
  }
×
78

79
  private static void initCpuMetrics() {
80
    List<String> threadModules = new ArrayList<>();
×
81
    Arrays.stream(ThreadModule.values()).forEach(x -> threadModules.add(x.toString()));
×
82
    List<String> pools = new ArrayList<>();
×
83
    Arrays.stream(ThreadName.values()).forEach(x -> pools.add(x.name()));
×
84
    MetricService.getInstance()
×
85
        .addMetricSet(
×
86
            new CpuUsageMetrics(
87
                threadModules,
88
                pools,
89
                x -> ThreadName.getModuleTheThreadBelongs(x).toString(),
×
90
                x -> ThreadName.getThreadPoolTheThreadBelongs(x).name()));
×
91
  }
×
92
}
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