VDI Experience NQL capabilities

New NQL capabilities

Desktop Virtualization uses the following tables that are specific to VDI:

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 vdi_sessions and vdi_events 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

NQL table reference

The following sections outline the range of available data in the vdi_sessions and vdi_events tables, and explains how their availability may vary depending on which agent is installed on the client device. These metrics provide detailed insights into virtual desktop sessions.

The table columns show the following information and use cases:

  • Field — NQL data model fields used by VDI Experience. For the complete data model, see the NQL data model documentation.

  • Collector — Nexthink Collector is installed on the endpoint device with the built-in VDI Client Extension. Use this setup to collect the full range of metrics from company-managed endpoint devices. For more information, see the Installing Collector documentation.

  • Standalone VDI Client Extension — Only the stand-alone VDI Client Extension is installed on the endpoint device. Use this setup for devices managed by external third parties (eg., contractors, consultants, or business partners), as well as personal or self-managed employee devices. For more information, see the Installing Collector documentation.

  • Nothing installed — Neither Collector, nor the VDI Client Extension is installed on the endpoint device. In this case, metrics are available only from the Collector running on the virtual machine, focusing solely on the status and performance of the remote desktop session.

Metrics in vdi_sessions

Field
Collector
Standalone VDI Client Extension
Nothing installed

agent_version

desktop_pool

disk_image

first_seen

id

initial_program

last_client.app_version

Only available for Citrix when the Client Extension is not enabled during the installation of the Collector.

Only available for Citrix, when neither the Collector or the Client Extension is installed.

last_client.device.collector.uid

-

-

last_client.device.name

Only available when using a client application and not a web client.

last_client.device.operating_system.platform

last_client.device.uid

-

-

last_client.plugin_version

-

last_interaction_time

last_seen

logon_server

name

region

remote_protocol

session_type

state

transport_protocol

uid

virtualization_type

Metrics in vdi_events

Field
Collector
Standalone VDI Client Extension
Nothing installed

bucket_duration

client.app_version

Only available for Citrix when the Client Extension is not enabled during the installation of the Collector

Only available for Citrix when neither the Collector nor the Client Extension is installed.

client.cpu.normalized_usage

-

client.device.collector.uid

-

-

client.device.name

Only available when using a client application and not a web client.

client.device.operating_system.platform

client.device.uid

-

-

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

Requires the ping host to be set for the Collector running in the VM.

Requires the ping host to be set for the Collector running in the VM.

-

client.network.wifi_signal_strength

-

client.network.wifi_transmission_rate

-

client.network.wired_link_speed

-

client.plugin_version

-

context.location.country

context.location.site

context.location.state

context.location.type

context.organization.entity

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

-

-

end_time

framerate

health.duration_with_average_client_processor

-

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

✓ ⚠️ Not collected on Windows 10 and Server OS before 2022

✓ ⚠️ 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

Last updated

Was this helpful?