amend some metric name and make the metric have fixed Precision“
diff --git a/README.md b/README.md
index d1eda8f..9e04be5 100644
--- a/README.md
+++ b/README.md
@@ -85,16 +85,16 @@
 

 | Name         | Exposed information                                  |

 | ------------ | ---------------------------------------------------- |

-| `rocketmq_broker_tps` | total put message numbers per second for this broker |

-| `rocketmq_broker_qps` | total get message numbers per second for this broker |

+| `rocketmq_broker_tps` | Broker produces the number of messages per second |

+| `rocketmq_broker_qps` | Broker consumes messages per second |

 

 **Metrics output example**

 

 ```txt

 # HELP rocketmq_broker_tps BrokerPutNums

 # TYPE rocketmq_broker_tps gauge

-rocketmq_broker_tps{cluster="MQCluster",broker="broker-a",} 7.933333333333334

-rocketmq_broker_tps{cluster="MQCluster",broker="broker-b",} 7.916666666666667

+rocketmq_broker_tps{cluster="MQCluster",broker="broker-a",} 7.93

+rocketmq_broker_tps{cluster="MQCluster",broker="broker-b",} 7.91

 # HELP rocketmq_broker_qps BrokerGetNums

 # TYPE rocketmq_broker_qps gauge

 rocketmq_broker_qps{cluster="MQCluster",broker="broker-a",} 8.2

@@ -107,21 +107,21 @@
 

 | Name                | Exposed information                                |

 | ------------------- | -------------------------------------------------- |

-| `rocketmq_producer_tps`      | sending messages number per second  for this topic |

-| `rocketmq_producer_put_size` | sending messages size per second  for this topic   |

-| `rocketmq_producer_offset`   | Current Offset of a Broker for this topic          |

+| `rocketmq_producer_tps`      | The number of messages produced per second per topic |

+| `rocketmq_producer_message_size` | The size of a message produced per second by a topic (in bytes) |

+| `rocketmq_producer_offset`   | The progress of a topic's production message |

 

 **Metrics output example**

 

 ```txt

 # HELP rocketmq_producer_tps TopicPutNums

 # TYPE rocketmq_producer_tps gauge

-rocketmq_producer_tps{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 7.933333333333334

-rocketmq_producer_tps{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 7.916666666666667

-# HELP rocketmq_producer_put_size TopicPutSize

-# TYPE rocketmq_producer_put_size gauge

-rocketmq_producer_put_size{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 1642.2

-rocketmq_producer_put_size{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 1638.75

+rocketmq_producer_tps{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 7.93

+rocketmq_producer_tps{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 7.91

+# HELP rocketmq_producer_message_size TopicPutMessageSize

+# TYPE rocketmq_producer_message_size gauge

+rocketmq_producer_message_size{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",} 1642.2

+rocketmq_producer_message_size{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",} 1638.75

 # HELP rocketmq_producer_offset TopicOffset

 # TYPE rocketmq_producer_offset counter

 rocketmq_producer_offset{cluster="MQCluster",broker="broker-a",topic="TBW102",} 0.0

@@ -153,25 +153,25 @@
 

 **Metrics details**

 

-| Name                              | Exposed information                                          |

-| --------------------------------- | ------------------------------------------------------------ |

-| `rocketmq_consumer_tps`                    | consumer message numbers per second for this Topic           |

-| `rocketmq_consumer_get_size`               | consumer message size per second for this Topic              |

-| `rocketmq_consumer_offset`                 | consumer offset for this topic                               |

-| `rocketmq_group_get_latency`               | consumer latency on some topic for one queue                 |

-| `rocketmq_group_get_latency_by_storetime ` | consumer latency between message consume time and message store time on some topic |

+| Name                                       | Exposed information                                          |

+| ------------------------------------------ | ------------------------------------------------------------ |

+| `rocketmq_consumer_tps`                    | The number of messages consumed per second by a consumer group |

+| `rocketmq_consumer_message_size`           | The size of the message consumed by the consumer group per second (in bytes) |

+| `rocketmq_consumer_offset`                 | Progress of consumption message for a consumer group         |

+| `rocketmq_group_get_latency`               | Consumer latency on some topic for one queue                 |

+| `rocketmq_group_get_latency_by_storetime ` | Consumption delay time of a consumer group                   |

 

 **Metrics output example**

 

 ```txt

 # HELP rocketmq_consumer_tps GroupGetNums

 # TYPE rocketmq_consumer_tps gauge

-rocketmq_consumer_tps{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 7.916666666666667

-rocketmq_consumer_tps{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 7.933333333333334

-# HELP rocketmq_consumer_get_size GroupGetSize

-# TYPE rocketmq_consumer_get_size gauge

-rocketmq_consumer_get_size{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1638.75

-rocketmq_consumer_get_size{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1642.2

+rocketmq_consumer_tps{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 7.91

+rocketmq_consumer_tps{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 7.93

+# HELP rocketmq_consumer_message_size GroupGetMessageSize

+# TYPE rocketmq_consumer_message_size gauge

+rocketmq_consumer_message_size{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1638.75

+rocketmq_consumer_message_size{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1642.2

 # HELP rocketmq_consumer_offset GroupOffset

 # TYPE rocketmq_consumer_offset counter

 rocketmq_consumer_offset{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",} 1462030.0

@@ -183,17 +183,17 @@
 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="0",} 0.05

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="1",} 0.0

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="7",} 0.05

-rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="6",} 0.016666666666666666

+rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="6",} 0.01

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="3",} 0.0

-rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="7",} 0.03333333333333333

+rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="7",} 0.03

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="4",} 0.0

-rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="5",} 0.03333333333333333

-rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="6",} 0.016666666666666666

+rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="5",} 0.03

+rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="6",} 0.01

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="2",} 0.0

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="3",} 0.0

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="0",} 0.0

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="4",} 0.0

-rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="1",} 0.03333333333333333

+rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="1",} 0.03

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-b",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="5",} 0.0

 rocketmq_group_get_latency{cluster="MQCluster",broker="broker-a",topic="DEV_TID_topic_tfq",group="DEV_CID_consumer_cfq",queueid="2",} 0.0

 # HELP rocketmq_group_get_latency_by_storetime GroupGetLatencyByStoreTime

diff --git a/rocketmq_exporter_overview.json b/rocketmq_exporter_overview.json
index 537b21d..0bd1691 100644
--- a/rocketmq_exporter_overview.json
+++ b/rocketmq_exporter_overview.json
@@ -259,7 +259,7 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "rocketmq_consumer_get_size",
+          "expr": "rocketmq_consumer_message_size",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A"
@@ -269,7 +269,7 @@
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "rocketmq_consumer_get_size",
+      "title": "rocketmq_consumer_message_size",
       "tooltip": {
         "shared": true,
         "sort": 0,
@@ -514,7 +514,7 @@
       "steppedLine": false,
       "targets": [
         {
-          "expr": "rocketmq_producer_put_size",
+          "expr": "rocketmq_producer_message_size",
           "format": "time_series",
           "intervalFactor": 1,
           "refId": "A"
@@ -524,7 +524,7 @@
       "timeFrom": null,
       "timeRegions": [],
       "timeShift": null,
-      "title": "rocketmq_producer_put_size",
+      "title": "rocketmq_producer_message_size",
       "tooltip": {
         "shared": true,
         "sort": 0,
diff --git a/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java b/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java
index dbaf4dd..2854712 100644
--- a/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java
+++ b/src/main/java/org/apache/rocketmq/exporter/collector/RMQMetricsCollector.java
@@ -62,7 +62,7 @@
         mfs.add(topicPutNumsGauge);
 
 
-        GaugeMetricFamily topicPutSizeGauge = new GaugeMetricFamily("rocketmq_producer_put_size", "TopicPutSize", Arrays.asList("cluster","broker","topic"));
+        GaugeMetricFamily topicPutSizeGauge = new GaugeMetricFamily("rocketmq_producer_message_size", "TopicPutMessageSize", Arrays.asList("cluster","broker","topic"));
         for (Map.Entry<ProducerMetric, Double> entry: topicPutSize.entrySet()) {
             topicPutSizeGauge.addMetric(Arrays.asList(entry.getKey().getClusterName(),entry.getKey().getBrokerName(),entry.getKey().getTopicName()), entry.getValue());
         }
@@ -98,7 +98,7 @@
         mfs.add(groupGetNumsGauge);
 
 
-        GaugeMetricFamily groupGetSizeGauge = new GaugeMetricFamily("rocketmq_consumer_get_size", "GroupGetSize", Arrays.asList("cluster","broker","topic","group"));
+        GaugeMetricFamily groupGetSizeGauge = new GaugeMetricFamily("rocketmq_consumer_message_size", "GroupGetMessageSize", Arrays.asList("cluster","broker","topic","group"));
         for (Map.Entry<ConsumerMetric, Double> entry: groupGetSize.entrySet()) {
             groupGetSizeGauge.addMetric(Arrays.asList(entry.getKey().getClusterName(),entry.getKey().getBrokerName(),entry.getKey().getTopicName(),entry.getKey().getConsumerGroupName()), entry.getValue());
         }
diff --git a/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java b/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java
index 6ae442d..7797d2a 100644
--- a/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java
+++ b/src/main/java/org/apache/rocketmq/exporter/task/MetricsCollectTask.java
@@ -35,6 +35,7 @@
 import org.apache.rocketmq.exporter.config.RMQConfigure;
 import org.apache.rocketmq.exporter.service.RMQMetricsService;
 import org.apache.rocketmq.exporter.service.client.MQAdminExtImpl;
+import org.apache.rocketmq.exporter.util.Mix;
 import org.apache.rocketmq.store.stats.BrokerStatsManager;
 import org.apache.rocketmq.tools.admin.MQAdminExt;
 import org.slf4j.Logger;
@@ -158,14 +159,14 @@
                             BrokerStatsData bsd = null;
                             try {
                                 bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.TOPIC_PUT_NUMS, topic);
-                                metricsService.getCollector().AddTopicPutNumsMetric(bd.getCluster(), bd.getBrokerName(), topic, bsd.getStatsMinute().getTps());
+                                metricsService.getCollector().AddTopicPutNumsMetric(bd.getCluster(), bd.getBrokerName(), topic, Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                             }
                             catch (Exception e) {
                                 log.info("error is " + e.getMessage());
                             }
                             try {
                                 bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.TOPIC_PUT_SIZE, topic);
-                                metricsService.getCollector().AddTopicPutSizeMetric(bd.getCluster(), bd.getBrokerName(), topic, bsd.getStatsMinute().getTps());
+                                metricsService.getCollector().AddTopicPutSizeMetric(bd.getCluster(), bd.getBrokerName(), topic, Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                             }
                             catch (Exception e) {
                                 log.info("error is " + e.getMessage());
@@ -185,20 +186,20 @@
                                     BrokerStatsData bsd = null;
                                     try {
                                         bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.GROUP_GET_NUMS, statsKey);
-                                        metricsService.getCollector().AddGroupGetNumsMetric(bd.getCluster(), bd.getBrokerName(), topic, group, bsd.getStatsMinute().getTps());
+                                        metricsService.getCollector().AddGroupGetNumsMetric(bd.getCluster(), bd.getBrokerName(), topic, group, Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                                     } catch (Exception e) {
                                         log.info("error is " + e.getMessage());
                                     }
                                     try {
                                         bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.GROUP_GET_SIZE, statsKey);
-                                        metricsService.getCollector().AddGroupGetSizeMetric(bd.getCluster(), bd.getBrokerName(), topic, group, bsd.getStatsMinute().getTps());
+                                        metricsService.getCollector().AddGroupGetSizeMetric(bd.getCluster(), bd.getBrokerName(), topic, group, Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                                     } catch (Exception e) {
                                         log.info("error is " + e.getMessage());
                                     }
                                     try {
 
                                         bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.SNDBCK_PUT_NUMS, statsKey);
-                                        metricsService.getCollector().AddsendBackNumsMetric(bd.getCluster(), bd.getBrokerName(), topic, group, bsd.getStatsMinute().getTps());
+                                        metricsService.getCollector().AddsendBackNumsMetric(bd.getCluster(), bd.getBrokerName(), topic, group, Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                                     } catch (Exception e) {
                                         log.info("error is " + e.getMessage());
                                     }
@@ -238,14 +239,14 @@
                         BrokerStatsData bsd = null;
                         try {
                             bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.BROKER_PUT_NUMS,clusterEntry.getValue().getCluster());
-                            metricsService.getCollector().AddBrokerPutNumsMetric(clusterEntry.getValue().getCluster(), clusterEntry.getValue().getBrokerName(), bsd.getStatsMinute().getTps());
+                            metricsService.getCollector().AddBrokerPutNumsMetric(clusterEntry.getValue().getCluster(), clusterEntry.getValue().getBrokerName(), Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                         }
                         catch (Exception e) {
                             log.info("error is " + e.getMessage());
                         }
                         try {
                             bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.BROKER_GET_NUMS, clusterEntry.getValue().getCluster());
-                            metricsService.getCollector().AddBrokerGetNumsMetric(clusterEntry.getValue().getCluster(), clusterEntry.getValue().getBrokerName(), bsd.getStatsMinute().getTps());
+                            metricsService.getCollector().AddBrokerGetNumsMetric(clusterEntry.getValue().getCluster(), clusterEntry.getValue().getBrokerName(), Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
                         }
                         catch (Exception e) {
                             log.info("error is " + e.getMessage());
@@ -273,7 +274,7 @@
             statsKey = String.format("%d@%s@%s", queueId, topic, group);
             try {
                 bsd = mqAdminExt.viewBrokerStatsData(masterAddr, BrokerStatsManager.GROUP_GET_LATENCY, statsKey);
-                metricsService.getCollector().AddGroupGetLatencyMetric(bd.getCluster(), bd.getBrokerName(), topic, group, String.format("%d", queueId), bsd.getStatsMinute().getTps());
+                metricsService.getCollector().AddGroupGetLatencyMetric(bd.getCluster(), bd.getBrokerName(), topic, group, String.format("%d", queueId), Mix.getFixedDouble(bsd.getStatsMinute().getTps()));
             } catch (Exception e) {
                 log.info("error is " + e.getMessage());
             }
diff --git a/src/main/java/org/apache/rocketmq/exporter/util/Mix.java b/src/main/java/org/apache/rocketmq/exporter/util/Mix.java
new file mode 100644
index 0000000..e51acff
--- /dev/null
+++ b/src/main/java/org/apache/rocketmq/exporter/util/Mix.java
@@ -0,0 +1,24 @@
+/*

+ * Licensed to the Apache Software Foundation (ASF) under one or more

+ * contributor license agreements.  See the NOTICE file distributed with

+ * this work for additional information regarding copyright ownership.

+ * The ASF licenses this file to You under the Apache License, Version 2.0

+ * (the "License"); you may not use this file except in compliance with

+ * the License.  You may obtain a copy of the License at

+ *

+ *     http://www.apache.org/licenses/LICENSE-2.0

+ *

+ *  Unless required by applicable law or agreed to in writing, software

+ *  distributed under the License is distributed on an "AS IS" BASIS,

+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

+ *  See the License for the specific language governing permissions and

+ *  limitations under the License.

+ */

+

+package org.apache.rocketmq.exporter.util;

+

+public class Mix {

+    public static double getFixedDouble(double value) {

+        return Math.round(value * 100) / 100.0;

+    }

+}