java - 我如何从 aws cloudwatch 的特定指标中获取数据?

标签 java amazon-web-services amazon-cloudwatch

    long offsetInMilliseconds = 1000 * 60 * 60;

    GetMetricStatisticsRequest request1 = new GetMetricStatisticsRequest()
            .withStartTime(new Date(new Date().getTime() - offsetInMilliseconds))
            .withNamespace("AWS/DynamoDB")
            .withPeriod(60*60)
            .withDimensions(new Dimension().withName("TableName").withValue("INT_LOG_TABLE").withName("Operation").withValue("PutItem"))
            .withMetricName("SuccessfulRequestLatency")
            .withStatistics("Average")
            .withEndTime(new Date());


    GetMetricStatisticsResult getMetricStatisticsResult = cw.getMetricStatistics(request1);

    double avgRequestLatency = 0;
    List dataPoint = getMetricStatisticsResult.getDatapoints();
    for (Object aDataPoint : dataPoint){
        Datapoint dp = (Datapoint) aDataPoint;
        avgRequestLatency = dp.getAverage();

    }

我试过这样的。

我无法进入for循环

那是因为“getMetricStatisticsResult”是

“标签:SuccessfulRequestLatency,数据点:[]”

我怎样才能得到“数据点”??

提前致谢。

最佳答案

不返回任何数据点的原因可能有很多。

让我们从代码本身开始:

.withDimensions(new Dimension().withName("TableName").withValue("INT_LOG_TABLE").withName("Operation").withValue("PutItem"))

此处您仅创建一个维度并设置名称和值两次,因此结果是一个具有 name="Operation"value="PutItem" 的维度。

尝试这样做:

.withDimensions(Arrays.asList(
    new Dimension().withName("TableName").withValue("INT_LOG_TABLE"),
    new Dimension().withName("Operation").withValue("PutItem")))

关于java - 我如何从 aws cloudwatch 的特定指标中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49745326/

相关文章:

amazon-web-services - 如何在 Fargate 上的 Amazon ECS 中以非根用户身份运行 docker 容器

aws-lambda - 云观察洞察 : get logs of errored lambdas

amazon-web-services - 如何编写更可重用的云结构而不是重命名资源

amazon-web-services - AWS Cloudwatch 错误警报因数据不足而失败

amazon-web-services - 重复任务每 30 分钟处理 80k 个任务,存储在 DynamoDB 中

amazon-web-services - Cloudwatch 日志警报 - 如何在电子邮件通知中包含错误/异常/堆栈跟踪数据

java - 我如何访问本地文件系统的资源并从浏览器操作它们

java - java.sql 和 javax.sql 中的某些接口(interface)可以重用于 NoSQL 吗?

java - pdfbox 2.0.2 > 调用 PageDrawer.processPage 方法捕获异常

java - 错误 : Client does not support authentication protocol requested by server; consider upgrading MySQL client