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.

See the start and end of VDI sessions
session.lifecycle_events
| where device.virtualization.vdi_reporting == active
| where type in [ login, connect, disconnect, logout ]
Identify endpoints using VDI
devices
| where virtualization.vdi_reporting in [ inactive, active ]
Sessions where experience was bad for at least 5 minutes during the last 4 hours
vdi_sessions 
| with session.vdi_events during past 4h 
| compute time_while_bad = health.duration_with_bad_session.sum()
| where time_while_bad > 5min
| list user.name, device.name, vdi_session.name, last_interaction_time

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.

Additional metrics provided by Citrix CVAD and DaaS connectors
  • virtualization.desktop_pool

  • virtualization.type

  • virtualization.hostname

  • virtualization.hypervisor_name

  • virtualization.environment_name

  • virtualization.desktop_broker

  • virtualization.disk_image

Additional metrics provided by Microsoft AVD connector
  • virtualization.desktop_pool

  • virtualization.type

  • virtualization.hypervisor_name

  • virtualization.instance_size

  • virtualization.region

  • virtualization.environment_name

  • virtualization.desktop_broker

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:

    • CollectorProvides 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.

Collected metrics depend on the configuration scenario you select.

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:

Metrics in vdi_sessions
  • agent_version

  • desktop_pool

  • disk_image

  • 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

Metrics in vdi_events
  • 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:

Additional metric in vdi_session

last_client.plugin_version

Additional metrics in vdi_events
  • 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:

Additional metric in vdi_session
  • last_client.device.collector.uid

  • last_client.device.uid

Additional metrics in vdi_events
  • 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?