Example usage for com.amazonaws.services.cloudwatch AmazonCloudWatchAsyncClient getMetricStatisticsAsync

List of usage examples for com.amazonaws.services.cloudwatch AmazonCloudWatchAsyncClient getMetricStatisticsAsync

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudwatch AmazonCloudWatchAsyncClient getMetricStatisticsAsync.

Prototype

@Override
    public java.util.concurrent.Future<GetMetricStatisticsResult> getMetricStatisticsAsync(
            GetMetricStatisticsRequest request) 

Source Link

Usage

From source file:com.blubb.andcw.ChartBuilder.java

License:Apache License

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Metric m = new Metric().withMetricName((String) getIntent().getExtras().get("metric"))
            .withNamespace((String) getIntent().getExtras().get("namespace"));
    Dimension d = new Dimension().withName((String) getIntent().getExtras().get("dimension"))
            .withValue((String) getIntent().getExtras().get("dimensionvalue"));
    TimeSeries series = new TimeSeries(m.getMetricName() + " - " + d.getName() + " " + d.getValue());
    AWSCredentials awsc = getAWSCredentials();
    AmazonCloudWatchAsyncClient acw = new AmazonCloudWatchAsyncClient(awsc);
    long offset = new Date().getTime() - 1000 * 3600 * 24;
    GetMetricStatisticsRequest gmsr = new GetMetricStatisticsRequest().withStartTime(new Date(offset))
            .withMetricName(m.getMetricName()).withNamespace(m.getNamespace()).withDimensions(d).withPeriod(300)
            .withStatistics("Average").withEndTime(new Date());
    Log.i("AndCW req", gmsr.toString());
    Future<GetMetricStatisticsResult> res = acw.getMetricStatisticsAsync(gmsr);
    TreeSet<Datapoint> data = new TreeSet<Datapoint>(new Comparator<Datapoint>() {

        public int compare(Datapoint lhs, Datapoint rhs) {
            return lhs.getTimestamp().compareTo(rhs.getTimestamp());
        }/* w  ww  .j a  va2 s  . c o m*/
    });
    try {
        data.addAll((List<Datapoint>) res.get().getDatapoints()); // FIXME
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
    for (Datapoint dp : data) {
        series.add(dp.getTimestamp(), dp.getAverage());
    }
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    mRenderer.addSeriesRenderer(renderer);
    renderer.setPointStyle(PointStyle.CIRCLE);
    renderer.setFillPoints(true);
    mDataset.addSeries(series);
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setBackgroundColor(Color.argb(100, 50, 50, 50));
    mRenderer.setAxisTitleTextSize(16);
    mRenderer.setChartTitleTextSize(20);
    mRenderer.setLabelsTextSize(15);
    mRenderer.setLegendTextSize(15);
    mRenderer.setMargins(new int[] { 20, 30, 15, 0 });
    mRenderer.setZoomButtonsVisible(true);
    mRenderer.setPointSize(1);
    mChartView = ChartFactory.getTimeChartView(this, mDataset, mRenderer, null);
    setContentView(mChartView);

}