public class MetricsCollectingMarshaller<T> extends Object implements Marshaller<T>
Marshaller
which delegates to another marshaller, whilst collecting metrics about the execution and
streaming of that delegate.
Metrics will onlty be collected if the executiuon and streaming do not throw exceptions. Exception conditions are likely to skew the metrics, and so will not be recorded.
Modifier and Type | Method and Description |
---|---|
static <T> @NonNull Marshaller<T> |
forMarshaller(MarshallerMetricsCollector metricsCollector,
Marshaller<T> marshaller)
Creates an instrumented wrapper around another Marshaller which will gather execution metrics
|
Streamable |
marshal(T object,
@Nullable ConversionContext conversionContext)
Marshals an object to XML.
|
public static <T> @NonNull Marshaller<T> forMarshaller(MarshallerMetricsCollector metricsCollector, Marshaller<T> marshaller)
T
- The type of the values being marshalledmetricsCollector
- The collector to usemarshaller
- The marshaller to be instrumentedpublic Streamable marshal(T object, @Nullable ConversionContext conversionContext) throws XhtmlException
Marshaller
marshal
in interface Marshaller<T>
object
- object to marshalconversionContext
- the conversion contextXhtmlException
- if an error occurs during marshallingCopyright © 2003–2020 Atlassian. All rights reserved.