Package org.apache.solr.util.stats
Class InstrumentedHttpRequestExecutor
- java.lang.Object
-
- org.apache.http.protocol.HttpRequestExecutor
-
- org.apache.solr.util.stats.InstrumentedHttpRequestExecutor
-
- All Implemented Interfaces:
AutoCloseable,SolrMetricProducer
public class InstrumentedHttpRequestExecutor extends org.apache.http.protocol.HttpRequestExecutor implements SolrMetricProducer
Sub-class of HttpRequestExecutor which tracks metrics interesting to solr Inspired and partially copied from dropwizard httpclient library
-
-
Field Summary
Fields Modifier and Type Field Description static HttpClientMetricNameStrategyHOST_AND_METHODstatic Map<String,HttpClientMetricNameStrategy>KNOWN_METRIC_NAME_STRATEGIESstatic HttpClientMetricNameStrategyMETHOD_ONLYprotected SolrMetricManagermetricManagerprotected com.codahale.metrics.MetricRegistrymetricsRegistryprotected HttpClientMetricNameStrategynameStrategystatic HttpClientMetricNameStrategyQUERYLESS_URL_AND_METHODprotected StringregistryNameprotected Stringscope
-
Constructor Summary
Constructors Constructor Description InstrumentedHttpRequestExecutor(int waitForContinue, HttpClientMetricNameStrategy nameStrategy)InstrumentedHttpRequestExecutor(HttpClientMetricNameStrategy nameStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.http.HttpResponseexecute(org.apache.http.HttpRequest request, org.apache.http.HttpClientConnection conn, org.apache.http.protocol.HttpContext context)voidinitializeMetrics(SolrMetricManager manager, String registry, String tag, String scope)Initializes metrics specific to this producer-
Methods inherited from class org.apache.http.protocol.HttpRequestExecutor
canResponseHaveBody, doReceiveResponse, doSendRequest, postProcess, preProcess
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.solr.metrics.SolrMetricProducer
close, getSolrMetricsContext, initializeMetrics
-
-
-
-
Field Detail
-
QUERYLESS_URL_AND_METHOD
public static final HttpClientMetricNameStrategy QUERYLESS_URL_AND_METHOD
-
METHOD_ONLY
public static final HttpClientMetricNameStrategy METHOD_ONLY
-
HOST_AND_METHOD
public static final HttpClientMetricNameStrategy HOST_AND_METHOD
-
KNOWN_METRIC_NAME_STRATEGIES
public static final Map<String,HttpClientMetricNameStrategy> KNOWN_METRIC_NAME_STRATEGIES
-
metricsRegistry
protected com.codahale.metrics.MetricRegistry metricsRegistry
-
metricManager
protected SolrMetricManager metricManager
-
registryName
protected String registryName
-
scope
protected String scope
-
nameStrategy
protected HttpClientMetricNameStrategy nameStrategy
-
-
Constructor Detail
-
InstrumentedHttpRequestExecutor
public InstrumentedHttpRequestExecutor(int waitForContinue, HttpClientMetricNameStrategy nameStrategy)
-
InstrumentedHttpRequestExecutor
public InstrumentedHttpRequestExecutor(HttpClientMetricNameStrategy nameStrategy)
-
-
Method Detail
-
execute
public org.apache.http.HttpResponse execute(org.apache.http.HttpRequest request, org.apache.http.HttpClientConnection conn, org.apache.http.protocol.HttpContext context) throws IOException, org.apache.http.HttpException- Overrides:
executein classorg.apache.http.protocol.HttpRequestExecutor- Throws:
IOExceptionorg.apache.http.HttpException
-
initializeMetrics
public void initializeMetrics(SolrMetricManager manager, String registry, String tag, String scope)
Description copied from interface:SolrMetricProducerInitializes metrics specific to this producer- Specified by:
initializeMetricsin interfaceSolrMetricProducer- Parameters:
manager- an instance ofSolrMetricManagerregistry- registry name where metrics are registeredtag- a symbolic tag that represents this instance of the producer, or a group of related instances that have the same life-cycle. This tag is used when managing life-cycle of some metrics.scope- scope of the metrics (eg. handler name) to separate metrics of components with the same implementation but different scope.
-
-