sk0x50 commented on code in PR #7350:
URL: https://github.com/apache/ignite-3/pull/7350#discussion_r2697909781
##########
modules/metrics/src/main/java/org/apache/ignite/internal/metrics/exporters/log/LogPushExporter.java:
##########
@@ -71,52 +69,57 @@ public void report() {
return;
}
- var report = new StringBuilder("Metric report:");
-
+ var report = new StringBuilder("Metrics for local node:");
+ if (!oneLinePerMetricSource) {
+ report.append(' ');
+ }
+ boolean needSeparator = oneLinePerMetricSource;
for (MetricSet metricSet : metricSets) {
boolean hasMetricsWhiteList = hasMetricsWhiteList(metricSet);
if (hasMetricsWhiteList || metricEnabled(metricSet.name())) {
-
report.append('\n').append(metricSet.name()).append(oneLinePerMetricSource ? '
' : ':');
-
- appendMetrics(report, metricSet, hasMetricsWhiteList);
+ addSeparatorIfNeeded(report, needSeparator);
+ needSeparator = appendMetricsOneLine(report, metricSet,
hasMetricsWhiteList, needSeparator);
}
}
-
log.info(report.toString());
}
- private void appendMetrics(StringBuilder sb, MetricSet metricSet, boolean
hasMetricsWhiteList) {
+ private void addSeparatorIfNeeded(StringBuilder report, boolean
needSeparator) {
+ if (needSeparator) {
+ if (oneLinePerMetricSource) {
+ report.append(System.lineSeparator()).append(PADDING);
+ } else {
+ report.append(", ");
+ }
+ }
+ }
+
+ /**
+ * Appends metrics in one-line format.
+ *
+ * @param sb String builder.
+ * @param metricSet Metric set.
+ * @param hasMetricsWhiteList Whether metrics whitelist is present.
+ * @return True if separator is needed for next item.
+ */
+ private boolean appendMetricsOneLine(StringBuilder sb, MetricSet
metricSet, boolean hasMetricsWhiteList, boolean needSeparator) {
Review Comment:
It looks like `needSeparator` is never used in the method.
##########
modules/metrics/src/main/java/org/apache/ignite/internal/metrics/exporters/log/LogPushExporter.java:
##########
@@ -71,52 +69,57 @@ public void report() {
return;
}
- var report = new StringBuilder("Metric report:");
-
+ var report = new StringBuilder("Metrics for local node:");
+ if (!oneLinePerMetricSource) {
+ report.append(' ');
+ }
+ boolean needSeparator = oneLinePerMetricSource;
for (MetricSet metricSet : metricSets) {
boolean hasMetricsWhiteList = hasMetricsWhiteList(metricSet);
if (hasMetricsWhiteList || metricEnabled(metricSet.name())) {
-
report.append('\n').append(metricSet.name()).append(oneLinePerMetricSource ? '
' : ':');
-
- appendMetrics(report, metricSet, hasMetricsWhiteList);
+ addSeparatorIfNeeded(report, needSeparator);
+ needSeparator = appendMetricsOneLine(report, metricSet,
hasMetricsWhiteList, needSeparator);
}
}
-
log.info(report.toString());
}
- private void appendMetrics(StringBuilder sb, MetricSet metricSet, boolean
hasMetricsWhiteList) {
+ private void addSeparatorIfNeeded(StringBuilder report, boolean
needSeparator) {
+ if (needSeparator) {
+ if (oneLinePerMetricSource) {
+ report.append(System.lineSeparator()).append(PADDING);
+ } else {
+ report.append(", ");
+ }
+ }
+ }
+
+ /**
+ * Appends metrics in one-line format.
+ *
+ * @param sb String builder.
+ * @param metricSet Metric set.
+ * @param hasMetricsWhiteList Whether metrics whitelist is present.
+ * @return True if separator is needed for next item.
+ */
+ private boolean appendMetricsOneLine(StringBuilder sb, MetricSet
metricSet, boolean hasMetricsWhiteList, boolean needSeparator) {
List<Metric> metrics = StreamSupport.stream(metricSet.spliterator(),
false)
.sorted(comparing(Metric::name))
.filter(m -> !hasMetricsWhiteList ||
metricEnabled(fqn(metricSet, m)))
.collect(toList());
- sb.append(metricSetPrefix());
-
- forEachIndexed(metrics, (m, i) ->
appendMetricWithValue(oneLinePerMetricSource, sb, m, i));
-
- sb.append(metricSetPostfix());
- }
-
- private static String commaInEnum(int i) {
- return i == 0 ? "" : ", ";
- }
-
- private String metricSetPrefix() {
- return oneLinePerMetricSource ? "[" : "";
- }
-
- private String metricSetPostfix() {
- return oneLinePerMetricSource ? "]" : "";
- }
-
- private static void appendMetricWithValue(boolean oneLinePerMetricSource,
StringBuilder sb, Metric m, int index) {
- if (oneLinePerMetricSource) {
-
sb.append(commaInEnum(index)).append(m.name()).append('=').append(m.getValueAsString());
- } else {
- sb.append('\n').append(PADDING).append(m.name()).append(":
").append(m.getValueAsString());
+ sb.append(metricSet.name()).append(' ').append('[');
+ for (int i = 0; i < metrics.size(); i++) {
+ if (i > 0) {
+ sb.append(", ");
+ }
+ Metric m = metrics.get(i);
+ sb.append(m.name()).append('=').append(m.getValueAsString());
}
+ sb.append(']');
+ needSeparator = true;
+ return needSeparator;
Review Comment:
always return `true`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]