Some AVD Query November 26, 2025 by admin
let Connections =
WVDConnections
| project TimeGenerated, CorrelationId, UserName, ClientOS, ClientType, ClientVersion,
SessionHostName, TransportType, GatewayRegion, State, ClientIPAddress;
let Errors =
WVDErrors
| project CorrelationId, ErrorTime = TimeGenerated, Code, Message
| summarize arg_max(ErrorTime, *) by CorrelationId;
let Network =
WVDConnectionNetworkData
| project CorrelationId, NetTime = TimeGenerated,
RTTms = EstRoundTripTimeInMs,
BandwidthKBps = EstAvailableBandwidthKBps,
PacketLossPct = EstPacketLossPercentage
| summarize arg_max(NetTime, *) by CorrelationId;
let Graphics =
WVDConnectionGraphicsDataPreview
| project CorrelationId, GfxTime = TimeGenerated,
ServerSkippedFramesPct = ServerSkippedFramesPercentage,
ClientSkippedFramesPct = ClientSkippedFramesPercentage,
NetworkSkippedFramesPct = NetworkSkippedFramesPercentage,
EncodingDelayMs = EncodingDelayOnServerInMs,
DecodingDelayMs = DecodingTimeOnClientInMs,
RenderingDelayMs = RenderingTimeOnClientInMs
| extend FPS = iff(RenderingTimeOnClientInMs > 0, 1000 / RenderingTimeOnClientInMs, real(null))
| summarize arg_max(GfxTime, *) by CorrelationId;
Connections
| join kind=leftouter Errors on CorrelationId
| join kind=leftouter Network on CorrelationId
| join kind=leftouter Graphics on CorrelationId
| extend
HighLatency = RTTms > 150,
LowBandwidth = BandwidthKBps < 500, LowFPS = FPS < 30, HighPacketLoss = PacketLossPct > 2,
HighEncodingDelay = EncodingDelayMs > 40,
HighDecodingDelay = DecodingDelayMs > 40,
HighRenderingDelay = RenderingDelayMs > 40,
PoorUX = HighLatency or LowBandwidth or LowFPS or HighPacketLoss
or HighEncodingDelay or HighDecodingDelay or HighRenderingDelay
| project TimeGenerated, UserName, CorrelationId,
ClientOS, ClientVersion, ClientType, ClientIPAddress, TransportType, SessionHostName,
RTTms, BandwidthKBps, PacketLossPct, FPS,
EncodingDelayMs, DecodingDelayMs, RenderingDelayMs,
ServerSkippedFramesPct, ClientSkippedFramesPct, NetworkSkippedFramesPct,
Code, Message,
HighLatency, LowBandwidth, LowFPS, HighPacketLoss,
HighEncodingDelay, HighDecodingDelay, HighRenderingDelay, PoorUX
| where PoorUX == true
| order by TimeGenerated desc