public class HTTPReporter extends com.codahale.metrics.ScheduledReporter implements InitializableComponent
| Modifier and Type | Field and Description |
|---|---|
private String |
collectorURL
URL to the collection point.
|
private String |
dateTimeFormat
Formatting string for
DateTime fields. |
static String |
DEFAULT_DT_FORMAT
Default date/time format string.
|
private TimeUnit |
durationUnit
Duration unit.
|
private HttpClient |
httpClient
HTTP Client used to post the data.
|
private HttpClientSecurityParameters |
httpClientSecurityParameters
HTTP client security parameters.
|
private boolean |
isInitialized
Whether this component has been initialized.
|
private com.fasterxml.jackson.databind.ObjectMapper |
jsonMapper
JSON object mapper to produce output.
|
private org.slf4j.Logger |
log
Class logger.
|
private com.codahale.metrics.MetricFilter |
metricFilter
Filter to apply.
|
private com.codahale.metrics.MetricRegistry |
metricRegistry
Registry of metrics.
|
private TimeUnit |
rateUnit
Rate unit.
|
| Constructor and Description |
|---|
HTTPReporter(com.codahale.metrics.MetricRegistry registry,
String name,
com.codahale.metrics.MetricFilter filter)
Constructor.
|
HTTPReporter(com.codahale.metrics.MetricRegistry registry,
String name,
com.codahale.metrics.MetricFilter filter,
TimeUnit rUnit,
TimeUnit dUnit)
Constructor.
|
HTTPReporter(com.codahale.metrics.MetricRegistry registry,
String name,
com.codahale.metrics.MetricFilter filter,
TimeUnit rUnit,
TimeUnit dUnit,
ScheduledExecutorService executor)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
private HttpClientContext |
buildHttpContext(HttpUriRequest request)
Build the
HttpClientContext instance to be used by the HttpClient. |
void |
initialize() |
boolean |
isInitialized() |
void |
report() |
void |
report(SortedMap<String,com.codahale.metrics.Gauge> gauges,
SortedMap<String,com.codahale.metrics.Counter> counters,
SortedMap<String,com.codahale.metrics.Histogram> histograms,
SortedMap<String,com.codahale.metrics.Meter> meters,
SortedMap<String,com.codahale.metrics.Timer> timers) |
void |
setCollectorURL(String url)
Set the collection point to supply the data to.
|
void |
setDateTimeFormat(String format)
Set the
DateTime formatting string to apply when writing DateTime-valued fields. |
void |
setHttpClient(HttpClient client)
Set the
HttpClient to use. |
void |
setHttpClientSecurityParameters(HttpClientSecurityParameters params)
Set the optional client security parameters.
|
void |
stop() |
@Nonnull @NotEmpty public static final String DEFAULT_DT_FORMAT
@Nonnull private final org.slf4j.Logger log
@Nonnull private final com.codahale.metrics.MetricRegistry metricRegistry
@Nonnull private final com.codahale.metrics.MetricFilter metricFilter
@NonnullAfterInit private HttpClient httpClient
@NonnullAfterInit @NotEmpty private String collectorURL
@Nullable private HttpClientSecurityParameters httpClientSecurityParameters
@NonnullAfterInit private com.fasterxml.jackson.databind.ObjectMapper jsonMapper
private boolean isInitialized
public HTTPReporter(@Nonnull@ParameterName(name="registry") com.codahale.metrics.MetricRegistry registry, @Nonnull@NotEmpty@ParameterName(name="name") String name, @Nullable@ParameterName(name="filter") com.codahale.metrics.MetricFilter filter)
registry - the registry of metrics to reportname - the reporter namefilter - filter to applypublic HTTPReporter(@Nonnull@ParameterName(name="registry") com.codahale.metrics.MetricRegistry registry, @Nonnull@NotEmpty@ParameterName(name="name") String name, @Nullable@ParameterName(name="filter") com.codahale.metrics.MetricFilter filter, @Nonnull@ParameterName(name="rUnit") TimeUnit rUnit, @Nonnull@ParameterName(name="dUnit") TimeUnit dUnit)
registry - the registry of metrics to reportname - the reporter namefilter - filter to applyrUnit - unit to apply to rate informationdUnit - unit to apply to duration informationpublic HTTPReporter(@Nonnull@ParameterName(name="registry") com.codahale.metrics.MetricRegistry registry, @Nonnull@NotEmpty@ParameterName(name="name") String name, @Nullable@ParameterName(name="filter") com.codahale.metrics.MetricFilter filter, @Nonnull@ParameterName(name="rUnit") TimeUnit rUnit, @Nonnull@ParameterName(name="dUnit") TimeUnit dUnit, @Nonnull@ParameterName(name="executor") ScheduledExecutorService executor)
registry - the registry of metrics to reportname - the reporter namefilter - filter to applyrUnit - unit to apply to rate informationdUnit - unit to apply to duration informationexecutor - task schedulerpublic void setHttpClient(@Nonnull HttpClient client)
HttpClient to use.client - client to usepublic void setCollectorURL(@Nonnull@NotEmpty String url)
url - URL to post data topublic void setHttpClientSecurityParameters(@Nullable HttpClientSecurityParameters params)
params - the new client security parameterspublic void setDateTimeFormat(@Nullable@NotEmpty String format)
DateTime formatting string to apply when writing DateTime-valued fields.format - formatting stringpublic boolean isInitialized()
isInitialized in interface InitializableComponentpublic void initialize()
throws ComponentInitializationException
initialize in interface InitializableComponentComponentInitializationExceptionpublic void stop()
stop in class com.codahale.metrics.ScheduledReporterpublic void report()
report in class com.codahale.metrics.ScheduledReporterpublic void report(SortedMap<String,com.codahale.metrics.Gauge> gauges, SortedMap<String,com.codahale.metrics.Counter> counters, SortedMap<String,com.codahale.metrics.Histogram> histograms, SortedMap<String,com.codahale.metrics.Meter> meters, SortedMap<String,com.codahale.metrics.Timer> timers)
report in class com.codahale.metrics.ScheduledReporter@Nonnull private HttpClientContext buildHttpContext(@Nonnull HttpUriRequest request)
HttpClientContext instance to be used by the HttpClient.request - the HTTP client requestCopyright © 1999–2018 Shibboleth Consortium. All rights reserved.