mirror of https://github.com/apache/lucene.git
SOLR-10269 MetricHandler JSON output was incorrect.
This commit is contained in:
parent
c8bad8c10a
commit
e3a0b428fd
|
@ -235,6 +235,8 @@ Bug Fixes
|
||||||
|
|
||||||
* SOLR-9838: "inc" atomic update doesn't respect default field value (hoss, Amrit Sarkar, Ishan Chattopadhyaya)
|
* SOLR-9838: "inc" atomic update doesn't respect default field value (hoss, Amrit Sarkar, Ishan Chattopadhyaya)
|
||||||
|
|
||||||
|
* SOLR-10269: MetricsHandler JSON output incorrect. (ab)
|
||||||
|
|
||||||
Optimizations
|
Optimizations
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ import com.codahale.metrics.Snapshot;
|
||||||
import com.codahale.metrics.Timer;
|
import com.codahale.metrics.Timer;
|
||||||
import org.apache.solr.common.SolrInputDocument;
|
import org.apache.solr.common.SolrInputDocument;
|
||||||
import org.apache.solr.common.util.NamedList;
|
import org.apache.solr.common.util.NamedList;
|
||||||
|
import org.apache.solr.common.util.SimpleOrderedMap;
|
||||||
import org.apache.solr.metrics.AggregateMetric;
|
import org.apache.solr.metrics.AggregateMetric;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -117,12 +118,12 @@ public class MetricUtils {
|
||||||
MetricFilter mustMatchFilter, boolean skipHistograms,
|
MetricFilter mustMatchFilter, boolean skipHistograms,
|
||||||
boolean skipAggregateValues,
|
boolean skipAggregateValues,
|
||||||
Map<String, Object> metadata) {
|
Map<String, Object> metadata) {
|
||||||
NamedList result = new NamedList();
|
NamedList result = new SimpleOrderedMap();
|
||||||
toNamedMaps(registry, shouldMatchFilters, mustMatchFilter, skipHistograms, skipAggregateValues, (k, v) -> {
|
toNamedMaps(registry, shouldMatchFilters, mustMatchFilter, skipHistograms, skipAggregateValues, (k, v) -> {
|
||||||
result.add(k, new NamedList(v));
|
result.add(k, v);
|
||||||
});
|
});
|
||||||
if (metadata != null && !metadata.isEmpty()) {
|
if (metadata != null && !metadata.isEmpty()) {
|
||||||
result.add("_metadata_", new NamedList(metadata));
|
result.add("_metadata_", metadata);
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,8 @@
|
||||||
|
|
||||||
package org.apache.solr.handler.admin;
|
package org.apache.solr.handler.admin;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import org.apache.solr.SolrTestCaseJ4;
|
import org.apache.solr.SolrTestCaseJ4;
|
||||||
import org.apache.solr.common.params.CommonParams;
|
import org.apache.solr.common.params.CommonParams;
|
||||||
import org.apache.solr.common.util.NamedList;
|
import org.apache.solr.common.util.NamedList;
|
||||||
|
@ -48,13 +50,14 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
|
||||||
NamedList nl = (NamedList) values.get("solr.core.collection1");
|
NamedList nl = (NamedList) values.get("solr.core.collection1");
|
||||||
assertNotNull(nl);
|
assertNotNull(nl);
|
||||||
assertNotNull(nl.get("SEARCHER.new.errors")); // counter type
|
assertNotNull(nl.get("SEARCHER.new.errors")); // counter type
|
||||||
assertNotNull(((NamedList) nl.get("SEARCHER.new.errors")).get("count"));
|
assertNotNull(((Map) nl.get("SEARCHER.new.errors")).get("count"));
|
||||||
assertEquals(0L, ((NamedList) nl.get("SEARCHER.new.errors")).get("count"));
|
// response wasn't serialized so we get here whatever MetricUtils produced instead of NamedList
|
||||||
|
assertEquals(0L, ((Map) nl.get("SEARCHER.new.errors")).get("count"));
|
||||||
nl = (NamedList) values.get("solr.node");
|
nl = (NamedList) values.get("solr.node");
|
||||||
assertNotNull(nl.get("CONTAINER.cores.loaded")); // int gauge
|
assertNotNull(nl.get("CONTAINER.cores.loaded")); // int gauge
|
||||||
assertEquals(1, ((NamedList) nl.get("CONTAINER.cores.loaded")).get("value"));
|
assertEquals(1, ((Map) nl.get("CONTAINER.cores.loaded")).get("value"));
|
||||||
assertNotNull(nl.get("ADMIN./admin/authorization.clientErrors")); // timer type
|
assertNotNull(nl.get("ADMIN./admin/authorization.clientErrors")); // timer type
|
||||||
assertEquals(5, ((NamedList) nl.get("ADMIN./admin/authorization.clientErrors")).size());
|
assertEquals(5, ((Map) nl.get("ADMIN./admin/authorization.clientErrors")).size());
|
||||||
|
|
||||||
resp = new SolrQueryResponse();
|
resp = new SolrQueryResponse();
|
||||||
handler.handleRequestBody(req(CommonParams.QT, "/admin/metrics", CommonParams.WT, "json", "group", "jvm,jetty"), resp);
|
handler.handleRequestBody(req(CommonParams.QT, "/admin/metrics", CommonParams.WT, "json", "group", "jvm,jetty"), resp);
|
||||||
|
|
Loading…
Reference in New Issue