Package org.apache.storm.loadgen
Class HttpForwardingMetricsConsumer
java.lang.Object
org.apache.storm.loadgen.HttpForwardingMetricsConsumer
- All Implemented Interfaces:
IMetricsConsumer
Listens for all metrics and POSTs them serialized to a configured URL.
To use, add this to your topology's configuration: ```java conf.registerMetricsConsumer(HttpForwardingMetricsConsumer.class, "http://example.com:8080/metrics/my-topology/", 1); ```
The body of the post is data serialized using KryoValuesSerializer
, with the data passed in
as a list of `[TaskInfo, Collection<DataPoint>]`. More things may be appended to the end of the list in the future.
The values can be deserialized using the org.apache.storm.serialization.KryoValuesDeserializer, and a correct config + classpath.
@see org.apache.storm.serialization.KryoValuesSerializer
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.storm.metric.api.IMetricsConsumer
IMetricsConsumer.DataPoint, IMetricsConsumer.TaskInfo
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cleanup()
void
handleDataPoints
(IMetricsConsumer.TaskInfo taskInfo, Collection<IMetricsConsumer.DataPoint> dataPoints) void
prepare
(Map<String, Object> topoConf, Object registrationArgument, TopologyContext context, IErrorReporter errorReporter)
-
Constructor Details
-
HttpForwardingMetricsConsumer
public HttpForwardingMetricsConsumer()
-
-
Method Details
-
prepare
public void prepare(Map<String, Object> topoConf, Object registrationArgument, TopologyContext context, IErrorReporter errorReporter) - Specified by:
prepare
in interfaceIMetricsConsumer
-
handleDataPoints
public void handleDataPoints(IMetricsConsumer.TaskInfo taskInfo, Collection<IMetricsConsumer.DataPoint> dataPoints) - Specified by:
handleDataPoints
in interfaceIMetricsConsumer
-
cleanup
public void cleanup()- Specified by:
cleanup
in interfaceIMetricsConsumer
-