dsmiley commented on code in PR #3164:
URL: https://github.com/apache/solr/pull/3164#discussion_r1948435790


##########
solr/core/src/java/org/apache/solr/metrics/prometheus/SolrPrometheusFormatter.java:
##########
@@ -206,6 +251,22 @@ public void collectGaugeDatapoint(
     metricGauges.get(metricName).add(dataPoint);
   }
 
+  /**
+   * Collects {@link 
io.prometheus.metrics.model.snapshots.SummarySnapshot.SummaryDataPointSnapshot}
+   * and appends to existing metric or create new metric if name does not exist
+   *
+   * @param metricName Name of metric
+   * @param dataPoint Gauge datapoint to be collected
+   */
+  public void collectSummaryDatapoint(
+      String metricName, SummarySnapshot.SummaryDataPointSnapshot dataPoint) {
+    if (!metricSummaries.containsKey(metricName)) {
+      metricSummaries.put(metricName, new ArrayList<>());
+    }
+
+    metricSummaries.get(metricName).add(dataPoint);

Review Comment:
   ```suggestion
       metricSummaries.computeIfAbsent(metricName, k -> new 
ArrayList<>()).add(dataPoint);
   ```



##########
solr/core/src/java/org/apache/solr/metrics/prometheus/SolrPrometheusFormatter.java:
##########
@@ -176,6 +202,25 @@ public GaugeSnapshot.GaugeDataPointSnapshot 
createGaugeDatapoint(double value, L
     return 
GaugeSnapshot.GaugeDataPointSnapshot.builder().value(value).labels(labels).build();
   }
 
+  /**
+   * Create a {@link 
io.prometheus.metrics.model.snapshots.SummarySnapshot.SummaryDataPointSnapshot}
+   * with labels
+   *
+   * @param count number of observations
+   * @param sum sum of all values
+   * @param quantiles quantile information
+   * @param labels set of name/values labels
+   */
+  public SummarySnapshot.SummaryDataPointSnapshot 
createSummaryDataPointSnapshot(
+      long count, double sum, Quantiles quantiles, Labels labels) {
+    return SummarySnapshot.SummaryDataPointSnapshot.builder()
+        .count(count)
+        .sum(sum)
+        .labels(labels)
+        .quantiles(quantiles)
+        .build();
+  }

Review Comment:
   I don't see why this is its own method, as you now feel the need to have 
quite a number of lines here (including documentation).  Just inline it.



##########
solr/core/src/java/org/apache/solr/metrics/prometheus/core/SolrCoreHandlerMetric.java:
##########
@@ -28,7 +28,7 @@ public class SolrCoreHandlerMetric extends SolrCoreMetric {
   public static final String CORE_REQUESTS_TOTAL = 
"solr_metrics_core_requests";
   public static final String CORE_REQUESTS_UPDATE_HANDLER = 
"solr_metrics_core_update_handler";
   public static final String CORE_REQUESTS_TOTAL_TIME = 
"solr_metrics_core_requests_time";
-  public static final String CORE_REQUEST_TIMES = 
"solr_metrics_core_average_request_time";
+  public static final String CORE_REQUEST_TIMES = 
"solr_metrics_core_request_time";

Review Comment:
   I love that feedback in general but not sure if there is a consistency issue 
(like do this not just here but basically everywhere)



##########
solr/core/src/java/org/apache/solr/metrics/prometheus/SolrPrometheusFormatter.java:
##########
@@ -220,6 +281,11 @@ public MetricSnapshots collect() {
       snapshots.add(
           new GaugeSnapshot(new MetricMetadata(metricName), 
metricGauges.get(metricName)));
     }
+    for (String metricName : metricSummaries.keySet()) {

Review Comment:
   Always iterate the entrySet or call forEach so you don't have to lookup the 
value of each one separately



-- 
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: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to