/** * */ package com.github.lpezet.antiope.metrics.aws; import java.util.Arrays; import java.util.concurrent.TimeUnit; import org.apache.http.client.HttpClient; import org.apache.http.impl.client.HttpClients; import org.junit.Test; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.internal.StaticCredentialsProvider; import com.github.lpezet.antiope.be.APIConfiguration; import com.github.lpezet.antiope.be.APIWebServiceRequest; import com.github.lpezet.antiope.metrics.APIRequestMetrics; import com.github.lpezet.antiope.metrics.IMetricsCollector; /** * @author Luc Pezet * */ public class Sample extends BaseSample { private static final String AWS_ACCESS_KEY = ""; private static final String AWS_SECRET_KEY = ""; static class MyRequest extends APIWebServiceRequest { } @Test(timeout=60000) public void doIt() throws Exception { HttpClient oHttpClient = HttpClients.createDefault(); APIConfiguration oAPIConfig = new APIConfiguration(); oAPIConfig.setProfilingEnabled(true); SimpleClient oClient = new SimpleClient(oAPIConfig, oHttpClient, getPort()); Config oConfig = new Config(); CloudWatchConfig oCWConfig = new CloudWatchConfig(); oConfig.setCloudWatchConfig(oCWConfig); oCWConfig.setCloudWatchEndPoint("http://localhost:" + getCloudWatchPort()); oCWConfig.setQueuePollTimeoutMilli(TimeUnit.SECONDS.toMillis(5)); oCWConfig.setCredentialsProvider(new StaticCredentialsProvider(new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY))); MetricsConfig oMConfig = new MetricsConfig(); oConfig.setMetricsConfig(oMConfig); oMConfig.setMetricNameSpace("Antiope/Test"); // Reset default metrics to just Client Execute Time oMConfig.getMetricsRegistry().setMetricTypes(Arrays.asList( APIRequestMetrics.ClientExecuteTime)); //oMConfig.getMetricsRegistry().setMetricTypes(new ArrayList<MetricType>()); oMConfig.setMachineMetricExcluded(true); IMetricsCollector oMetricsCollector = new DefaultMetricsCollectorFactory(oConfig).getInstance(); oClient.setMetricsCollector(oMetricsCollector); for (int i = 0; i < 20; i++) { Thread.sleep(1000); oClient.getIt(); } } }