VDI Experience NQL capabilities

New NQL capabilities

The following tables are available in VDI Experience, which are specific to VDI-related metrics:

These tables provide insights into virtual desktop sessions and their associated events, enabling users to monitor performance and user interactions more effectively. The vdi_sessions table captures key information related to individual sessions, while the vdi_events table records significant events during those sessions.

Additionally, the tables are associated with the Devices and Users tables, allowing access to all related data. These additions promote improved analysis and troubleshooting within virtual desktop environments.

See the NQL data model for more details about the tables.

Increasing data resolution

When querying VDI event data with NQL, you can enhance the resolution of your results for the past 48 hours to 30-second intervals, allowing you to gain deeper insight into system behavior. This enables more accurate tracking of anomalies and system performance trends.

See the Retrieving high-resolution data for Desktop Virtualization page to understand how to increase the data resolution to 30-second intervals.

NQL examples

This list of query examples is designed to help you perform successful investigations in the Nexthink web interface. Go through the investigations listed below and pick the one most similar to the investigation you’re trying to complete. Copy the query and adjust it to your use case.

chevron-rightSee the start and end of VDI sessionshashtag
session.lifecycle_events
| where device.virtualization.vdi_reporting == active
| where type in [ login, connect, disconnect, logout ]
chevron-rightIdentify endpoints using VDIhashtag
chevron-rightSessions where experience was bad for at least 5 minutes during the last 4 hourshashtag

Metrics from Connectors

If you have on-prem or cloud integrations, use the appropriate inbound connectors to enrich the session data. Each connector type provides a separate set of additional metrics, as described below in the expandable sections.

chevron-rightAdditional metrics provided by Citrix CVAD and DaaS connectorshashtag
  • virtualization.desktop_broker

  • virtualization.desktop_pool

  • virtualization.disk_image

  • virtualization.environment_name

  • virtualization.hostname

  • virtualization.hypervisor_name

  • virtualization.type

  • vdi_sessions.disk_image

  • vdi_sessions.hostname

chevron-rightAdditional metrics provided by Microsoft AVD connectorhashtag
  • virtualization.desktop_broker

  • virtualization.desktop_pool

  • virtualization.environment_name

  • virtualization.hypervisor_name

  • virtualization.instance_size

  • virtualization.region

  • virtualization.type

circle-info

Collector can also populate these fields, which is handled with a higher priority. Therefore, the connectors will only enrich these fields if they are not already populated by running Collectors.

Metrics from Collectors and the VDI Client extension

VDI Experience requires installing specific agents on both VMs and client devices:

  • You must install Collector on all VMs to monitor activity and gather performance metrics within the virtual environment.

  • Depending on the type of client device and your desired level of insight, you can install one of the following agents:

    • Collector: Provides the full range of VDI metrics. This agent is intended for company-managed client devices and enables comprehensive visibility into the user experience.

    • VDI Client Extension: A lightweight agent that offers a limited set of metrics. It is designed for personal or self-managed employee devices where full Collector installation is not feasible.

circle-exclamation

Basic configuration scenario - Remote-only insights

If you only install the Collector on the VM, but not the VDI Client extension or Collector on the client device, you will collect the following initial metrics in the vdi_sessions and vd_events tables:

chevron-rightMetrics in vdi_sessionshashtag
  • agent_version

  • desktop_pool — When available for the Collector to update

  • disk_image — When available for the Collector to update

  • first_seen

  • id

  • initial_program

  • last_client.app_version — Only available for Citrix, when neither the Collector or the Client Extension is installed.

  • last_client.device.name — Only available when using a client application and not a web client.

  • last_client.device.operating_system.platform

  • last_interaction_time

  • last_seen

  • logon_server

  • name

  • region

  • remote_protocol

  • session_type

  • state

  • transport_protocol

  • uid

  • virtualization_type

chevron-rightMetrics in vdi_eventshashtag
  • bucket_duration

  • client.app_version — Only available for Citrix when neither the Collector nor the Client Extension is installed.

  • client.device.name — Only available when using a client application and not a web client.

  • client.device.operating_system.platform

  • context.location.country

  • context.location.site

  • context.location.state

  • context.location.type

  • context.organization.entity

  • end_time

  • framerate

  • health.duration_with_average_network

  • health.duration_with_average_responsiveness

  • health.duration_with_average_session

  • health.duration_with_average_vm_memory

  • health.duration_with_average_vm_processor

  • health.duration_with_average_vm_storage

  • health.duration_with_bad_client_processor

  • health.duration_with_bad_network

  • health.duration_with_bad_responsiveness

  • health.duration_with_bad_session

  • health.duration_with_bad_vm_memory

  • health.duration_with_bad_vm_processor

  • health.duration_with_bad_vm_storage

  • health.duration_with_good_client_processor

  • health.duration_with_good_network

  • health.duration_with_good_responsiveness

  • health.duration_with_good_session

  • health.duration_with_good_vm_memory

  • health.duration_with_good_vm_processor

  • health.duration_with_good_vm_storage

  • ica.input_bandwidth_available

  • ica.input_bandwidth_used

  • ica.input_session_bandwidth

  • ica.input_session_linespeed

  • ica.latency

  • ica.output_bandwidth_available

  • ica.output_bandwidth_used

  • ica.output_session_bandwidth

  • ica.output_session_linespeed

  • idle_duration

  • network_rtt

  • rdp.frame_quality

  • rdp.frames_skipped_client

  • rdp.frames_skipped_network

  • rdp.frames_skipped_server

  • rdp.tcp_bandwidth

  • rdp.tcp_receive_rate

  • rdp.tcp_send_rate

  • rdp.udp_bandwidth

  • rdp.udp_receive_rate

  • rdp.udp_send_rate

  • resolution

  • start_time

  • state

  • transport_protocol

  • user_input_delay — Not collected on Windows 10 and Server OS before 2022

  • vm.agent_version

  • vm.cpu.context_switches

  • vm.cpu.interrupt_usage

  • vm.cpu.normalized_queue_length

  • vm.cpu.normalized_usage

  • vm.cpu.usage

  • vm.memory.available

  • vm.memory.cached

  • vm.memory.installed

  • vm.memory.non_paged_pool

  • vm.memory.paged_pool

  • vm.memory.pages_output_throughput

  • vm.memory.paging_file_size

  • vm.memory.usage

  • vm.memory.used

  • vm.network.incoming_throughput

  • vm.network.outgoing_throughput

  • vm.system_disk.duration_with_average_queue_length

  • vm.system_disk.duration_with_average_read_latency

  • vm.system_disk.duration_with_average_write_latency

  • vm.system_disk.duration_with_bad_queue_length

  • vm.system_disk.duration_with_bad_read_latency

  • vm.system_disk.duration_with_bad_write_latency

  • vm.system_disk.duration_with_good_queue_length

  • vm.system_disk.duration_with_good_read_latency

  • vm.system_disk.duration_with_good_write_latency

  • vm.system_disk.name

  • vm.system_disk.queue_length

  • vm.system_disk.read_iops

  • vm.system_disk.read_latency

  • vm.system_disk.read_throughput

  • vm.system_disk.write_iops

  • vm.system_disk.write_latency

  • vm.system_disk.write_throughput

  • vm.system_volume.capacity

  • vm.system_volume.free

  • vm.system_volume.usage

Intermediate configuration scenario - Limited visibility setup

If you install the VDI Client extension on a client device in addition to Collector on the VM, you will get additional metrics in the vdi_sessions and vd_events tables, beyond those already collected and listed inVDI Experience NQL capabilities:

chevron-rightAdditional metric in vdi_sessionhashtag

last_client.plugin_version

chevron-rightAdditional metrics in vdi_eventshashtag
  • client.cpu.normalized_usage

  • client.network.active_network_adapter

  • client.network.incoming_errors

  • client.network.incoming_packets

  • client.network.incoming_throughput

  • client.network.ip_address

  • client.network.outgoing_errors

  • client.network.outgoing_packets

  • client.network.outgoing_throughput

  • client.network.wan_latency

  • client.network.wifi_signal_strength

  • client.network.wifi_transmission_rate

  • client.network.wired_link_speed

  • client.plugin_version

  • health.duration_with_average_client_processor

Advanced configuration scenario - Full visibility setup

If you install Collector (instead of the VDI Client Extension) on a client device in addition to Collector on the VM, you will gather another set of additional metrics in the vdi_sessions and vd_events tables, beyond those already collected and listed in VDI Experience NQL capabilities and VDI Experience NQL capabilities:

chevron-rightAdditional metric in vdi_sessionhashtag
  • last_client.device.collector.uid

  • last_client.device.uid

chevron-rightAdditional metrics in vdi_eventshashtag
  • context.vdi_client.location.country

  • context.vdi_client.location.site

  • context.vdi_client.location.state

  • context.vdi_client.location.type

  • context.vdi_client.organization.entity

Last updated

Was this helpful?