— PROJECT NAME
Horizon Agent Remote Experience Console
— CLIENT
VMware Intern Program
— ROLE
Intern, Sole Designer and Developer
— DATE
May 2021 – July 2021
— TECHNOLOGIES USED
C# WPF
The Horizon Agent Remote Experience Console is a prototype application within an Agent virtual machine that expands on the existing Performance Tracker application and provides the end user extensive insights into the configuration, health, and performance of the VM using data provided by Horizon Monitoring Service Agent.
This project was my internship project with VMware, which I recovered from the archived codebase. Any missing data in the images or video is due to the project relying on old data structures that have been modified after finishing the project.
Project Justification
VMware Horizon uses lots of components to provide users the best digital workspace experience, but no in-house software exists to get insight into its core services and features. The existing Performance Tracker app provides limited data for end users. So, customers must use third-party tools to analyze, monitor, and troubleshoot issues. To resolve this issue, Remote Experience Console leverages the existing Horizon features to provide a single view into all metrics.
Use Cases
“As a support engineer or administrator, I want to view the key metrics, telemetry, or events for the guest OS and Horizon Agent.”
“As a Horizon Agent developer, I want to send key metrics and events to support troubleshooting and performance analysis of the Agent deployments.”
“As an end user, I want to have insights into my VM’s health so I can quickly identify issues within my VM.”
Existing Performance Tracker
While the existing Horizon Performance Tracker provides some real-time performance data as well as info on the Client machine, the information provided is limited and does not convey all of the Horizon Monitor metrics. With this implementation, admins, developers, and end users would need to use another app such as Grafana to view the VM’s metrics.
The Remote Experience Console would instead allow users to view the data within the VM itself, providing extensive information about the VM in a convenient location.
Final Product
The goal for the Remote Experience Console App is to expand on the existing Performance Tracker app. Rather than reading a subset of the Horizon Monitoring Service Agent metrics, the Remote Experience Console lets users view all data being sent by the API. This data is received in JSON format and then converted to C#, where it will then be formatted depending on the type of data received. For instance, boolean data is converted to icons in the view, while enumerated data is color-coded to aid the user in understanding the data presented. The data presented in the app is organized into several sections based on the metrics that are being received by Horizon Monitoring Service Agent.
Client Feedback
Client was pleased with the outcome, and I was successfully able to convey the value of being able to display all of the Horizon Monitoring Service Agent metrics within a desktop app in a virtual machine. As a result of this internship project, I was given a full-time offer at VMware.
A roadmap for suggested future improvements were identified with the product. These included: