Queries for the ACSAdvancedMessagingOperations table
For information on using these queries in the Azure portal, see Log Analytics tutorial. For the REST API, see Query.
Advanced Messaging operations
Returns all distinct combinations of Advanced Messaging operation and version pairs.
ACSAdvancedMessagingOperations
| distinct OperationName, OperationVersion
| limit 100
Advanced Messaging operation duration percentiles
Calculates the 90th, 95th, and 99th percentiles of run duration in milliseconds for each chat operation. It can be customized to be run for a single operation, or for other percentiles.
ACSAdvancedMessagingOperations
// where OperationName == "<operation>" // This can be uncommented and specified to calculate only a single operation's duration percentiles
| summarize percentiles(DurationMs, 90, 95, 99) by OperationName, OperationVersion // calculate 90th, 95th, and 99th percentiles of each Operation
| limit 100
Advanced Messaging top 5 IP addresses per operation
For every Advanced Messaging operation, fetch the 5 IP addresses that have called that operation the most.
ACSAdvancedMessagingOperations
// | where OperationName == "<operation>" // This can be uncommented and specified to calculate only a single operation's count
| top-nested of OperationName by dummy=max(0), // For all the Operations...
top-nested 5 of CallerIpAddress by count() // List the IP address that have called that operation the most
| project-away dummy // Remove dummy line from the result set
| limit 100
Advanced Messaging operational errors
List every Advanced Messaging error ordered by recency.
ACSAdvancedMessagingOperations
| where ResultType == "Failed"
| project TimeGenerated, OperationName, OperationVersion, ResultSignature, ResultDescription
| order by TimeGenerated desc
| limit 100
Advanced Messaging operation result counts
For every Advanced Messaging operation, count the types of returned results.
ACSAdvancedMessagingOperations
| summarize Count = count() by OperationName, OperationVersion, ResultType //, ResultSignature // This can also be uncommented to determine the count of each ResultSignature for each ResultType
| order by OperationName asc, Count desc
| limit 100
Advanced Messaging channel activity
Summary of the message activity per channel for the past 24 hours.
ACSAdvancedMessagingOperations
| where TimeGenerated > ago(24h)
| summarize count() by ChannelId, MessageType
| order by ChannelId asc
Advanced Messaging message status count
Count of message status for the past 24 hours.
ACSAdvancedMessagingOperations
| where TimeGenerated > ago(24h)
| summarize Count = count() by MessageType, MessageStatus
| order by MessageType asc, Count desc