<#assign maxValueClass = "text-primary">
<#assign minValueClass = "text-info">
Broker/Metric |
When |
Disk |
Rate |
Consume |
Replication |
Replicas |
Leaders |
<#assign statusBefore = proposedMigrations.clusterBalanceBefore>
<#assign statusAfter = proposedMigrations.clusterBalanceAfter>
<#list statusBefore.brokerLoads as brokerId, loadBefore>
<#assign loadAfter = statusAfter.brokerLoads?api.get(brokerId)>
${brokerId?c} |
Before |
<#assign maxClass = statusBefore.maxLoadBrokers.size?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusBefore.minLoadBrokers.size?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyDataSize(loadBefore.size)} |
<#assign maxClass = statusBefore.maxLoadBrokers.rate?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusBefore.minLoadBrokers.rate?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyNumber(loadBefore.rate)} msg/sec |
<#assign maxClass = statusBefore.maxLoadBrokers.consumeRate?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusBefore.minLoadBrokers.consumeRate?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyNumber(loadBefore.consumeRate)} msg/sec |
<#assign maxClass = statusBefore.maxLoadBrokers.replicationRate?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusBefore.minLoadBrokers.replicationRate?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyNumber(loadBefore.replicationRate)} msg/sec |
<#assign maxClass = statusBefore.maxLoadBrokers.replicas?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusBefore.minLoadBrokers.replicas?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${loadBefore.replicas} |
<#assign maxClass = statusBefore.maxLoadBrokers.leaders?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusBefore.minLoadBrokers.leaders?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${loadBefore.leaders} |
After |
<#assign maxClass = statusAfter.maxLoadBrokers.size?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusAfter.minLoadBrokers.size?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyDataSize(loadAfter.size)} |
<#assign maxClass = statusAfter.maxLoadBrokers.rate?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusAfter.minLoadBrokers.rate?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyNumber(loadAfter.rate)} msg/sec |
<#assign maxClass = statusAfter.maxLoadBrokers.consumeRate?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusAfter.minLoadBrokers.consumeRate?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyNumber(loadAfter.consumeRate)} msg/sec |
<#assign maxClass = statusAfter.maxLoadBrokers.replicationRate?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusAfter.minLoadBrokers.replicationRate?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${util.prettyNumber(loadAfter.replicationRate)} msg/sec |
<#assign maxClass = statusAfter.maxLoadBrokers.replicas?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusAfter.minLoadBrokers.replicas?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${loadAfter.replicas} |
<#assign maxClass = statusAfter.maxLoadBrokers.leaders?seq_contains(brokerId)?then(maxValueClass, "")>
<#assign minClass = statusAfter.minLoadBrokers.leaders?seq_contains(brokerId)?then(minValueClass, "")>
<#assign classes = (maxClass?has_content && minClass?has_content)?then("", minClass + " "+ maxClass)>
${loadAfter.leaders} |
Diff |
<#if loadAfter.size gt loadBefore.size>+#if>${util.prettyDataSize(loadAfter.size - loadBefore.size)}
|
<#if loadAfter.rate gt loadBefore.rate>+#if>${util.prettyNumber(loadAfter.rate - loadBefore.rate)} msg/sec
|
<#if loadAfter.consumeRate gt loadBefore.consumeRate>+#if>${util.prettyNumber(loadAfter.consumeRate - loadBefore.consumeRate)} msg/sec
|
<#if loadAfter.replicationRate gt loadBefore.replicationRate>+#if>${util.prettyNumber(loadAfter.replicationRate - loadBefore.replicationRate)} msg/sec
|
<#if loadAfter.replicas gt loadBefore.replicas>+#if>${loadAfter.replicas - loadBefore.replicas}
|
<#if loadAfter.leaders gt loadBefore.leaders>+#if>${loadAfter.leaders - loadBefore.leaders}
|
#list>
|
Average |
|
${util.prettyDataSize(statusBefore.brokersAverageLoad.size)} |
${util.prettyNumber(statusBefore.brokersAverageLoad.rate)} msg/sec |
${util.prettyNumber(statusBefore.brokersAverageLoad.consumeRate)} msg/sec |
${util.prettyNumber(statusBefore.brokersAverageLoad.replicationRate)} msg/sec |
${statusBefore.brokersAverageLoad.replicas} |
${statusBefore.brokersAverageLoad.leaders} |
Disbalance |max - min| |
Before |
${util.prettyDataSize(statusBefore.brokersLoadDiff.size)} |
${util.prettyNumber(statusBefore.brokersLoadDiff.rate)} msg/sec |
${util.prettyNumber(statusBefore.brokersLoadDiff.consumeRate)} msg/sec |
${util.prettyNumber(statusBefore.brokersLoadDiff.replicationRate)} msg/sec |
${statusBefore.brokersLoadDiff.replicas} |
${statusBefore.brokersLoadDiff.leaders} |
After |
${util.prettyDataSize(statusAfter.brokersLoadDiff.size)} |
${util.prettyNumber(statusAfter.brokersLoadDiff.rate)} msg/sec |
${util.prettyNumber(statusAfter.brokersLoadDiff.consumeRate)} msg/sec |
${util.prettyNumber(statusAfter.brokersLoadDiff.replicationRate)} msg/sec |
${statusAfter.brokersLoadDiff.replicas} |
${statusAfter.brokersLoadDiff.leaders} |
Diff |
<#assign change = statusAfter.brokersLoadDiff.size - statusBefore.brokersLoadDiff.size>
<#if change lte 0>
-${util.prettyDataSize(-change)}
<#else>
+${util.prettyDataSize(change)}
#if>
|
<#assign change = statusAfter.brokersLoadDiff.rate - statusBefore.brokersLoadDiff.rate>
<#if change lte 0>
-${util.prettyNumber(-change)} msg/sec
<#else>
+${util.prettyNumber(change)} mgs/sec
#if>
|
<#assign change = statusAfter.brokersLoadDiff.consumeRate - statusBefore.brokersLoadDiff.consumeRate>
<#if change lte 0>
-${util.prettyNumber(-change)} msg/sec
<#else>
+${util.prettyNumber(change)} mgs/sec
#if>
|
<#assign change = statusAfter.brokersLoadDiff.replicationRate - statusBefore.brokersLoadDiff.replicationRate>
<#if change lte 0>
-${util.prettyNumber(-change)} msg/sec
<#else>
+${util.prettyNumber(change)} mgs/sec
#if>
|
<#assign change = statusAfter.brokersLoadDiff.replicas - statusBefore.brokersLoadDiff.replicas>
<#if change lte 0>
${change}
<#else>
+${change}
#if>
|
<#assign change = statusAfter.brokersLoadDiff.leaders - statusBefore.brokersLoadDiff.leaders>
<#if change lte 0>
${change}
<#else>
+${change}
#if>
|
Disbalance portion (100 * diff / avg) |
Before |
${util.prettyNumber(statusBefore.loadDiffPortion.size)}% |
${util.prettyNumber(statusBefore.loadDiffPortion.rate)}% |
${util.prettyNumber(statusBefore.loadDiffPortion.consumeRate)}% |
${util.prettyNumber(statusBefore.loadDiffPortion.replicationRate)}% |
${util.prettyNumber(statusBefore.loadDiffPortion.replicas)}% |
${util.prettyNumber(statusBefore.loadDiffPortion.leaders)}% |
After |
${util.prettyNumber(statusAfter.loadDiffPortion.size)}% |
${util.prettyNumber(statusAfter.loadDiffPortion.rate)}% |
${util.prettyNumber(statusAfter.loadDiffPortion.consumeRate)}% |
${util.prettyNumber(statusAfter.loadDiffPortion.replicationRate)}% |
${util.prettyNumber(statusAfter.loadDiffPortion.replicas)}% |
${util.prettyNumber(statusAfter.loadDiffPortion.leaders)}% |
Diff |
<#assign change = statusAfter.loadDiffPortion.size - statusBefore.loadDiffPortion.size>
<#if change lte 0>
-${util.prettyNumber(-change)}%
<#else>
+${util.prettyNumber(change)}%
#if>
|
<#assign change = statusAfter.loadDiffPortion.rate - statusBefore.loadDiffPortion.rate>
<#if change lte 0>
-${util.prettyNumber(-change)}%
<#else>
+${util.prettyNumber(change)}%
#if>
|
<#assign change = statusAfter.loadDiffPortion.consumeRate - statusBefore.loadDiffPortion.consumeRate>
<#if change lte 0>
-${util.prettyNumber(-change)}%
<#else>
+${util.prettyNumber(change)}%
#if>
|
<#assign change = statusAfter.loadDiffPortion.replicationRate - statusBefore.loadDiffPortion.replicationRate>
<#if change lte 0>
-${util.prettyNumber(-change)}%
<#else>
+${util.prettyNumber(change)}%
#if>
|
<#assign change = statusAfter.loadDiffPortion.replicas - statusBefore.loadDiffPortion.replicas>
<#if change lte 0>
-${util.prettyNumber(-change)}%
<#else>
+${util.prettyNumber(change)}%
#if>
|
<#assign change = statusAfter.loadDiffPortion.leaders - statusBefore.loadDiffPortion.leaders>
<#if change lte 0>
-${util.prettyNumber(-change)}%
<#else>
+${util.prettyNumber(change)}%
#if>
|