From 5d46528cba173ed73c5819595a40b732a320d602 Mon Sep 17 00:00:00 2001 From: xiaoyi Date: Tue, 2 Aug 2022 19:16:32 +0800 Subject: [PATCH 1/7] Add new committer sunxiaojian (#173) * Add new committer styletang * Add new committer sunxiaojian --- _about/01-team.md | 1 + assets/images/about/sunxiaojian.jpg | Bin 0 -> 149747 bytes 2 files changed, 1 insertion(+) create mode 100644 assets/images/about/sunxiaojian.jpg diff --git a/_about/01-team.md b/_about/01-team.md index 01b759c3c8..8433142d10 100644 --- a/_about/01-team.md +++ b/_about/01-team.md @@ -64,6 +64,7 @@ The following is a list of developers with commit privileges that have directly |![karp](/assets/images/about/karp.jpg)|karp| [@Ni Ze](https://github.com/ni-ze)|karp@apache.org|Committer| +8 | |![Aaron Ai](/assets/images/about/aaronai.png)|Aaron Ai| [@aaron-ai](https://github.com/aaron-ai)|aaronai@apache.org|Committer| +8 | |![scarb](/assets/images/about/scarb.jpg)|Jin Jiahao| [@HScarb](https://github.com/HScarb)|scarb@apache.org|Committer| +8 | +|![sunxiaojian](/assets/images/about/sunxiaojian.jpg)|sunxiaojian| [@sunxiaojian](https://github.com/sunxiaojian)|sunxiaojian@apache.org|Committer| +8 | ### Top Contributors diff --git a/assets/images/about/sunxiaojian.jpg b/assets/images/about/sunxiaojian.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18cdfd3b8f881ed021214bec2d0a269e9e35a21f GIT binary patch literal 149747 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 UQX-M;8GM(OxJkhb;r~Ye2eyU=PXGV_ literal 0 HcmV?d00001 From 90ee595454e582f806ccad49e2b5ce73cf49f125 Mon Sep 17 00:00:00 2001 From: hzh0425 <642256541@qq.com> Date: Thu, 4 Aug 2022 07:45:49 -0700 Subject: [PATCH 2/7] Add committer hzh (#176) * 'add_top_contributor' * 'modify_pic' * modify --- _about/01-team.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_about/01-team.md b/_about/01-team.md index 8433142d10..28ce49ee6d 100644 --- a/_about/01-team.md +++ b/_about/01-team.md @@ -65,6 +65,7 @@ The following is a list of developers with commit privileges that have directly |![Aaron Ai](/assets/images/about/aaronai.png)|Aaron Ai| [@aaron-ai](https://github.com/aaron-ai)|aaronai@apache.org|Committer| +8 | |![scarb](/assets/images/about/scarb.jpg)|Jin Jiahao| [@HScarb](https://github.com/HScarb)|scarb@apache.org|Committer| +8 | |![sunxiaojian](/assets/images/about/sunxiaojian.jpg)|sunxiaojian| [@sunxiaojian](https://github.com/sunxiaojian)|sunxiaojian@apache.org|Committer| +8 | +|![hzh0425](/assets/images/about/hzh0425.jpg)|Zhangheng huang| [@hzh0425](https://github.com/hzh0425) | hzh0425@apache.org |Committer| +8 | ### Top Contributors @@ -74,5 +75,5 @@ There are a lot of contributors who improve the RocketMQ project through submiss |:---|:---|:---|:---|:---|:---| |![siyue](/assets/images/about/siyue.jpeg)|Khaidi Chu| [@XadillaX](https://github.com/XadillaX)|i@2333.moe|Contributor| +8 | |![githublaohu](/assets/images/about/hujie.png)|Hu Jie| [@githublaohu](https://github.com/githublaohu)|2372554140@qq.com|Contributor| +8 | -|![hzh0425](/assets/images/about/hzh0425.jpg)|Zhangheng huang| [@hzh0425](https://github.com/hzh0425) |642256541@qq.com|Contributor| +8 | + From 1e6ecc65446962b51ae9f6ad0cc0477fa54f6c0f Mon Sep 17 00:00:00 2001 From: Li Zhanhui Date: Thu, 11 Aug 2022 10:31:32 +0800 Subject: [PATCH 3/7] Improve release manual, explicitly asking new release managers to add his/her keys to both dev and release KEYS files; Correct other spell issues and expressions --- _docs/08-release-manual.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/_docs/08-release-manual.md b/_docs/08-release-manual.md index 347f741293..2723b4a521 100644 --- a/_docs/08-release-manual.md +++ b/_docs/08-release-manual.md @@ -25,7 +25,7 @@ Create a code signing gpg key for release signing, use **\@apac * Upload your key to a public key server by `gpg --keyserver keys.openpgp.org --send-key `. you can search your key after uploaded. (`your key id`'s string length is 8). * Export your public key to a file by `gpg --armor --export >> gpgapachekey.txt`. * Get the key signed by other committers(Optional). -* Add the key to the RocketMQ [KEYS file](https://dist.apache.org/repos/dist/dev/rocketmq/KEYS). ([KEYS file] managed by svn) +* Append the key to both RocketMQ [dev KEYS file](https://dist.apache.org/repos/dist/dev/rocketmq/KEYS) and [release KEYS file](https://dist.apache.org/repos/dist/release/rocketmq/KEYS) using your preferred subversion clients. **Tips:** If you have more than one key in your gpg, set the code signing key to `~/.gnupg/gpg.conf` as default key is recommended. @@ -90,7 +90,7 @@ Make sure that you are in the develop branch, and Github PRs related to this rel Perform the following to generate and stage the artifacts: 1. `mvn clean release:clean` -2. `mvn release:prepare -Psigned_release -Darguments="-DskipTests"`, answer the correct release version(use the default, the version in pom, just enter), SCM release tag(use the default, the branch name, just enter), and the new development version(increate the version by 1.0, if you release 4.2.0, then the next version should be 4.3.0). +2. `mvn release:prepare -Psigned_release -Darguments="-DskipTests"`, answer the correct release version(use the default, the version in pom, just enter), SCM release tag(use the default, the branch name, just enter), and the new development version(increase the version accordingly, following [Semantics Versioning](https://semver.org/)). 3. `mvn -Psigned_release release:perform -Darguments="-DskipTests"`, generate the artifacts and push them to the [Nexus repo](https://repository.apache.org/#stagingRepositories). If you would like to perform a dry run first (without pushing the artifacts to the repo), add the arg -DdryRun=true. Now, the candidate release artifacts can be found in the [Nexus staging repo](https://repository.apache.org/#stagingRepositories) and in the `target` folder of your local branch. @@ -147,7 +147,7 @@ If the staging process encounter problem, you may need to rollback: git log ``` - - find 2 lastest commits who's comments as bellow + - find the last two commits, commit messages of which match the following pattern: > des1: [maven-release-plugin] prepare release rocketmq-all-4.9.2] > des2: [maven-release-plugin] prepare for next development iteration] - delete the 2 commits. (`143a34185b84aed5bc1224b353af340aa1e3df0fg` would be kept) @@ -180,9 +180,9 @@ After the successful building, remember to sign the artifact(PGP and SHA512 sign * check NOTICE, should have a notice for third-party dependency if necessary * extract the zip and check if the binary version is correct * verify the asc(PGP sign), SHA512 - * start nameserver and broker according to the quick-start + * start name-server and broker according to the quick-start * run clusterList command to see if the version is correct - * make sure there is no nohup.out in the binary files + * make sure there is no nohup.out and other irrelevant files in the binary artifact #### 4.2 check list for source release: @@ -190,7 +190,7 @@ After the successful building, remember to sign the artifact(PGP and SHA512 sign * check NOTICE, should have a notice for third-party dependency if necessary * extract the zip and check if the source version is correct * verify the asc(PGP sign),SHA512 - * build the source, start nameserver and broker according to the quick-start + * build the source, start name-server and broker according to the quick-start * run clusterList command to see if the version is correct From c48603a816578b19949a35fcb5df8091d2a22c87 Mon Sep 17 00:00:00 2001 From: ShannonDing Date: Tue, 6 Sep 2022 20:31:21 +0800 Subject: [PATCH 4/7] copy old website code to develop --- .asf.yaml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .asf.yaml diff --git a/.asf.yaml b/.asf.yaml deleted file mode 100644 index 170e1e3d5e..0000000000 --- a/.asf.yaml +++ /dev/null @@ -1,3 +0,0 @@ -publish: - whoami: asf-site - From f29dff19342387e9dfebc2fe8130c6f30ab17d27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=A2=93=E6=B7=87?= Date: Mon, 27 May 2024 15:50:54 +0800 Subject: [PATCH 5/7] Add two metric rocketmq_create_topic_time and rocketmq_create_subscription_time --- .../version-5.0/12-observability/01metrics.md | 4 ++- .../version-5.0/12-observability/01metrics.md | 36 ++++++++++--------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md b/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md index a01272af24..8df944d28f 100644 --- a/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md +++ b/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md @@ -26,7 +26,7 @@ The following table describes the labels of the metrics that are related to the - consumer_group: the ID of the consumer group. | Type | Name | Unit | Description | Label | -| --------- | -------------------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | +| --------- | -------------------------------------- | ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------------------- | | counter | rocketmq_messages_in_total | count | The number of messages that are produced. | cluster,node_type,node_id,topic,message_type | | counter | rocketmq_messages_out_total | count | The number of messages that are consumed. | cluster,node_type,node_id,topic, consumer_group | | counter | rocketmq_throughput_in_total | byte | The write throughput that are produced. | cluster,node_type,node_id,topic,message_type | @@ -42,6 +42,8 @@ The following table describes the labels of the metrics that are related to the | gauge | rocketmq_storage_dispatch_behind_bytes | byte | Undispatched message size. | cluster,node_type,node_id | | gauge | rocketmq_storage_flush_behind_bytes | byte | Unflushed messsage size. | cluster,node_type,node_id | | gauge | rocketmq_thread_pool_wartermark | count | The number of tasks queued in the thread pool. | cluster,node_type,node_id,name | +| histogram | rocketmq_create_topic_time | millisecond | The topic creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success,is_system | +| histogram | rocketmq_create_subscription_time | millisecond | The subscription group creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success | ### Producer metrics diff --git a/versioned_docs/version-5.0/12-observability/01metrics.md b/versioned_docs/version-5.0/12-observability/01metrics.md index 732c73360e..e73e4dfbfb 100644 --- a/versioned_docs/version-5.0/12-observability/01metrics.md +++ b/versioned_docs/version-5.0/12-observability/01metrics.md @@ -25,23 +25,25 @@ RocketMQ 以 Prometheus 格式公开以下指标。您可以使用这些指标 - message_type: 消息类型。有以下类型:
Normal:普通消息;
FIFO:顺序消息;
Transaction:事务消息;
Delay:定时/延时消息. - consumer_group: 消费者 ID。 -| Metrics 类型 | Metrics name | 单位 | 指标说明 | Label | -| ------------ | -------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | -| counter | rocketmq_messages_in_total | count | 消息生产数量。 | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_messages_out_total | count | 消息消费数量。 | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_throughput_in_total | byte | 消息生产流入服务端的吞吐量。 | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_throughput_out_total | byte | 消息消费从服务端流出的吞吐量。 | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_message_size | byte | 消息大小的分布情况,发送成功时统计。分布区间如下:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | -| gauge | rocketmq_consumer_ready_messages | count | 已就绪消息量。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_inflight_messages | count | 处理中消息量。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_queueing_latency | millisecond | 已就绪消息排队延迟时间。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_lag_latency | millisecond | 消费处理延迟时间。 | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_send_to_dlq_messages_total | count | 转为死信状态的消息量。(变成死信状态指的是消息达到最大重投次数后不再投递) | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_rpc_latency | millisecond | rpc 调用耗时:
le_1_ms
le_3_ms
le_5_ms
le_10_ms
le_100_ms
le_1_s
le_3_s
le_overflow | cluster,node_typ,node_id,protocol_type,request_code,response_code | -| gauge | rocketmq_storage_message_reserve_time | millisecond | 储存层消息保存时间(broker 硬盘上最早一条消息储存时间和当前时间作差) | cluster,node_type,node_id | -| gauge | rocketmq_storage_dispatch_behind_bytes | byte | dispatch 落后大小 | cluster,node_type,node_id | -| gauge | rocketmq_storage_flush_behind_bytes | byte | 刷盘落后大小。 | cluster,node_type,node_id | -| gauge | rocketmq_thread_pool_wartermark | count | 线程池排队数 | cluster,node_type,node_id,name | +| Metrics 类型 | Metrics name | 单位 | 指标说明 | Label | +| ------------ |----------------------------------------| ----------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------| +| counter | rocketmq_messages_in_total | count | 消息生产数量。 | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_messages_out_total | count | 消息消费数量。 | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_throughput_in_total | byte | 消息生产流入服务端的吞吐量。 | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_throughput_out_total | byte | 消息消费从服务端流出的吞吐量。 | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_message_size | byte | 消息大小的分布情况,发送成功时统计。分布区间如下:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | +| gauge | rocketmq_consumer_ready_messages | count | 已就绪消息量。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_inflight_messages | count | 处理中消息量。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_queueing_latency | millisecond | 已就绪消息排队延迟时间。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_lag_latency | millisecond | 消费处理延迟时间。 | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_send_to_dlq_messages_total | count | 转为死信状态的消息量。(变成死信状态指的是消息达到最大重投次数后不再投递) | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_rpc_latency | millisecond | rpc 调用耗时:
le_1_ms
le_3_ms
le_5_ms
le_10_ms
le_100_ms
le_1_s
le_3_s
le_overflow | cluster,node_typ,node_id,protocol_type,request_code,response_code | +| gauge | rocketmq_storage_message_reserve_time | millisecond | 储存层消息保存时间(broker 硬盘上最早一条消息储存时间和当前时间作差) | cluster,node_type,node_id | +| gauge | rocketmq_storage_dispatch_behind_bytes | byte | dispatch 落后大小 | cluster,node_type,node_id | +| gauge | rocketmq_storage_flush_behind_bytes | byte | 刷盘落后大小。 | cluster,node_type,node_id | +| gauge | rocketmq_thread_pool_wartermark | count | 线程池排队数 | cluster,node_type,node_id,name | +| histogram | rocketmq_create_topic_time | millisecond | 主题创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success,is_system | +| histogram | rocketmq_create_subscription_time | millisecond | 订阅组创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success | ### 生产者 Metrics 指标 From 257b7e358257dcecadb57a240a6c27924d6e33cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=A2=93=E6=B7=87?= Date: Mon, 27 May 2024 15:50:54 +0800 Subject: [PATCH 6/7] Add two metric rocketmq_create_topic_time and rocketmq_create_subscription_time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 黄梓淇 --- .../version-5.0/12-observability/01metrics.md | 8 ++-- .../version-5.0/12-observability/01metrics.md | 41 ++++++++++--------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md b/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md index 8df944d28f..7741355c9c 100644 --- a/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md +++ b/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md @@ -26,7 +26,7 @@ The following table describes the labels of the metrics that are related to the - consumer_group: the ID of the consumer group. | Type | Name | Unit | Description | Label | -| --------- | -------------------------------------- | ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------------------- | +|-----------| -------------------------------------- |-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------| | counter | rocketmq_messages_in_total | count | The number of messages that are produced. | cluster,node_type,node_id,topic,message_type | | counter | rocketmq_messages_out_total | count | The number of messages that are consumed. | cluster,node_type,node_id,topic, consumer_group | | counter | rocketmq_throughput_in_total | byte | The write throughput that are produced. | cluster,node_type,node_id,topic,message_type | @@ -42,8 +42,10 @@ The following table describes the labels of the metrics that are related to the | gauge | rocketmq_storage_dispatch_behind_bytes | byte | Undispatched message size. | cluster,node_type,node_id | | gauge | rocketmq_storage_flush_behind_bytes | byte | Unflushed messsage size. | cluster,node_type,node_id | | gauge | rocketmq_thread_pool_wartermark | count | The number of tasks queued in the thread pool. | cluster,node_type,node_id,name | -| histogram | rocketmq_create_topic_time | millisecond | The topic creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success,is_system | -| histogram | rocketmq_create_subscription_time | millisecond | The subscription group creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success | +| histogram | rocketmq_create_topic_time | millisecond | The topic creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,request_is_success,is_system | +| histogram | rocketmq_create_subscription_time | millisecond | The subscription group creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,request_is_success | +| Gauge | rocketmq_active_topic_number | count | The number of current topics | cluster,node_type,node_id | +| Gauge | rocketmq_active_subscription_number | count | The number of current subscription group | cluster,node_type,node_id | ### Producer metrics diff --git a/versioned_docs/version-5.0/12-observability/01metrics.md b/versioned_docs/version-5.0/12-observability/01metrics.md index e73e4dfbfb..0e4ccd842c 100644 --- a/versioned_docs/version-5.0/12-observability/01metrics.md +++ b/versioned_docs/version-5.0/12-observability/01metrics.md @@ -25,25 +25,28 @@ RocketMQ 以 Prometheus 格式公开以下指标。您可以使用这些指标 - message_type: 消息类型。有以下类型:
Normal:普通消息;
FIFO:顺序消息;
Transaction:事务消息;
Delay:定时/延时消息. - consumer_group: 消费者 ID。 -| Metrics 类型 | Metrics name | 单位 | 指标说明 | Label | -| ------------ |----------------------------------------| ----------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------| -| counter | rocketmq_messages_in_total | count | 消息生产数量。 | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_messages_out_total | count | 消息消费数量。 | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_throughput_in_total | byte | 消息生产流入服务端的吞吐量。 | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_throughput_out_total | byte | 消息消费从服务端流出的吞吐量。 | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_message_size | byte | 消息大小的分布情况,发送成功时统计。分布区间如下:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | -| gauge | rocketmq_consumer_ready_messages | count | 已就绪消息量。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_inflight_messages | count | 处理中消息量。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_queueing_latency | millisecond | 已就绪消息排队延迟时间。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_lag_latency | millisecond | 消费处理延迟时间。 | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_send_to_dlq_messages_total | count | 转为死信状态的消息量。(变成死信状态指的是消息达到最大重投次数后不再投递) | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_rpc_latency | millisecond | rpc 调用耗时:
le_1_ms
le_3_ms
le_5_ms
le_10_ms
le_100_ms
le_1_s
le_3_s
le_overflow | cluster,node_typ,node_id,protocol_type,request_code,response_code | -| gauge | rocketmq_storage_message_reserve_time | millisecond | 储存层消息保存时间(broker 硬盘上最早一条消息储存时间和当前时间作差) | cluster,node_type,node_id | -| gauge | rocketmq_storage_dispatch_behind_bytes | byte | dispatch 落后大小 | cluster,node_type,node_id | -| gauge | rocketmq_storage_flush_behind_bytes | byte | 刷盘落后大小。 | cluster,node_type,node_id | -| gauge | rocketmq_thread_pool_wartermark | count | 线程池排队数 | cluster,node_type,node_id,name | -| histogram | rocketmq_create_topic_time | millisecond | 主题创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success,is_system | -| histogram | rocketmq_create_subscription_time | millisecond | 订阅组创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success | +| Metrics 类型 | Metrics name | 单位 | 指标说明 | Label | +|-------------|----------------------------------------| ----------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------| +| counter | rocketmq_messages_in_total | count | 消息生产数量。 | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_messages_out_total | count | 消息消费数量。 | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_throughput_in_total | byte | 消息生产流入服务端的吞吐量。 | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_throughput_out_total | byte | 消息消费从服务端流出的吞吐量。 | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_message_size | byte | 消息大小的分布情况,发送成功时统计。分布区间如下:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | +| gauge | rocketmq_consumer_ready_messages | count | 已就绪消息量。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_inflight_messages | count | 处理中消息量。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_queueing_latency | millisecond | 已就绪消息排队延迟时间。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_lag_latency | millisecond | 消费处理延迟时间。 | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_send_to_dlq_messages_total | count | 转为死信状态的消息量。(变成死信状态指的是消息达到最大重投次数后不再投递) | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_rpc_latency | millisecond | rpc 调用耗时:
le_1_ms
le_3_ms
le_5_ms
le_10_ms
le_100_ms
le_1_s
le_3_s
le_overflow | cluster,node_typ,node_id,protocol_type,request_code,response_code | +| gauge | rocketmq_storage_message_reserve_time | millisecond | 储存层消息保存时间(broker 硬盘上最早一条消息储存时间和当前时间作差) | cluster,node_type,node_id | +| gauge | rocketmq_storage_dispatch_behind_bytes | byte | dispatch 落后大小 | cluster,node_type,node_id | +| gauge | rocketmq_storage_flush_behind_bytes | byte | 刷盘落后大小。 | cluster,node_type,node_id | +| gauge | rocketmq_thread_pool_wartermark | count | 线程池排队数 | cluster,node_type,node_id,name | +| histogram | rocketmq_create_topic_time | millisecond | 主题创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,request_is_success,is_system | +| histogram | rocketmq_create_subscription_time | millisecond | 订阅组创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,request_is_success | +| Gauge | rocketmq_active_topic_number | count | 当前的主题数量 | cluster,node_type,node_id | +| Gauge | rocketmq_active_subscription_number | count | 当前的订阅组数量 | cluster,node_type,node_id | + ### 生产者 Metrics 指标 From 9c6223565a6324694b4803657ad5e6ea73e42029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=A2=93=E6=B7=87?= Date: Mon, 27 May 2024 15:50:54 +0800 Subject: [PATCH 7/7] Add two metric rocketmq_create_topic_time and rocketmq_create_subscription_time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 黄梓淇 --- .../version-5.0/12-observability/01metrics.md | 45 ++++++++++--------- .../version-5.0/12-observability/01metrics.md | 42 +++++++++-------- 2 files changed, 47 insertions(+), 40 deletions(-) diff --git a/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md b/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md index 8df944d28f..d12289b1a0 100644 --- a/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md +++ b/i18n/en/docusaurus-plugin-content-docs/version-5.0/12-observability/01metrics.md @@ -24,26 +24,29 @@ The following table describes the labels of the metrics that are related to the - topic: the topic of RocketMQ. - message_type: the type of a message, which includes the following:
normal:normal messages;
fifo:ordered messages;
transaction:Transactional messages;
delay:scheduled or delayed messages. - consumer_group: the ID of the consumer group. - -| Type | Name | Unit | Description | Label | -| --------- | -------------------------------------- | ----------- |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| ----------------------------------------------------------------- | -| counter | rocketmq_messages_in_total | count | The number of messages that are produced. | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_messages_out_total | count | The number of messages that are consumed. | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_throughput_in_total | byte | The write throughput that are produced. | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_throughput_out_total | byte | The read throughput that are produced. | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_message_size | byte | The distribution of message sizes. This metric is counted only when messages are sent. The following shows the distribution ranges:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | -| gauge | rocketmq_consumer_ready_messages | count | The number of ready messages. | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_inflight_messages | count | The number of inflight messages. | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_queueing_latency | millisecond | Ready messages queueing delay time. | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_lag_latency | millisecond | The delayed time before messages are consumed. | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_send_to_dlq_messages_total | count | The number of messages that are sent to the dead-letter queue. | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_rpc_latency | millisecond | The rpc call latency | cluster,node_typ,node_id,protocol_type,request_code,response_code | -| gauge | rocketmq_storage_message_reserve_time | millisecond | Message retention time. | cluster,node_type,node_id | -| gauge | rocketmq_storage_dispatch_behind_bytes | byte | Undispatched message size. | cluster,node_type,node_id | -| gauge | rocketmq_storage_flush_behind_bytes | byte | Unflushed messsage size. | cluster,node_type,node_id | -| gauge | rocketmq_thread_pool_wartermark | count | The number of tasks queued in the thread pool. | cluster,node_type,node_id,name | -| histogram | rocketmq_create_topic_time | millisecond | The topic creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success,is_system | -| histogram | rocketmq_create_subscription_time | millisecond | The subscription group creation time:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success | +- invocation_status: the result of the API call for create topic or consumer group, which includes success and failure. + +| Type | Name | Unit | Description | Label | +|-----------|-----------------------------------------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------| +| counter | rocketmq_messages_in_total | count | The number of messages that are produced. | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_messages_out_total | count | The number of messages that are consumed. | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_throughput_in_total | byte | The write throughput that are produced. | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_throughput_out_total | byte | The read throughput that are produced. | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_message_size | byte | The distribution of message sizes. This metric is counted only when messages are sent. The following shows the distribution ranges:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | +| gauge | rocketmq_consumer_ready_messages | count | The number of ready messages. | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_inflight_messages | count | The number of inflight messages. | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_queueing_latency | millisecond | Ready messages queueing delay time. | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_lag_latency | millisecond | The delayed time before messages are consumed. | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_send_to_dlq_messages_total | count | The number of messages that are sent to the dead-letter queue. | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_rpc_latency | millisecond | The rpc call latency | cluster,node_typ,node_id,protocol_type,request_code,response_code | +| gauge | rocketmq_storage_message_reserve_time | millisecond | Message retention time. | cluster,node_type,node_id | +| gauge | rocketmq_storage_dispatch_behind_bytes | byte | Undispatched message size. | cluster,node_type,node_id | +| gauge | rocketmq_storage_flush_behind_bytes | byte | Unflushed messsage size. | cluster,node_type,node_id | +| gauge | rocketmq_thread_pool_wartermark | count | The number of tasks queued in the thread pool. | cluster,node_type,node_id,name | +| histogram | rocketmq_topic_create_execution_time | millisecond | The execution time for creating topic:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,invocation_status,is_system | +| histogram | rocketmq_consumer_group_create_execution_time | millisecond | The execution time for creating consumer group:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,invocation_status | +| gauge | rocketmq_topic_number | count | The number of topics | cluster,node_type,node_id | +| gauge | rocketmq_consumer_group_number | count | The number of consumer group | cluster,node_type,node_id | ### Producer metrics @@ -68,7 +71,7 @@ The following table describes the labels of the metrics that are related to the - topic: the topic of Message Queue for Apache RocketMQ. - consumer_group: the ID of the consumer group. - client_id: the ID of the client. -- invocation_status: the result of the API call for sending messages, which includes success and failure. +- invocation_status: the result of the API call for consuming messages, which includes success and failure. | Type | Name | Unit | Description | Label | | --------- | --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------ | diff --git a/versioned_docs/version-5.0/12-observability/01metrics.md b/versioned_docs/version-5.0/12-observability/01metrics.md index e73e4dfbfb..a16a983bc7 100644 --- a/versioned_docs/version-5.0/12-observability/01metrics.md +++ b/versioned_docs/version-5.0/12-observability/01metrics.md @@ -24,26 +24,30 @@ RocketMQ 以 Prometheus 格式公开以下指标。您可以使用这些指标 - topic: 消息队列 RocketMQ 的主题。 - message_type: 消息类型。有以下类型:
Normal:普通消息;
FIFO:顺序消息;
Transaction:事务消息;
Delay:定时/延时消息. - consumer_group: 消费者 ID。 +- invocation_status: 创建主题或消费者组接口调用结果,枚举值包含 success 和 failure。 + +| Metrics 类型 | Metrics name | 单位 | 指标说明 | Label | +|------------|-----------------------------------------------| ----------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------| +| counter | rocketmq_messages_in_total | count | 消息生产数量。 | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_messages_out_total | count | 消息消费数量。 | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_throughput_in_total | byte | 消息生产流入服务端的吞吐量。 | cluster,node_type,node_id,topic,message_type | +| counter | rocketmq_throughput_out_total | byte | 消息消费从服务端流出的吞吐量。 | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_message_size | byte | 消息大小的分布情况,发送成功时统计。分布区间如下:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | +| gauge | rocketmq_consumer_ready_messages | count | 已就绪消息量。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_inflight_messages | count | 处理中消息量。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_queueing_latency | millisecond | 已就绪消息排队延迟时间。 | cluster,node_type,node_id,topic, consumer_group | +| gauge | rocketmq_consumer_lag_latency | millisecond | 消费处理延迟时间。 | cluster,node_type,node_id,topic, consumer_group | +| counter | rocketmq_send_to_dlq_messages_total | count | 转为死信状态的消息量。(变成死信状态指的是消息达到最大重投次数后不再投递) | cluster,node_type,node_id,topic, consumer_group | +| histogram | rocketmq_rpc_latency | millisecond | rpc 调用耗时:
le_1_ms
le_3_ms
le_5_ms
le_10_ms
le_100_ms
le_1_s
le_3_s
le_overflow | cluster,node_typ,node_id,protocol_type,request_code,response_code | +| gauge | rocketmq_storage_message_reserve_time | millisecond | 储存层消息保存时间(broker 硬盘上最早一条消息储存时间和当前时间作差) | cluster,node_type,node_id | +| gauge | rocketmq_storage_dispatch_behind_bytes | byte | dispatch 落后大小 | cluster,node_type,node_id | +| gauge | rocketmq_storage_flush_behind_bytes | byte | 刷盘落后大小。 | cluster,node_type,node_id | +| gauge | rocketmq_thread_pool_wartermark | count | 线程池排队数 | cluster,node_type,node_id,name | +| histogram | rocketmq_topic_create_execution_time | millisecond | 创建主题执行耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,invocation_status,is_system | +| histogram | rocketmq_consumer_group_create_execution_time | millisecond | 创建消费者组执行耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | cluster,node_type,node_id,invocation_status | +| gauge | rocketmq_topic_number | count | 主题数量 | cluster,node_type,node_id | +| gauge | rocketmq_consumer_group_number | count | 消费者组数量 | cluster,node_type,node_id | -| Metrics 类型 | Metrics name | 单位 | 指标说明 | Label | -| ------------ |----------------------------------------| ----------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------| -| counter | rocketmq_messages_in_total | count | 消息生产数量。 | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_messages_out_total | count | 消息消费数量。 | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_throughput_in_total | byte | 消息生产流入服务端的吞吐量。 | cluster,node_type,node_id,topic,message_type | -| counter | rocketmq_throughput_out_total | byte | 消息消费从服务端流出的吞吐量。 | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_message_size | byte | 消息大小的分布情况,发送成功时统计。分布区间如下:
le_1_kb: ≤ 1 KB
le_4_kb: ≤ 4 KB
le_512_kb: ≤ 512 KB
le_1_mb: ≤ 1 MB
le_2_mb: ≤ 2 MB
le_4_mb: ≤ 4 MB
le_overflow: > 4 MB | cluster,node_type,node_id,topic,message_type | -| gauge | rocketmq_consumer_ready_messages | count | 已就绪消息量。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_inflight_messages | count | 处理中消息量。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_queueing_latency | millisecond | 已就绪消息排队延迟时间。 | cluster,node_type,node_id,topic, consumer_group | -| gauge | rocketmq_consumer_lag_latency | millisecond | 消费处理延迟时间。 | cluster,node_type,node_id,topic, consumer_group | -| counter | rocketmq_send_to_dlq_messages_total | count | 转为死信状态的消息量。(变成死信状态指的是消息达到最大重投次数后不再投递) | cluster,node_type,node_id,topic, consumer_group | -| histogram | rocketmq_rpc_latency | millisecond | rpc 调用耗时:
le_1_ms
le_3_ms
le_5_ms
le_10_ms
le_100_ms
le_1_s
le_3_s
le_overflow | cluster,node_typ,node_id,protocol_type,request_code,response_code | -| gauge | rocketmq_storage_message_reserve_time | millisecond | 储存层消息保存时间(broker 硬盘上最早一条消息储存时间和当前时间作差) | cluster,node_type,node_id | -| gauge | rocketmq_storage_dispatch_behind_bytes | byte | dispatch 落后大小 | cluster,node_type,node_id | -| gauge | rocketmq_storage_flush_behind_bytes | byte | 刷盘落后大小。 | cluster,node_type,node_id | -| gauge | rocketmq_thread_pool_wartermark | count | 线程池排队数 | cluster,node_type,node_id,name | -| histogram | rocketmq_create_topic_time | millisecond | 主题创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success,is_system | -| histogram | rocketmq_create_subscription_time | millisecond | 订阅组创建耗时:
le_10_ms
le_100_ms
le_1_s
le_3_s
le_5_s
le_overflow | node_id,request_is_success | ### 生产者 Metrics 指标