public class HttpForwardingMetricsConsumer extends Object implements 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
IMetricsConsumer.DataPoint, IMetricsConsumer.TaskInfo
Constructor and Description |
---|
HttpForwardingMetricsConsumer() |
Modifier and Type | Method and Description |
---|---|
void |
cleanup() |
void |
handleDataPoints(IMetricsConsumer.TaskInfo taskInfo,
Collection<IMetricsConsumer.DataPoint> dataPoints) |
void |
prepare(Map<String,Object> topoConf,
Object registrationArgument,
TopologyContext context,
IErrorReporter errorReporter) |
public void prepare(Map<String,Object> topoConf, Object registrationArgument, TopologyContext context, IErrorReporter errorReporter)
prepare
in interface IMetricsConsumer
public void handleDataPoints(IMetricsConsumer.TaskInfo taskInfo, Collection<IMetricsConsumer.DataPoint> dataPoints)
handleDataPoints
in interface IMetricsConsumer
public void cleanup()
cleanup
in interface IMetricsConsumer
Copyright © 2022 The Apache Software Foundation. All rights reserved.