DQL
Questions about Dynatrace Query Language
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Getting error in DQL in fetching MQ information on filtering by QM names

pds_sis
Visitor

Hi Team

I am trying to filterout specific MQ's however getting error "filter name". Can anyone guide me on that please.

This is the query :

timeseries { availability = avg(ibmmq.queue_manager.availability), dlq_depth = avg(ibmmq.queue_manager.dlq_depth), active_channels = avg(ibmmq.queue_manager.active_channels), connections = avg(ibmmq.queue_manager.connections), uptime = avg(ibmmq.queue_manager.uptime) }, by: { `dt.entity.ibmmq:queue_manager` }
| fieldsAdd name = entityName(`dt.entity.ibmmq:queue_manager`)
| fieldsAdd availability = arrayLast(availability)
| sort availability asc
| fieldsAdd dlq_depth = arrayLast(dlq_depth)
| fieldsAdd active_channels = arrayLast(active_channels)
| fieldsAdd connections = arrayLast(connections)
| fieldsAdd uptime = arrayLast(uptime)
| filterOut isNull(name)
| filter name in("entity.queue_manager", {"SCP1", "SCP2", "SISP"})
| fields `Name` = name, `Availability` = availability, `DLQ Depth` = dlq_depth, `Active channels` = active_channels, `Connections` = connections, `Uptime` = uptime
| limit 10

1 REPLY 1

t_pawlak
Champion

Hi,

The error was caused by incorrect usage of in() in DQL.
name is already a string returned by entityName(), so it can’t be filtered using in("entity.queue_manager", …) or in() with parentheses.

In my case, entityName() contains additional text, so using startsWith() works correctly.
I tested this, and it not recive errors:

timeseries {
  availability    = avg(ibmmq.queue_manager.availability),
  dlq_depth       = avg(ibmmq.queue_manager.dlq_depth),
  active_channels = avg(ibmmq.queue_manager.active_channels),
  connections     = avg(ibmmq.queue_manager.connections),
  uptime          = avg(ibmmq.queue_manager.uptime)
}, by: { `dt.entity.ibmmq:queue_manager` }
| fieldsAdd name = entityName(`dt.entity.ibmmq:queue_manager`)
| fieldsAdd availability    = arrayLast(availability)
| fieldsAdd dlq_depth       = arrayLast(dlq_depth)
| fieldsAdd active_channels = arrayLast(active_channels)
| fieldsAdd connections     = arrayLast(connections)
| fieldsAdd uptime          = arrayLast(uptime)
| filterOut isNull(name)
| filter startsWith(name, "SCP1") or startsWith(name, "SCP2") or startsWith(name, "SISP")
| sort availability asc
| fields
    `Name`            = name,
    `Availability`    = availability,
    `DLQ Depth`       = dlq_depth,
    `Active channels` = active_channels,
    `Connections`     = connections,
    `Uptime`          = uptime
| limit 10



Featured Posts