Session Metrics Library

Overview

This document is intended to be a repository of Session Metrics Definitions that can be readily imported to Login Enterprise via the Public API. Each session metric definition below is presented in its JSON for this reason. Simply copy the desired JSON definition from below, modify the attributes as needed (Name, Display Name, Instance) and use it within the Swagger API interface. Using the Swagger API interface is out of scope for this article, but more information can be found within this article: Creating a Session Metric through the API

For more information on Session Metrics generally, see this article: Session Metrics

 

Session Metric Definitions

Performance Monitor 

  • Processor
  • Process
  • System
  • Memory
  • Paging File
  • Physical Disk
  • Network Interface

WMI

  • GPU Engine
  • Citrix
  • Horizon

Performance Monitor

Processor

% Processor Time

% Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread. It is calculated by measuring the percentage of time that the processor spends executing the idle thread and then subtracting that value from 100%.

{
"name": "Processor % Processor Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Processor",
"counterName": "% Processor Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "% Processor Time"
},
"tag": "cpu"
}

 

% Privileged Time

% Privileged Time is the percentage of elapsed time that the process threads spent executing code in privileged mode. When a Windows system service in called, the service will often run in privileged mode to gain access to system-private data.

{
"name": "Processor % Privileged Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Processor",
"counterName": "% Privileged Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "% Privileged Time"
},
"tag": "cpu"
}

 

% User Time

% User Time is the percentage of elapsed time the processor spends in the user mode. User mode is a restricted processing mode designed for applications, environment subsystems, and integral subsystems.

{
"name": "Processor % User Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Processor",
"counterName": "% User Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "% User Time"
},
"tag": "cpu"
}

 

% Interrupt Time

% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices.

{
"name": "Processor % Interrupt Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Processor",
"counterName": "% Interrupt Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "% Interrupt Time"
},
"tag": "cpu"
}

 

Interrupts/sec

Interrupts/sec is the average rate, in incidents per second, at which the processor received and serviced hardware interrupts. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards, and other peripheral devices.

{
"name": "Processor Interrupts/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Processor",
"counterName": "Interrupts/sec",
"counterInstance": "_Total",
"unit": "Interrupts/sec",
"displayName": "Interrupts/sec"
},
"tag": "cpu"
}

 

Process

% Processor Time

% Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread. It is calculated by measuring the percentage of time that the processor spends executing the idle thread and then subtracting that value from 100%.

{
"name": "<PROCESS_HERE> % Processor Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "% Processor Time",
"counterInstance": "<PROCESS_HERE>",
"unit": "%",
"displayName": "<PROCESS_HERE> % Processor Time"
},
"tag": "process"
}

 

% Privileged Time

% Privileged Time is the percentage of elapsed time that the process threads spent executing code in privileged mode. When a Windows system service in called, the service will often run in privileged mode to gain access to system-private data.

{
"name": "<PROCESS_HERE>% Privileged Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "% Privileged Time",
"counterInstance": "<PROCESS_HERE>",
"unit": "%",
"displayName": "<PROCESS_HERE> % Privileged Time"
},
"tag": "process"
}

 

% User Time

% User Time is the percentage of elapsed time the processor spends in the user mode. User mode is a restricted processing mode designed for applications, environment subsystems, and integral subsystems.

{
"name": "<PROCESS_HERE> % User Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "% User Time",
"counterInstance": "<PROCESS_HERE>",
"unit": "%",
"displayName": "<PROCESS_HERE> % User Time"
},
"tag": "process"
}

 

Handle Count

The total number of handles currently open by this process. This number is equal to the sum of the handles currently open by each thread in this process.

{
"name": "<PROCESS_HERE> Handle Count",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "Handle Count",
"counterInstance": "<PROCESS_HERE>",
"unit": "Count",
"displayName": "<PROCESS_HERE> Handle Count"
},
"tag": "process"
}

 

IO Data Bytes/sec

The rate at which the process is reading and writing bytes in I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.

{
"name": "<PROCESS_HERE> IO Data Bytes/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "IO Data Bytes/sec",
"counterInstance": "<PROCESS_HERE>",
"unit": "Bytes",
"displayName": "<PROCESS_HERE> IO Data Bytes/sec"
},
"tag": "process"
}

 

IO Read Bytes/sec

The rate at which the process is reading bytes from I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.

{
"name": "<PROCESS_HERE> IO Read Bytes/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "IO Read Bytes/sec",
"counterInstance": "<PROCESS_HERE>",
"unit": "Bytes",
"displayName": "<PROCESS_HERE> IO Read Bytes/sec"
},
"tag": "process"
}

 

IO Write Bytes/sec

The rate at which the process is writing bytes to I/O operations. This counter counts all I/O activity generated by the process to include file, network and device I/Os.

{
"name": "<PROCESS_HERE> IO Write Bytes/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "IO Write Bytes/sec",
"counterInstance": "<PROCESS_HERE>",
"unit": "Bytes",
"displayName": "<PROCESS_HERE> IO Write Bytes/sec"
},
"tag": "process"
}

 

Working Set

Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process.

{
"name": "<PROCESS_HERE> Working Set",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Process",
"counterName": "Working Set",
"counterInstance": "<PROCESS_HERE>",
"unit": "Bytes",
"displayName": "<PROCESS_HERE> Working Set"
},
"tag": "process"
}

 

System

Processor Queue Length

The Processor performance object consists of counters that measure aspects of processor activity.

{
"name": "Processor Queue Length",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "System",
"counterName": "Processor Queue Length",
"counterInstance": "",
"unit": "Count",
"displayName": "Processor Queue Length"
},
"tag": "cpu"
}

 

System Up Time

System Up Time is the elapsed time (in seconds) that the computer has been running since it was last started. This counter displays the difference between the start time and the current time.

{
"name": "System Up Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "System",
"counterName": "System Up Time",
"counterInstance": "",
"unit": "Seconds",
"displayName": "System Up Time"
},
"tag": "system"
}

 

Memory

Available MBytes

Available MBytes is the amount of physical memory, in Megabytes, immediately available for allocation to a process or for system use. It is equal to the sum of memory assigned to the standby (cached), free and zero page lists.

{
"name": "Memory Available MBytes",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Memory",
"counterName": "AvailableMBytes",
"counterInstance": "",
"unit": "MB",
"displayName": "Available MBytes"
},
"tag": "memory"
}

 

Pages/sec

Pages/sec is the rate at which pages are read from or written to disk to resolve hard page faults. This counter is a primary indicator of the kinds of faults that cause system-wide delays.

{
"name": "Memory Pages/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Memory",
"counterName": "Pages/sec",
"counterInstance": "",
"unit": "Pages/sec",
"displayName": "Pages/sec"
},
"tag": "memory"
}

 

% Committed Bytes In Use

% Committed Bytes In Use is the ratio of Memory\\Committed Bytes to the Memory\\Commit Limit.

{
"name": "Memory % Committed Bytes In Use",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Memory",
"counterName": "% Committed Bytes In Use",
"counterInstance": "",
"unit": "%",
"displayName": "% Committed Bytes In Use"
},
"tag": "memory"
}

 

Paging File

% Usage

The amount of the Page File instance in use in percent.

{
"name": "Paging File % Usage",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Paging File",
"counterName": "% Usage",
"counterInstance": "_Total",
"unit": "%",
"displayName": "Paging File % Usage"
},
"tag": "memory"
}

 

PhysicalDisk

% Disk Read Time

% Disk Read Time is the percentage of elapsed time that the selected disk drive was busy servicing read requests.

{
"name": "PhysicalDisk % Disk Read Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "% Disk Read Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "PhysicalDisk % Disk Read Time"
},
"tag": "disk"
}

 

% Disk Time

% Disk Time is the percentage of elapsed time that the selected disk drive was busy servicing read or write requests.

{
"name": "PhysicalDisk % Disk Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "% Disk Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "PhysicalDisk % Disk Time"
},
"tag": "disk"
}

 

% Disk Write Time

% Disk Write Time is the percentage of elapsed time that the selected disk drive was busy servicing write requests.

{
"name": "PhysicalDisk % Disk Write Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "% Disk Write Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "PhysicalDisk % Disk Write Time"
},
"tag": "disk"
}

 

% Disk Idle Time

% Idle Time reports the percentage of time during the sample interval that the disk was idle.

{
"name": "PhysicalDisk % Disk Idle Time",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "% Disk Idle Time",
"counterInstance": "_Total",
"unit": "%",
"displayName": "PhysicalDisk % Disk Idle Time"
},
"tag": "disk"
}

 

Current Disk Queue Length

Current Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected. It also includes requests in service at the time of the collection. This is a instantaneous snapshot, not an average over the time interval. For good performance, this difference should average less than two.

{
"name": "PhysicalDisk Current Disk Queue Length",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Current Disk Queue Length",
"counterInstance": "_Total",
"unit": "Count",
"displayName": "PhysicalDisk Current Disk Queue Length"
},
"tag": "disk"
}

 

Avg. Disk Sec/Read

Avg. Disk sec/Read is the average time, in seconds, of a read of data from the disk.

{
"name": "PhysicalDisk Avg. Disk sec/Read",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Avg. Disk sec/Read",
"counterInstance": "_Total",
"unit": "Seconds",
"displayName": "PhysicalDisk Avg. Disk sec/Read"
},
"tag": "disk"
}

 

Avg. Disk Sec/Write

Avg. Disk sec/Write is the average time, in seconds, of a write of data to the disk.

{
"name": "PhysicalDisk Avg. Disk sec/Write",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Avg. Disk sec/Write",
"counterInstance": "_Total",
"unit": "Seconds",
"displayName": "PhysicalDisk Avg. Disk sec/Write"
},
"tag": "disk"
}

 

Avg. Disk Sec/Transfer

Avg. Disk sec/Transfer is the time, in seconds, of the average disk transfer.

{
"name": "PhysicalDisk Avg. Disk sec/Transfer",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Avg. Disk sec/Transfer",
"counterInstance": "_Total",
"unit": "Seconds",
"displayName": "PhysicalDisk Avg. Disk sec/Transfer"
},
"tag": "disk"
}

 

Disk Reads/sec

Disk Reads/sec is the rate of read operations on the disk.

{
"name": "PhysicalDisk Disk Reads/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Disk Reads/sec",
"counterInstance": "_Total",
"unit": "OPS",
"displayName": "PhysicalDisk Disk Reads/sec"
},
"tag": "disk"
}

 

Disk Writes/sec

Disk Writes/sec is the rate of write operations on the disk.

{
"name": "PhysicalDisk Disk Writes/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Disk Writes/sec",
"counterInstance": "_Total",
"unit": "OPS",
"displayName": "PhysicalDisk Disk Writes/sec"
},
"tag": "disk"
}

 

Disk Bytes/sec

Disk Bytes/sec is the rate bytes are transferred to or from the disk during write or read operations.

{
"name": "PhysicalDisk Disk Bytes/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "PhysicalDisk",
"counterName": "Disk Bytes/sec",
"counterInstance": "_Total",
"unit": "Bytes",
"displayName": "PhysicalDisk Disk Bytes/sec"
},
"tag": "disk"
}

 

Network Interface

Bytes Received/sec

Bytes Received/sec is the rate at which bytes are received over each network adapter, including framing characters.

{
"name": "Network Interface Bytes Received/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Bytes Received/sec",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Bytes",
"displayName": "Network Interface Bytes Received/sec"
},
"tag": "network"
}

 

Bytes Sent/sec

Bytes Sent/sec is the rate at which bytes are sent over each network adapter, including framing characters.

{
"name": "Network Interface Bytes Sent/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Bytes Sent/sec",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Bytes",
"displayName": "Network Interface Bytes Sent/sec"
},
"tag": "network"
}

 

Bytes Total/sec

Bytes Total/sec is the rate at which bytes are sent and received over each network adapter, including framing characters. Network Interface\Bytes Total/sec is a sum of Network Interface\Bytes Received/sec and Network Interface\Bytes Sent/sec.

{
"name": "Network Interface Bytes Total/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Bytes Total/sec",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Bytes",
"displayName": "Network Interface Total Bytes/sec"
},
"tag": "network"
}

 

Output Queue Length

Output Queue Length is the length of the output packet queue (in packets). If this is longer than two, there are delays and the bottleneck should be found and eliminated, if possible. Since the requests are queued by the Network Driver Interface Specification (NDIS) in this implementation, this will always be 0.

{
"name": "Network Interface Output Queue Length",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Output Queue Length",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Count",
"displayName": "Network Interface Output Queue Length"
},
"tag": "network"
}

 

Packets/sec

Packets/sec is the rate at which packets are sent and received on the network interface.

{
"name": "Network Interface Packets/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Packets/sec",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Packets",
"displayName": "Network Interface Packets/sec"
},
"tag": "network"
}

 

Packets Sent/sec

Packets Sent/sec is the rate at which packets are sent on the network interface.

{
"name": "Network Interface Packets Sent/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Packets Sent/sec",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Packets",
"displayName": "Network Interface Packets Sent/sec"
},
"tag": "network"
}

 

Packets Received/sec

Packets Received/sec is the rate at which packets are received on the network interface.

{
"name": "Network Interface Packets Received/sec",
"type": "PerformanceCounter",
"measurement": {
"counterCategory": "Network Interface",
"counterName": "Packets Received/sec",
"counterInstance": "<INTERFACE_HERE>",
"unit": "Packets",
"displayName": "Network Interface Packets Received/sec"
},
"tag": "network"
}

 

WMI

GPU Engine % Utilization

GPU Engine % Utilization is the proportion of time the GPU (Graphics Processing Unit) engine is actively processing data compared to its total available processing time. This metric indicates how much of the GPU's capabilities are being used over a given period, with higher percentages suggesting more intensive use of the GPU's processing power.

Note: the below measurements will capture the min, max, average, and total GPU % Utilization across all instances. Simply delete the measurements in the query below that you do not wish to collect.

{
"type": "WmiQuery",
"wmiQuery": "SELECT UtilizationPercentage FROM Win32_PerfFormattedData_GPUPerformanceCounters_GPUEngine",
"namespace": "root\\cimv2",
"instanceField": "Name",
"measurements": [
  {
"propertyName": "UtilizationPercentage",
    "summarizeOperation": "min",
    "displayName": "GPU Min Utilization %",
"unit": "%"
  },
  {
"propertyName": "UtilizationPercentage",
    "summarizeOperation": "max",
    "displayName": "GPU Max Utilization %",
"unit": "%"
  },
  {
    "propertyName": "UtilizationPercentage",
    "summarizeOperation": "avg",
    "displayName": "GPU Avg Utilization %",
    "unit": "%"
  },
{
  "propertyName": "UtilizationPercentage",
    "summarizeOperation": "sum",
  "displayName": "GPU Sum Utilization %",
    "unit": "%
},
  {
  "propertyName": "UtilizationPercentage",
    "summarizeOperation": "none",
    "displayName": "GPU None Utilization %",
    "unit": "%"
  }
 ],
"tag": "gpu"
}

 

Citrix 

Network Latency

Network latency is the delay that occurs while transmitting data over the network.

{ 
    "type": "WmiQuery",
    "wmiQuery": "SELECT NetworkLatency FROM Citrix_Euem_RoundTrip",
    "namespace": "root\\Citrix\\EUEM",
    "instanceField": "InstanceId",
    "measurements": [
      {
            "propertyName": "NetworkLatency",
            "summarizeOperation": "none",
            "displayName": "Network Latency",
            "unit": "ms"
      }
  ],
    "tag": "citrix"
}

ICA RTT

ICA RTT is the time delay experienced between the user making an action, and the screen's graphical response. This includes the ICA Latency, and any processing required to deliver the application or desktop. This is an indicator for sluggishness.

{ 
    "type": "WmiQuery",
    "wmiQuery": "SELECT RoundtripTime FROM Citrix_Euem_RoundTrip",
    "namespace": "root\\Citrix\\EUEM",
    "instanceField": "InstanceId",
    "measurements": [
      {
            "propertyName": "RoundtripTime",
            "summarizeOperation": "none",
            "displayName": "ICA RTT",
            "unit": "ms"
      }
  ],
    "tag": "citrix"
}

Output Bandwidth Used vs. Availability

Output Bandwidth Used is the amount of data being transmitted from the Citrix VDI to the user’s device to display sessions to users and support any other interaction channels like audio. Output Bandwidth Available is a measure of the total bandwidth available to transmit data from the Citrix VDI to the user’s device. Comparing these two counters can help admin determine whether output bandwidth is a bottleneck.

{ 
"type": "WmiQuery",
 "wmiQuery": "SELECT OutputBandwidthAvailable, OutputBandwidthUsed FROM Citrix_Euem_RoundTrip",
 "namespace": "root\\Citrix\\EUEM",
 "instanceField": "InstanceId",
 "measurements": [
{
"propertyName": "OutputBandwidthAvailable",
    "summarizeOperation": "none",
"displayName": "OutputBandwidthAvailable",
    "unit": "Mbps"
},
{
    "propertyName": "OutputBandwidthUsed",
    "summarizeOperation": "none",
    "displayName": "OutputBandwidthUsed",
    "unit": "Mbps"
  }

  ],
    "tag": "citrix"
}

Input Bandwidth Usage vs. Availability

Input Bandwidth Usage is the amount of data being transmitted from the user’s device to Citrix VDI to transmit the user’s inputs to sessions. Input Bandwidth Available is a measure of the total bandwidth available to transmit data from the user’s device to Citrix VDI. 

{ 
"type": "WmiQuery",
 "wmiQuery": "SELECT InputBandwidthAvailable, InputBandwidthUsed FROM Citrix_Euem_RoundTrip",
 "namespace": "root\\Citrix\\EUEM",
 "instanceField": "InstanceId",
 "measurements": [
{
"propertyName": "InputBandwidthAvailable",
    "summarizeOperation": "none",
"displayName": "InputBandwidthAvailable",
    "unit": "Mbps"
},
{
    "propertyName": "InputBandwidthUsed",
    "summarizeOperation": "none",
    "displayName": "InputBandwidthUsed",
    "unit": "Mbps"
  }

  ],
    "tag": "citrix"
}

Tips:

If collecting all Citrix_Euem_RoundTrip counters, combine the WMI queries for optimized performance, as shown below:

{ 
    "type": "WmiQuery",
    "wmiQuery": "SELECT NetworkLatency, RoundtripTime, InputBandwidthAvailable, InputBandwidthUsed, OutputBandwidthAvailable, OutputBandwidthUsed FROM Citrix_Euem_RoundTrip",
    "namespace": "root\\Citrix\\EUEM",
    "instanceField": "InstanceId",
    "measurements": [
  {
      "propertyName": "NetworkLatency",
         "summarizeOperation": "none",
         "displayName": "Network Latency",
      "unit": "ms"
     },
{
         "propertyName": "RoundtripTime",
         "summarizeOperation": "none",
         "displayName": "ICA RTT",
         "unit": "ms"
      },
{
"propertyName": "InputBandwidthAvailable",
    "summarizeOperation": "none",
"displayName": "InputBandwidthAvailable",
    "unit": "Mbps"
},
{
  "propertyName": "InputBandwidthUsed",
  "summarizeOperation": "none",
  "displayName": "InputBandwidthUsed",
  "unit": "Mbps"
},
{
"propertyName": "OutputBandwidthAvailable",
    "summarizeOperation": "none",
"displayName": "OutputBandwidthAvailable",
    "unit": "Mbps"
},
{
  "propertyName": "OutputBandwidthUsed",
  "summarizeOperation": "none",
  "displayName": "OutputBandwidthUsed",
  "unit": "Mbps"
}

  ],
    "tag": "citrix"
}

 

Horizon

Blast Protocol Frames Per Second

Frames Per Second measures the number of frames that are transmitted every second from a virtual desktop to the Horizon client device, using the VMware Blast display protocol. Within Horizon environments, this allows for assessing the visual performance and smoothness of the session-- a crucial component in understanding the end-user experience. 

{
"type": "WmiQuery",
"wmiQuery": "SELECT Framespersecond FROM Win32_PerfFormattedData_Counters_VMwareBlastImagingCounters",
"namespace": "root\\cimv2",
"instanceField": "Name",
"measurements": [
  {
"propertyName": "Framespersecond",
    "summarizeOperation": "none",
    "displayName": "Frames Per Second None",
    "unit": "Frames Per Second"
  }
  ],
"tag": "horizon"
}

 

Blast Bytes Transmitted vs. Bytes Received 

Bytes Transmitted reflects the total number of bytes for imaging data that have been transmitted for a Blast session (server -> client), while Received Bytes reflects the number of bytes for imaging data that have been received for a Blast session (client -> server).

{
"type": "WmiQuery",
"wmiQuery": "SELECT ReceivedBytes, TransmittedBytes FROM Win32_PerfFormattedData_Counters_VMwareBlastImagingCounters",
"namespace": "root\\cimv2",
"instanceField": "Name",
"measurements": [
  {
"propertyName": "ReceivedBytes",
    "summarizeOperation": "none",
    "displayName": "Received Bytes",
    "unit": "Bytes"
  },

"propertyName": "TransmittedBytes",
    "summarizeOperation": "none",
    "displayName": "Transmitted Bytes",
    "unit": "Bytes"
  }
],
"tag": "horizon"
}

Tips:

If collecting all Win32_PerfFormattedData_Counters_VMwareBlastImagingCounters counters, combine the WMI queries for optimized performance, as shown below:

{
"type": "WmiQuery",
"wmiQuery": "SELECT Framespersecond, ReceivedBytes, TransmittedBytes FROM Win32_PerfFormattedData_Counters_VMwareBlastImagingCounters",
"namespace": "root\\cimv2",
"instanceField": "Name",
"measurements": [
  {
"propertyName": "Framespersecond",
    "summarizeOperation": "none",
    "displayName": "Frames Per Second None",
    "unit": "Frames Per Second"
  },
{
"propertyName": "ReceivedBytes",
    "summarizeOperation": "none",
    "displayName": "Received Bytes",
    "unit": "Bytes"
  },

"propertyName": "TransmittedBytes",
  "summarizeOperation": "none",
  "displayName": "Transmitted Bytes",
  "unit": "Bytes"
  }
  ],
"tag": "horizon"
}

PCoIP Round Trip Time

This is the Round trip latency in milliseconds between the Horizon Agent and the Horizon Client, i.e. the Launcher and the Horizon session.

{
"type": "WmiQuery",
"wmiQuery": "SELECT RoundTripLatencyms FROM Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics",
"namespace": "root\\cimv2",
"instanceField": "Name",
"measurements": [
{
      "propertyName": "RoundTripLatencyms",
      "summarizeOperation": "none",
      "displayName": "PCoIP RTT",
      "unit": "ms"
}
],
"tag": "horizon"
}

Related to