I have a Datadog APM Threshold monitor created on the top of metrics. It currently has the following query-
(sum:trace.opentelemetry.instrumentation.asgi.server.errors{env:uat, service:trend-calculator-api,!log.level:info}.as_count() / sum:trace.opentelemetry.instrumentation.asgi.server.hits{env:uat, service:trend-calculator-api}.as_count()) * 100
I want to update the same query to also include another service bcs-trend-calculator-api
I have tried following options already which are resulting in error-
Option 1-
(sum:trace.opentelemetry.instrumentation.asgi.server.errors{env:uat, (service:trend-calculator-api OR service:bcs-trend-calculator-api),!log.level:info}.as_count() / sum:trace.opentelemetry.instrumentation.asgi.server.hits{env:uat, service:trend-calculator-api}.as_count()) * 100
Error 1- Error parsing query: 'AND' and 'OR' cannot be mixed with ','
Option 2-
(sum:trace.opentelemetry.instrumentation.asgi.server.errors{env:uat, service in (trend-calculator-api,bcs-trend-calculator-api),!log.level:info}.as_count() / sum:trace.opentelemetry.instrumentation.asgi.server.hits{env:uat, service in (trend-calculator-api,bcs-trend-calculator-api)}.as_count()) * 100
Error 2- The monitor could not be saved, because the query is invalid
Option 3-
sum(last_1h):(sum:trace.opentelemetry.instrumentation.asgi.server.errors{env:uat AND service in (trend-calculator-api,bcs-trend-calculator-api) AND !log.level:info}.as_count() / sum:trace.opentelemetry.instrumentation.asgi.server.hits{env:uat AND service in (trend-calculator-api,bcs-trend-calculator-api)}.as_count()) * 100
Error 3- Metrics query is invalid
I referred to this link provided by Datadog which suggests to use IN clause . Am I missing something?