package com.griddynamics.jagger.engine.e1.collector.invocation; import com.griddynamics.jagger.engine.e1.Provider; import com.griddynamics.jagger.engine.e1.collector.MetricDescription; import com.griddynamics.jagger.engine.e1.collector.SumMetricAggregatorProvider; import com.griddynamics.jagger.engine.e1.services.ServicesAware; import com.griddynamics.jagger.invoker.InvocationException; /** Example of the invocation listener * @author Gribov Kirill * @n * @par Details: * @details * Will collect number of not null responses from the SUT * * @ingroup Main_Listeners_group */ /* begin: following section is used for docu generation - example of the invocation listener with metric service */ public class NotNullInvocationListener extends ServicesAware implements Provider<InvocationListener> { private final String metricName = "not-null-responses"; @Override protected void init() { getMetricService().createMetric(new MetricDescription(metricName). displayName("Number of not null responses"). showSummary(true). plotData(false). addAggregator(new SumMetricAggregatorProvider())); } @Override public InvocationListener provide() { return new InvocationListener() { @Override public void onStart(InvocationInfo invocationInfo) { } @Override public void onSuccess(InvocationInfo invocationInfo) { if (invocationInfo.getResult() != null){ getMetricService().saveValue(metricName, 1); } } @Override public void onFail(InvocationInfo invocationInfo, InvocationException e) { } @Override public void onError(InvocationInfo invocationInfo, Throwable error) { } }; } } /* end: following section is used for docu generation - example of the invocation listener with metric service */