1 package com.griddynamics.jagger.engine.e1.collector.invocation;
3 import com.griddynamics.jagger.engine.e1.Provider;
4 import com.griddynamics.jagger.engine.e1.collector.AvgMetricAggregatorProvider;
5 import com.griddynamics.jagger.engine.e1.collector.MaxMetricAggregatorProvider;
6 import com.griddynamics.jagger.engine.e1.collector.MetricDescription;
7 import com.griddynamics.jagger.engine.e1.collector.MinMetricAggregatorProvider;
8 import com.griddynamics.jagger.engine.e1.collector.PercentileAggregatorProvider;
9 import com.griddynamics.jagger.engine.e1.collector.invocation.InvocationInfo;
10 import com.griddynamics.jagger.engine.e1.collector.invocation.InvocationListener;
11 import com.griddynamics.jagger.engine.e1.services.ServicesAware;
12 import com.griddynamics.jagger.invoker.InvocationException;
24 private final String metricName =
"example-duration-metric";
29 .displayName(
"Example duration metric, ms")
32 .addAggregator(
new MinMetricAggregatorProvider())
33 .addAggregator(
new MaxMetricAggregatorProvider())
34 .addAggregator(
new AvgMetricAggregatorProvider())
35 .addAggregator(
new PercentileAggregatorProvider(40D))
36 .addAggregator(
new PercentileAggregatorProvider(50D))
37 .addAggregator(
new PercentileAggregatorProvider(60D))
38 .addAggregator(
new PercentileAggregatorProvider(70D))
39 .addAggregator(
new PercentileAggregatorProvider(80D))
40 .addAggregator(
new PercentileAggregatorProvider(90D))
41 .addAggregator(
new PercentileAggregatorProvider(95D))
42 .addAggregator(
new PercentileAggregatorProvider(99D))
49 return new InvocationListener() {
51 public void onStart(InvocationInfo invocationInfo) { }
54 public void onSuccess(InvocationInfo invocationInfo) {
55 if (invocationInfo.getResult() != null) {
56 getMetricService().saveValue(metricName, invocationInfo.getDuration());
61 public void onFail(InvocationInfo invocationInfo, InvocationException e) { }
64 public void onError(InvocationInfo invocationInfo, Throwable error) { }