http://blog.sflow.com/2012/02/desktop-virtualization.html
Useful metrics are easily obtained for the PCoIP protocol since they
are exposed through the Windows WMI interface:
The following sFlow structure is based on the PCoIP WMI counters:
struct vdi_stats {
unsigned int sessions_current; /* number of current sessions */
unsigned int sessions_total; /* total sessions started */
unsigned int sessions_duration; /* cumulative session time (in seconds)
across all sessions, such that average
session duration = sessions_duration
/ sessions_total */
unsigned int rx_bytes; /* total bytes received */
unsigned int tx_bytes; /* total bytes sent */
unsigned int rx_packets; /* total packet received */
unsigned int tx_packets; /* total packets sent */
unsigned int rx_packets_lost; /* total received packets lost */
unsigned int tx_packets_lost; /* total sent packets lost */
unsigned int rtt_min_ms; /* minimum round trip latency with client
across all current sessions
measured in milliseconds */
unsigned int rtt_max_ms; /* maximum round trip latency with client
across all current sessions
measured in millisecond */
unsigned int rtt_avg_ms; /* average round trip latency with client
across all current sessions
measured in milliseconds */
unsigned int audio_rx_bytes; /* total bytes of audio data received */
unsigned int audio_tx_bytes; /* total bytes of audio data sent */
unsigned int audio_tx_limit; /* administrative limit on audio transmission
bandwidth (in bits per second) */
unsigned int img_rx_bytes; /* total bytes of imaging data recieved */
unsigned int img_tx_bytes; /* total bytes of imaging data sent */
unsigned int img_frames; /* total image frames encoded */
unsigned int img_qual_min; /* minimum image encoding quality across
current sessions, on a scale of 0 to 100 */
unsigned int img_qual_max; /* best image encoding quality across
current sessions, on a scale of 0 to 100 */
unsigned int img_qual_avg; /* average image encoding quality across
current sessions, on a scale of 0 to 100 */
unsigned int usb_rx_bytes; /* total bytes of usb data received */
unsigned int usb_tx_bytes; /* total bytes of usb data sent */
}
It would be useful to generalize the metrics to cover the full range
of desktop virtualization protocols.
Peter
> We have been experimenting with using sFlow to export desktop
> virtualization quality of service metrics:
>
> http://blog.sflow.com/2012/02/desktop-virtualization.html
>
> Useful metrics are easily obtained for the PCoIP protocol since they
> are exposed through the Windows WMI interface:
>
> http://pubs.vmware.com/view-50/index.jsp?topic=/com.vmware.view.integration.doc/view_integration_pcoipstats.8.6.html
It seems odd that they are dividing bits by 1024 to arrive at kilobits. I think this may be one of the first times I've encountered someone promoting power-of-two bits per second.
> The following sFlow structure is based on the PCoIP WMI counters:
>
> struct vdi_stats {
> unsigned int sessions_current; /* number of current sessions */
> unsigned int sessions_total; /* total sessions started */
> unsigned int sessions_duration; /* cumulative session time (in seconds)
> across all sessions, such that average
> session duration = sessions_duration
> / sessions_total */
> unsigned int rx_bytes; /* total bytes received */
> unsigned int tx_bytes; /* total bytes sent */
Rare is the 32 bit byte counter that doesn't wrap too soon?
rick jones
On Feb 5, 2012, at 10:56 PM, Peter Phaal wrote:We have been experimenting with using sFlow to export desktopvirtualization quality of service metrics:http://blog.sflow.com/2012/02/desktop-virtualization.htmlUseful metrics are easily obtained for the PCoIP protocol since theyare exposed through the Windows WMI interface:http://pubs.vmware.com/view-50/index.jsp?topic=/com.vmware.view.integration.doc/view_integration_pcoipstats.8.6.html
It seems odd that they are dividing bits by 1024 to arrive at kilobits. I think this may be one of the first times I've encountered someone promoting power-of-two bits per second.
The following sFlow structure is based on the PCoIP WMI counters:struct vdi_stats {unsigned int sessions_current; /* number of current sessions */unsigned int sessions_total; /* total sessions started */unsigned int sessions_duration; /* cumulative session time (in seconds)across all sessions, such that averagesession duration = sessions_duration/ sessions_total */unsigned int rx_bytes; /* total bytes received */unsigned int tx_bytes; /* total bytes sent */
Rare is the 32 bit byte counter that doesn't wrap too soon?