cugarte commented on code in PR #3568:
URL: https://github.com/apache/solr/pull/3568#discussion_r2317272284
##########
solr/core/src/test/org/apache/solr/update/SolrIndexMetricsTest.java:
##########
@@ -119,27 +136,50 @@ public void testIndexMetricsWithDetails() throws
Exception {
addDocs();
- MetricRegistry registry =
- h.getCoreContainer()
- .getMetricManager()
- .registry(h.getCore().getCoreMetricManager().getRegistryName());
- assertNotNull(registry);
-
- Map<String, Metric> metrics = registry.getMetrics();
-
- assertTrue(
- metrics.entrySet().stream().filter(e ->
e.getKey().startsWith("INDEX")).count() >= 12);
+ try (SolrCore core = h.getCoreContainer().getCore("collection1")) {
+ var prometheusMetricReader =
SolrMetricTestUtils.getPrometheusMetricReader(core);
+ assertNotNull(prometheusMetricReader);
+ MetricSnapshots otelMetrics = prometheusMetricReader.collect();
+ assertTrue("Metrics count: " + otelMetrics.size(), otelMetrics.size() >=
20);
+
+ // check basic index meters
+ var minorMergeTimer =
+ SolrMetricTestUtils.getHistogramDatapoint(
+ core,
+ "solr_indexwriter_minor_merge_milliseconds",
+ SolrMetricTestUtils.newStandaloneLabelsBuilder(core)
+ .label(CATEGORY_ATTR.toString(),
SolrInfoBean.Category.INDEX.toString())
+ .build());
+ assertTrue("minorMerge: " + minorMergeTimer.getCount(),
minorMergeTimer.getCount() >= 3);
+ var majorMergeTimer =
+ SolrMetricTestUtils.getHistogramDatapoint(
+ core,
+ "solr_indexwriter_major_merge_milliseconds",
+ SolrMetricTestUtils.newStandaloneLabelsBuilder(core)
+ .label(CATEGORY_ATTR.toString(),
SolrInfoBean.Category.INDEX.toString())
+ .build());
+ // major merge timer should have a value of 0, and because 0 values are
not reported, no datapoint is available
+ assertNull("majorMergeTimer", majorMergeTimer);
- // check basic index meters
- Timer timer = (Timer) metrics.get("INDEX.merge.minor");
- assertTrue("minorMerge: " + timer.getCount(), timer.getCount() >= 3);
- timer = (Timer) metrics.get("INDEX.merge.major");
- assertEquals("majorMerge: " + timer.getCount(), 0, timer.getCount());
- // check detailed meters
- Meter meter = (Meter) metrics.get("INDEX.merge.major.docs");
- assertEquals("majorMergeDocs: " + meter.getCount(), 0, meter.getCount());
Review Comment:
Added a unit test for this. Helped catch a typo in a metric name in the
initial implementation.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]