This is an automated email from the ASF dual-hosted git repository.
xingtanzjr pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/rel/0.13 by this push:
new 76f7fa49e5 [To rel/0.13][IOTDB-3978] Add thrift connection metric.
(#6798)
76f7fa49e5 is described below
commit 76f7fa49e50b330140b8f589e791bd82fa949c29
Author: ZhangHongYin <[email protected]>
AuthorDate: Thu Jul 28 18:27:15 2022 +0800
[To rel/0.13][IOTDB-3978] Add thrift connection metric. (#6798)
---
docs/UserGuide/Maintenance-Tools/Metric-Tool.md | 13 +++++++------
docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md | 13 +++++++------
.../org/apache/iotdb/db/service/metrics/enums/Metric.java | 3 ++-
.../service/thrift/handler/RPCServiceThriftHandler.java | 15 ++++++++++++++-
4 files changed, 30 insertions(+), 14 deletions(-)
diff --git a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
index 689e91aaa9..34522ae3e4 100644
--- a/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -78,12 +78,13 @@ Next, we will choose Prometheus format data as samples to
describe each kind of
#### 4.3.1. API
-| Metric | Tag | level | Description
| Sample |
-| ------------------- | --------------------- | --------- |
---------------------------------------- |
-------------------------------------------- |
-| entry_seconds_count | name="interface name" | important | The total request
count of the interface | entry_seconds_count{name="openSession",} 1.0 |
-| entry_seconds_sum | name="interface name" | important | The total cost
seconds of the interface | entry_seconds_sum{name="openSession",} 0.024 |
-| entry_seconds_max | name="interface name" | important | The max latency of
the interface | entry_seconds_max{name="openSession",} 0.024 |
-| quantity_total | name="pointsIn" | important | The total points
inserted into IoTDB | quantity_total{name="pointsIn",} 1.0 |
+| Metric | Tag | level | Description
| Sample |
+| ------------------- | ------------------------ | --------- |
---------------------------------------- |
-------------------------------------------- |
+| entry_seconds_count | name="{{interface}}" | important | The total
request count of the interface | entry_seconds_count{name="openSession",} 1.0 |
+| entry_seconds_sum | name="{{interface}}" | important | The total cost
seconds of the interface | entry_seconds_sum{name="openSession",} 0.024 |
+| entry_seconds_max | name="{{interface}}" | important | The max latency
of the interface | entry_seconds_max{name="openSession",} 0.024 |
+| quantity_total | name="pointsIn" | important | The total
points inserted into IoTDB | quantity_total{name="pointsIn",} 1.0 |
+| thrift_connections | name="{{thriftService}}" | core | current number
of thrift connections | thrift_connections{name="RPC",} 1.0 |
#### 4.3.2. Task
| Metric | Tag
| level | Description
| Sample
|
diff --git a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
index 05b68d2296..fa7f9ae3be 100644
--- a/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
+++ b/docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md
@@ -76,12 +76,13 @@ IoTDB对外提供JMX和Prometheus格式的监控指标,对于JMX,可以通
#### 4.3.1. 接入层
-| Metric | Tag | level | 说明 | 示例
|
-| ------------------- | --------------- | --------- | ---------------- |
-------------------------------------------- |
-| entry_seconds_count | name="接口名" | important | 接口累计访问次数 |
entry_seconds_count{name="openSession",} 1.0 |
-| entry_seconds_sum | name="接口名" | important | 接口累计耗时(s) |
entry_seconds_sum{name="openSession",} 0.024 |
-| entry_seconds_max | name="接口名" | important | 接口最大耗时(s) |
entry_seconds_max{name="openSession",} 0.024 |
-| quantity_total | name="pointsIn" | important | 系统累计写入点数 |
quantity_total{name="pointsIn",} 1.0 |
+| Metric | Tag | level | 说明
| 示例 |
+| ------------------- | ------------------------ | --------- |
---------------- | -------------------------------------------- |
+| entry_seconds_count | name="{{interface}}" | important | 接口累计访问次数 |
entry_seconds_count{name="openSession",} 1.0 |
+| entry_seconds_sum | name="{{interface}}" | important | 接口累计耗时(s) |
entry_seconds_sum{name="openSession",} 0.024 |
+| entry_seconds_max | name="{{interface}}" | important | 接口最大耗时(s) |
entry_seconds_max{name="openSession",} 0.024 |
+| quantity_total | name="pointsIn" | important | 系统累计写入点数 |
quantity_total{name="pointsIn",} 1.0 |
+| thrift_connections | name="{{thriftService}}" | core | thrift当前连接数 |
thrift_connections{name="RPC",} 1.0 |
#### 4.3.2. Task
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java
b/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java
index 79c96b6fd6..88efa07155 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/metrics/enums/Metric.java
@@ -53,7 +53,8 @@ public enum Metric {
SYS_FREE_SWAP_SPACE_SIZE,
SYS_COMMITTED_VM_SIZE,
SYS_DISK_TOTAL_SPACE,
- SYS_DISK_FREE_SPACE;
+ SYS_DISK_FREE_SPACE,
+ THRIFT_CONNECTIONS;
@Override
public String toString() {
diff --git
a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
index 7bdf65fd7b..bda894c9c6 100644
---
a/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
+++
b/server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
@@ -16,7 +16,11 @@
*/
package org.apache.iotdb.db.service.thrift.handler;
+import org.apache.iotdb.db.service.metrics.MetricsService;
+import org.apache.iotdb.db.service.metrics.enums.Metric;
+import org.apache.iotdb.db.service.metrics.enums.Tag;
import org.apache.iotdb.db.service.thrift.impl.TSServiceImpl;
+import org.apache.iotdb.metrics.utils.MetricLevel;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.server.ServerContext;
@@ -32,7 +36,11 @@ public class RPCServiceThriftHandler implements
TServerEventHandler {
@Override
public ServerContext createContext(TProtocol arg0, TProtocol arg1) {
- // nothing
+ MetricsService.getInstance()
+ .getMetricManager()
+ .getOrCreateGauge(
+ Metric.THRIFT_CONNECTIONS.toString(), MetricLevel.CORE,
Tag.NAME.toString(), "RPC")
+ .incr(1L);
return null;
}
@@ -40,6 +48,11 @@ public class RPCServiceThriftHandler implements
TServerEventHandler {
public void deleteContext(ServerContext arg0, TProtocol arg1, TProtocol
arg2) {
// release query resources.
serviceImpl.handleClientExit();
+ MetricsService.getInstance()
+ .getMetricManager()
+ .getOrCreateGauge(
+ Metric.THRIFT_CONNECTIONS.toString(), MetricLevel.CORE,
Tag.NAME.toString(), "RPC")
+ .decr(1L);
}
@Override