Overview¶
This document provides a list of PCoIP session statistics available through the Windows Management Instrumentation (WMI) interface. The PCoIP session statistics are available and can be retrieved from a host computer or virtual machine.
The PCoIP Statistics Viewer can be used to view PCoIP statistics in an easy to use graphical interface. See PCoIP Session Statistics Viewer.
Real Time Statistics
Real-time data capture is only supported in Microsoft Windows and not on Linux platforms.
Specification¶
PCoIP session statistics are updated every second. When a PCoIP session is closed, all statistics are reset to zero. If the WMI property SessionDurationSeconds stays as a non-zero value, it means the PCoIP server has crashed or has been forced to shut down. If SessionDurationSeconds changes from a non-zero to zero value, it means the PCoIP session has been closed. The WMI Namespace is root\CIMV2.
The PCoIP statistics are grouped within the following names:
- Overview
- Specification
- Scripting with WMI
- PCoIP Session General Statistics
- PCoIP Session Network Statistics
- PCoIP Session Audio Statistics
- PCoIP Session Imaging Statistics
- PCoIP Session USB Statistics
- Additional Reference
Scripting with WMI¶
Microsoft has a WMI Code Creator tool. This tool allows you to generate VBScript, C#, and VB .NET code that uses WMI to complete a management task such as querying for management data, executing a method from a WMI class, or receiving event notifications using WMI.
For more information, see Microsoft’s WMI Code Creator.
PCoIP Session General Statistics¶
WMI Class Name: Win32_PerfRawData_TeradiciPerf_PCoIPSessionGeneralStatistics
Statistic Name | Description | WMI Property Name |
---|---|---|
Session Duration Seconds | An incrementing number that represents the total number of seconds the PCoIP session has been open | SessionDurationSeconds |
Bytes Received | Total number of bytes that have been received since the PCoIP session started | BytesReceived |
Bytes Sent | Total number of bytes that have been transmitted since the PCoIP session started | BytesSent |
Packets Received | Total number of packets that have been received since the PCoIP session started Note: Not all packets are the same size |
PacketsReceived |
Packets Sent | Total number of packets that have been transmitted since the PCoIP session started Note: Not all packets are the same size |
PacketsSent |
RX Packets Lost | Total number of receive packets that have been lost since the PCoIP session started | RXPacketsLost |
TX Packets Lost | Total number of transmit packets that have been lost since the PCoIP session started | TXPacketsLost |
PCoIP Session Network Statistics¶
WMI Class Name: Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics
PCoIPSessionGeneralStatistics
In some of the calculations below, some WMI properties come from PCoIPSessionGeneralStatistics.
Statistic Name | Description | WMI Property Name |
---|---|---|
Round Trip Latency ms | Round trip latency (in milliseconds) between server and client. | RoundTripLatencyms |
RX BW kbit/sec | Overall bandwidth for incoming PCoIP packets averaged over the sampling period (in seconds). | To calculate bandwidth: (BytesReceivedsample2 – BytesReceivedsample1) X 8 / 1024 / SamplePeriod Do not use: RXBWkbitPersec** |
RX BW Peak kbit/sec | Peak bandwidth for incoming PCoIP packets within a one second sampling period. | To calculate packet loss: ∆PacketReceived = PacketsReceivedsample2 – PacketsReceivedsample1 ∆RXPacketsLost = RXPacketsLostsample2 – RXPacketsLostsample1 RXPacketLoss % = ∆RXPacketsLost / (∆RXPacketsLost + ∆PacketReceived) X 100 Do not use: RXPacketLossPercent, RXPacketLossPercent_Base |
TX BW kbit/sec | Overall bandwidth for outgoing PCoIP packets averaged over the sampling period (in seconds). | To calculate bandwidth: (BytesSentsample2 – BytesSentsample1) X 8 / 1024 / SamplePeriod Do not use: TXBWkbitPersec |
TX BW Active Limit kbit/sec | The current estimate of the available network bandwidth, updated every second. | TXBWActiveLimitkbitPersec |
TX BW Limit kbit/sec | Transmit bandwidth limit for outgoing packets as defined by the minimum of: GPO setting on client and server, local network connection, and zero client firmware negotiated value based on encryption limits. | TXBWLimitkbitPersec |
TX Packet Loss % | Percentage of transmitted packets lost during a sampling period. | To calculate packet loss: ∆PacketSent = PacketSentsample2 – PacketSentsample1 ∆TXPacketsLost = TXPacketsLostsample2 – TXPacketsLostsample1 TXPacketLoss % = ∆TXPacketsLost / (∆TXPacketsLost + ∆PacketSent) X 100 Note: The above formula is used to avoid the packet loss % from being greater than 100%. This is required due to the asynchronous nature of PacketsLost and PacketsSent. Do not use: TXPacketLossPercent, TXPacketLossPercent_Base |
PCoIP Session Audio Statistics¶
WMI Class Name: Win32_PerfRawData_TeradiciPerf_PCoIPSessionAudioStatistics
USB Audio
The following audio session statistics are not applicable to USB audio.
Statistic Name | Description | WMI Property Name |
---|---|---|
Audio Bytes Received | Total number of audio bytes that have been received since the PCoIP session started. | AudioBytesReceived |
Audio Bytes Sent | Total number of audio bytes that have been sent since the PCoIP session started. | AudioBytesSent |
Audio RX BW kbit/sec | Bandwidth for ingoing audio packets averaged over the sampling period (in seconds). | To calculate bandwidth: (AudioBytesReceivedsample2 – AudioBytesReceivedsample1) X 8 / 1024 / SamplePeriod Do not use: AudioRXBWkbitPersec |
Audio TX BW kbit/sec | Bandwidth for outgoing audio packets averaged over the sampling period (in seconds). | To calculate bandwidth: (AudioBytesSentsample2 – AudioBytesSentsample1) X 8 / 1024 / SamplePeriod Do not use: AudioTXBWkbitPersec |
Audio TX BW Limit kbit/sec | Transmit bandwidth limit for outgoing audio packets as defined by the GPO setting. | AudioTXBWLimitkbitPersec |
PCoIP Session Imaging Statistics¶
WMI Class Name: Win32_PerfRawData_TeradiciPerf_PCoIPSessionImagingStatistics
Statistic Name | Description | WMI Property Name |
---|---|---|
Imaging Bytes Received | Total number of imaging bytes that have been received since the PCoIP session started. | ImagingBytesReceived |
Imaging Bytes Sent | Total number of imaging bytes that have been sent since the PCoIP session started. | ImagingBytesSent |
Imaging RX BW kbit/sec | Bandwidth for incoming imaging packets averaged over the sampling period (in seconds). | To calculate bandwidth: (ImagingBytesReceivedsample2 – ImagingBytesReceivedsample1) X 8 / 1024 / SamplePeriod Do not use: ImagingRXBWkbitPersec |
Imaging TX BW kbit/sec | Bandwidth for outgoing imaging packets averaged over the sampling period (in seconds). | To calculate bandwidth: (ImagingBytesSentsample2 – ImagingBytesSentsample1) X 8 / 1024 / SamplePeriod Do not use: ImagingTXBWkbitPersec |
Imaging Encoded Frames/sec | The number of imaging frames which were encoded over a one second sampling period. | ImagingEncodedFramesPersec |
Imaging Changed Frames/sec | The number of imaging frames that were changed over a one second sampling period. | ImagingChangedFramesPersec |
Imaging Flip Frames/sec | The number of imaging frames received by the PCoIP Server from the device driver over a one second sampling period. | ImagingFlipFramesPersec |
Imaging Active Minimum Quality | The lowest encoded quality (0 to 100), updated every second. Note: Do not get confused this with the GPO setting. |
ImagingActiveMinimumQuality |
Imaging Decoder Capability kbit/sec | The current estimate of the decoder processing capability. A value of 0 indicates “unlimited”. | ImagingDecoderCapabilitykbitPersec |
PCoIP Session USB Statistics¶
Zero Client vs Software Client
The following USB session statistics are only available for the zero client to soft host configuration. These values are 0 for the thin (soft) client to soft host configuration.
Statistic Name | Description | WMI Property Name |
---|---|---|
USB Bytes Received | Total number of USB bytes that have been received since the PCoIP session started. | USBBytesReceived |
USB Bytes Sent | Total number of USB bytes that have been sent since the PCoIP session started. | USBBytesSent |
USB RX BW kbit/sec | Bandwidth for incoming USB packets averaged over the sampling period (in seconds). | To calculate bandwidth: (USBBytesReceivedsample2 – USBBytesReceivedsample1) X 8 / 1024 / SamplePeriod Do not use: USBRXBWkbitPersec |
USB TX BW kbit/sec | Bandwidth for outgoing USB packets averaged over the sampling period (in seconds). | To calculate bandwidth: (USBBytesSentsample2 – USBBytesSentsample1) X 8 / 1024 / SamplePeriod Do not use: USBTXBWkbitPersec |
Additional Reference¶
PowerShell Script Example with JSON Format Conversion**¶
Example of using PowerShell to query PCoIP Agent Network Statistics on a Windows remote desktop and converting the output to JSON format given below:
Query the WMI class and select the properties (counters)
$networkStats = Get-WmiObject -Class Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics
Convert the results to JSON
$jsonOutput = $networkStats | Select-Object -Property * | ConvertTo-Json
JSON Output
$jsonOutput
{
"PSComputerName": "localhost",
"RunspaceId": "746c2dd1-c781-4b5f-80ec-534c4c3b3c21",
"PSShowComputerName": false,
"__GENUS": 2,
"__CLASS": "Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics",
"__SUPERCLASS": "Win32_PerfRawData",
"__DYNASTY": "CIM_StatisticalInformation",
"__RELPATH": "Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics.Name=\"PCoIP Session 1 username\"",
"__PROPERTY_COUNT": 19,
"__DERIVATION": [
"Win32_PerfRawData",
"Win32_Perf",
"CIM_StatisticalInformation"
],
"__SERVER": "computername",
"__NAMESPACE": "root\\cimv2",
"__PATH": "\\\\computername\\root\\cimv2:Win32_PerfRawData_TeradiciPerf_PCoIPSessionNetworkStatistics.Name=\"PCoIP Session 1 username\"",
"Caption": null,
"Description": null,
"Frequency_Object": 0,
"Frequency_PerfTime": 10000000,
"Frequency_Sys100NS": 10000000,
"Name": "PCoIP Session 1 username",
"RoundTripLatencyms": 12,
"RXBWkbitPersec": 157707,
"RXBWPeakkbitPersec": 82,
"RXPacketLossPercent": 1,
"RXPacketLossPercent_Base": 208364,
"Timestamp_Object": 0,
"Timestamp_PerfTime": 877826365521,
"Timestamp_Sys100NS": 133832993600820000,
"TXBWActiveLimitkbitPersec": 73025,
"TXBWkbitPersec": 4137685,
"TXBWLimitkbitPersec": 900000,
"TXPacketLossPercent": 42,
"TXPacketLossPercent_Base": 1121939
}