我正在尝试创建一个 MetricFilter,其维度设置为延迟源,这是 MetricFilter 的 FilterPattern 中的一个字段。但是我在 Java cdk 中的对象 MetricFilter 的字段中看不到维度。是通过 CloudWatch 上的 UI 设置维度的唯一方法吗?我的对象:
Metric metric = new MetricFilter(deploymentStack, metricId, MetricFilterProps.builder()
.filterPattern(FilterPattern.spaceDelimited(
SKIP_PATTERN,
SERVICE_NAME,
LATENCY_SIGNATURE,
LATENCY_SOURCE,
LATENCY_NUMBER)
.whereString(SERVICE_NAME, EQUAL_COMPARATOR, serviceName)
.whereString(LATENCY_SIGNATURE, EQUAL_COMPARATOR, LATENCY_METRICS))
.metricName(metricId)
.metricNamespace(nameSpace)
.logGroup(logGroup)
.metricValue(PROPERTY_SELECTOR.concat(LATENCY_NUMBER))
.build())
.metric(MetricOptions.builder()
.period(Duration.seconds(30))
.statistic(P99)
.dimensions(Map.of(LATENCY_SOURCE, PROPERTY_SELECTOR.concat(LATENCY_SOURCE))) //This doesn't work.
.unit(Unit.MILLISECONDS)
.build());
我试图通过将其值设置为 来在此过滤器创建的指标中设置维度$latencySource,希望它会从 MetricFilter 中获取该字段。但是当我部署它时,这个指标正在搜索的维度是文字 $latencySource 而不是来自 MetricFilter 的字段。任何建议将不胜感激!