当前位置: 首页 > 知识库问答 >
问题:

如何在CloudWatch中将2个搜索度量与数学表达式结合起来?

须景辉
2023-03-14

我正在尝试获取运行lambda时使用的内存百分比,以便在CloudWatch上的图形中显示。我知道还有其他方法可以提取数据,但出于本问题范围之外的原因,我想坚持使用搜索来提取度量。

我有下面的图表

{
    "metrics": [
        [ { "expression": "SEARCH('{SomeMetricNamespace} MetricName=\"MemorySize\"', 'Average', 300)", "id": "m1", "visible": "true" } ],
        [ { "expression": "SEARCH('{SomeMetricNamespace} MetricName=\"MaxMemoryUsed\"', 'Average', 300)", "id": "m2", "visible": "true" } ],
        [ { "expression": "m2/m1*100", "label": "pecentage memory used", "id": "e1", "stat": "Average" } ]
    ],
    "view": "timeSeries",
    "stacked": false,
    "region": "us-west-2",
    "stat": "Average",
    "period": 300,
    "title": "Memory",
    "yAxis": {
        "left": {
            "label": "Percentage Usage",
            "showUnits": false
        }
    },
    "liveData": false
}

我得到的错误

Error in expression e1 [Unsupported operand type(s) for /: '[Array[TimeSeries], Array[TimeSeries]]']

有没有一种方法把前2个表达式组合起来给我使用的内存百分比?

共有1个答案

赏夕
2023-03-14

表达式的结果是时间序列的数组,因此不能直接应用操作(+-*/^)。作为一种解决办法,您可以将每个时间序列转换为每个表达式的单个值(平均值),然后计算百分比。

来源应该类似于这样:

{
"metrics": [
    [ { "expression": "SEARCH('{SomeMetricNamespace} MetricName=\"MemorySize\"', 'Average', 300)", "id": "m1", "visible": "false" } ],
    [ { "expression": "SEARCH('{SomeMetricNamespace} MetricName=\"MaxMemoryUsed\"', 'Average', 300)", "id": "m2", "visible": "false" } ],
    [ { "expression": "AVG(m1)", "label": "AVGMemorySize", "id": "e1", "visible": "false" } ],
    [ { "expression": "AVG(m2)", "label": "AVGMaxMemoryUsed", "id": "e2", "visible": "false" } ],
    [ { "expression": "e2/e1*100", "label": "pecentage memory used", "id": "e3", "stat": "Average" } ]

    ],
    "view": "timeSeries",
    "stacked": false,
    "region": "us-west-2",
    "stat": "Average",
    "period": 300,
    "title": "Memory",
    "yAxis": {
        "left": {
            "label": "Percentage Usage",
            "showUnits": false
        }
    },
    "liveData": false
}
 类似资料:
  • 问题内容: 我有3个查询已经达到我的SQL知识(如果重要的话,Microsoft SQL 2005)的顶峰-现在​​我需要将它们组合成一个查询,并将所有值都放在一行中。 我的实际查询如下,但是我认为如果在此处提供一个简单的版本会更容易: 查询一: 查询一个样本输出: 查询二: 查询两个样本输出: 查询三: 查询三个样本输出: 我曾尝试通过父SELECT语句(其中包括此Web链接的详细信息,并为每个

  • 我有一些实体B和C从父实体A继承。因此,我在我的数据库中有一个联合的多重继承结构。此外,我在这些实体上定义了一些@NamedQueries,它们运行良好。 我打算有一个@NamedStoredProcess dureQuery,它能够在外围找到一些POI。我已经实现了一个存储过程,它在父表上执行SELECT,获取经度、纬度和半径作为参数,CALL返回正确的记录。执行外围搜索的列都在父表/实体中。

  • 如何将3张表格与雄辩的inaravel结合起来? 嗨,谁帮我,我需要你的帮助。 下面这三张表,在laravel中口若悬河怎么结合? 下表列出了结构和图: 标记表结构{Tag_id:primary key,Tag_name,Tag_category} 文章表结构{Article_id:primary key,date_posting,content,tag_id:foreign key} 审阅表结构

  • 我不能组合下面两个正则表达式。密码标准要求: 密码不能包含超过两个连续字符的用户名或全名部分 密码长度必须至少为6个字符 密码必须包含下列三个类别中的字符 大写字母(英文A-Z) 小写字符(英文a-z) 基数10位(0-9) 非字母字符(例如!、@、#、$、%等)

  • 问题内容: 我正在尝试在sqlite中使用正则表达式搜索数据库。这是我的代码: 但是我收到此错误: 我之前在MySQL中使用过函数REGEXP,所以我认为它存在于sqlite中,但显然不存在。 在Android中查询sqlite数据库时执行正则表达式的最佳方法是什么? 问题答案: 在sqllite中,默认情况下不包括“ REGEXP”功能,您需要“自己滚动”。 但是,只要搜索相当简单,“ LIKE