77import com .didiglobal .logi .security .common .dto .config .ConfigDTO ;
88import com .didiglobal .logi .security .service .ConfigService ;
99import com .xiaojukeji .know .streaming .km .biz .version .VersionControlManager ;
10+ import com .xiaojukeji .know .streaming .km .common .bean .dto .metrices .MetricDetailDTO ;
1011import com .xiaojukeji .know .streaming .km .common .bean .dto .metrices .UserMetricConfigDTO ;
1112import com .xiaojukeji .know .streaming .km .common .bean .entity .config .metric .UserMetricConfig ;
1213import com .xiaojukeji .know .streaming .km .common .bean .entity .result .Result ;
1314import com .xiaojukeji .know .streaming .km .common .bean .entity .version .VersionControlItem ;
1415import com .xiaojukeji .know .streaming .km .common .bean .vo .config .metric .UserMetricConfigVO ;
1516import com .xiaojukeji .know .streaming .km .common .bean .vo .version .VersionItemVO ;
17+ import com .xiaojukeji .know .streaming .km .common .constant .Constant ;
1618import com .xiaojukeji .know .streaming .km .common .enums .version .VersionEnum ;
1719import com .xiaojukeji .know .streaming .km .common .utils .ConvertUtil ;
1820import com .xiaojukeji .know .streaming .km .common .utils .VersionUtil ;
@@ -47,48 +49,48 @@ public class VersionControlManagerImpl implements VersionControlManager {
4749 @ PostConstruct
4850 public void init (){
4951 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_HEALTH_SCORE , true ));
50- defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_TOTAL_PRODUCE_REQUESTS , true ));
5152 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_FAILED_FETCH_REQ , true ));
5253 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_FAILED_PRODUCE_REQ , true ));
53- defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_MESSAGE_IN , true ));
5454 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_UNDER_REPLICA_PARTITIONS , true ));
55+ defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_TOTAL_PRODUCE_REQUESTS , true ));
5556 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_BYTES_IN , true ));
5657 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_BYTES_OUT , true ));
5758 defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_BYTES_REJECTED , true ));
59+ defaultMetrics .add (new UserMetricConfig (METRIC_TOPIC .getCode (), TOPIC_METRIC_MESSAGE_IN , true ));
5860
5961 defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_HEALTH_SCORE , true ));
60- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_REQ_QUEUE_SIZE , true ));
61- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_RES_QUEUE_SIZE , true ));
6262 defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_ACTIVE_CONTROLLER_COUNT , true ));
63- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_PRODUCE_REQ , true ));
64- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_LOG_SIZE , true ));
65- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_CONNECTIONS , true ));
66- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_MESSAGES_IN , true ));
6763 defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_BYTES_IN , true ));
6864 defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_BYTES_OUT , true ));
69- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_GROUP_REBALANCES , true ));
70- defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_JOB_RUNNING , true ));
65+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_CONNECTIONS , true ));
66+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_MESSAGES_IN , true ));
7167 defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_PARTITIONS_NO_LEADER , true ));
7268 defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_PARTITION_URP , true ));
69+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_LOG_SIZE , true ));
70+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_PRODUCE_REQ , true ));
71+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_REQ_QUEUE_SIZE , true ));
72+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_TOTAL_RES_QUEUE_SIZE , true ));
73+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_GROUP_REBALANCES , true ));
74+ defaultMetrics .add (new UserMetricConfig (METRIC_CLUSTER .getCode (), CLUSTER_METRIC_JOB_RUNNING , true ));
7375
7476 defaultMetrics .add (new UserMetricConfig (METRIC_GROUP .getCode (), GROUP_METRIC_OFFSET_CONSUMED , true ));
7577 defaultMetrics .add (new UserMetricConfig (METRIC_GROUP .getCode (), GROUP_METRIC_LAG , true ));
7678 defaultMetrics .add (new UserMetricConfig (METRIC_GROUP .getCode (), GROUP_METRIC_STATE , true ));
7779 defaultMetrics .add (new UserMetricConfig (METRIC_GROUP .getCode (), GROUP_METRIC_HEALTH_SCORE , true ));
7880
7981 defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_HEALTH_SCORE , true ));
80- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_TOTAL_REQ_QUEUE , true ));
81- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_TOTAL_RES_QUEUE , true ));
82+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_CONNECTION_COUNT , true ));
8283 defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_MESSAGE_IN , true ));
83- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_TOTAL_PRODUCE_REQ , true ));
8484 defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_NETWORK_RPO_AVG_IDLE , true ));
8585 defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_REQ_AVG_IDLE , true ));
86- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_CONNECTION_COUNT , true ));
87- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_BYTES_IN , true ));
88- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_BYTES_OUT , true ));
89- defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_PARTITIONS_SKEW , true ));
86+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_TOTAL_PRODUCE_REQ , true ));
87+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_TOTAL_REQ_QUEUE , true ));
88+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_TOTAL_RES_QUEUE , true ));
9089 defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_LEADERS_SKEW , true ));
9190 defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_UNDER_REPLICATE_PARTITION , true ));
91+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_PARTITIONS_SKEW , true ));
92+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_BYTES_IN , true ));
93+ defaultMetrics .add (new UserMetricConfig (METRIC_BROKER .getCode (), BROKER_METRIC_BYTES_OUT , true ));
9294 }
9395
9496 @ Autowired
@@ -159,6 +161,9 @@ public Result<List<UserMetricConfigVO>> listUserMetricItem(Long clusterId, Integ
159161
160162 UserMetricConfig umc = userMetricConfigMap .get (itemType + "@" + metric );
161163 userMetricConfigVO .setSet (null != umc && umc .isSet ());
164+ if (umc != null ) {
165+ userMetricConfigVO .setRank (umc .getRank ());
166+ }
162167 userMetricConfigVO .setName (itemVO .getName ());
163168 userMetricConfigVO .setType (itemVO .getType ());
164169 userMetricConfigVO .setDesc (itemVO .getDesc ());
@@ -178,13 +183,29 @@ public Result<List<UserMetricConfigVO>> listUserMetricItem(Long clusterId, Integ
178183 @ Override
179184 public Result <Void > updateUserMetricItem (Long clusterId , Integer type , UserMetricConfigDTO dto , String operator ) {
180185 Map <String , Boolean > metricsSetMap = dto .getMetricsSet ();
181- if (null == metricsSetMap || metricsSetMap .isEmpty ()){
186+
187+ //转换metricDetailDTOList
188+ List <MetricDetailDTO > metricDetailDTOList = dto .getMetricDetailDTOList ();
189+ Map <String , MetricDetailDTO > metricDetailMap = new HashMap <>();
190+ if (metricDetailDTOList != null && !metricDetailDTOList .isEmpty ()) {
191+ metricDetailMap = metricDetailDTOList .stream ().collect (Collectors .toMap (MetricDetailDTO ::getMetric , Function .identity ()));
192+ }
193+
194+ //转换metricsSetMap
195+ if (metricsSetMap != null && !metricsSetMap .isEmpty ()) {
196+ for (Map .Entry <String , Boolean > metricAndShowEntry : metricsSetMap .entrySet ()) {
197+ if (metricDetailMap .containsKey (metricAndShowEntry .getKey ())) continue ;
198+ metricDetailMap .put (metricAndShowEntry .getKey (), new MetricDetailDTO (metricAndShowEntry .getKey (), metricAndShowEntry .getValue (), null ));
199+ }
200+ }
201+
202+ if (metricDetailMap .isEmpty ()) {
182203 return Result .buildSuc ();
183204 }
184205
185206 Set <UserMetricConfig > userMetricConfigs = getUserMetricConfig (operator );
186- for ( Map . Entry < String , Boolean > metricAndShowEntry : metricsSetMap . entrySet ()){
187- UserMetricConfig userMetricConfig = new UserMetricConfig (type , metricAndShowEntry . getKey (), metricAndShowEntry . getValue ());
207+ for ( MetricDetailDTO metricDetailDTO : metricDetailMap . values ()) {
208+ UserMetricConfig userMetricConfig = new UserMetricConfig (type , metricDetailDTO . getMetric (), metricDetailDTO . getSet (), metricDetailDTO . getRank ());
188209 userMetricConfigs .remove (userMetricConfig );
189210 userMetricConfigs .add (userMetricConfig );
190211 }
@@ -228,7 +249,7 @@ private Set<UserMetricConfig> getUserMetricConfig(String operator){
228249 return defaultMetrics ;
229250 }
230251
231- return JSON .parseObject (value , new TypeReference <Set <UserMetricConfig >>(){});
252+ return JSON .parseObject (value , new TypeReference <Set <UserMetricConfig >>() {});
232253 }
233254
234255 public static void main (String [] args ){
0 commit comments