Docs Image

[EUC Score Toolset Documentation Start Page]

Avatar

The Avatar is a light-weight Windows system tray program that represents a Windows user in a test situation. After program launch, the Avatar icon is located in the notification area of the Windows taskbar. The Avatar tray app runs on physical or virtual machines. On click on the icon, a context menu allows to select items that open configuration dialogs or launch other applications. The Avatar executable is located in the EUCScore\Tools subfolder.

The main purpose of the Avatar is to control (run and start/stop) registered simulated workloads (“Simloads”) and collect telemetry data.

Avatar context menu

  • Launch Simload Runner: Launches the Simload Runner application located in the EucScore\Tools folder
  • Launch Telemetry Collector: Opens the Telemetry Collector GUI app and collects the telemetry data in a CSV file stored in the EucScore\Results folder
  • Open PS console: Opens a PowerShell console window that allows the input of Avatar commands
  • Export system settings: Collect system settings and export them into an XML file (not implemented, yet)
  • Avatar preferences: Open preferences dialog box to change Avatar settings (not implemented, yet)
  • Telemetry settings: Open telemetry dialog box to change performance counter settings (not implemented, yet)
  • Get help: Open Avatar help landing web page in a browser
  • Check for Updates: Update Avatar app (not implemented, yet)
  • Connect/Disconnect: Manually connect to or disconnect from Controller (not implemented, yet)
  • Close Avatar: Terminates the Avatar tray app

For security reasons, Simloads can only be controlled by the Avatar when they are registered. Each registered Simload is represented by a name string in HKCU\Software\EucScore\Simloads (per-user installation), in HKLM\Software\EucScore\Simloads (system-wide installation, requiring admin privileges), or in the [Simloads] section of the Simloads.ini file located in the Simloads folder (copy & paste installation).

IMPORTANT: Simloads are always referenced by their name, for example “SL1-NotepadEdit”. The full path of each Simload is stored as a string value, for example “C:\EucScore\Simloads\SL1-Base\SL1-NotepadEdit.exe”.

The design goal of the built-in Telemetry Collector is to capture and visualize a relatively small set of performance counters at a fixed data sample interval of one second. The Telemetry Collector functionality is integrated into Avatar and consists of two elements: a window including real-time graphs displaying the usage of system resources and a process that captures and stores performance data in a file. The selection if one of the two or both elements are active on launch is configured in the Avatar preferences.

A click on this menu item (or entering a Telemetry Collector launch command in the console) activates the Telemetry Collector functionality. When the Telemetry Collector is active, the menu item shows “Stop Telemetry Collector”. A click on this menu item stops data collection, closes the window including the real-time graphs and changes the menu item string back to “Launch Telemetry Collector”.

Avatar

The standard telemetry settings are stored in TelemetryDataConfig.xml located in the Tools\Telemetry folder. In addition to the standard Windows performance counters there are several specific telemetry items supported by Telemetry Collector. The Category Names or Instance Names of these additional telemetry items have the prefix "TC::" in the TelemetryDataConfig.xml file.

  • GPU Frame Buffer: Total committed memory used by the GPU.
  • GPU Load: Percentage of elapsed time that the GPU spends to execute graphical operations. Valid Counter Names are those that are available in the GPU Performance tab in Task Manager (such as 3D, Video Encode, Video Decode or Video Processing).
  • Network Received: Kbytes per second received across all network adapters.
  • Network Sent: Kbytes per second sent across all network adapters.
  • Session CPU: Percentage of processor time consumed by the user session.

The performance data collected by Telemetry Collector every second is stored in a CSV file. The data file name is Telemetry_<Computername>_<Username>_YYYY-MM-DD-HH-MM-SS.csv. YYYY-MM-DD represents the date and HH-MM-SS the time when the data collection was started. An example is Telemetry_SBOOK15_Benny_2021-12-13-20-15-01.csv.

The CSV file is saved in the Results folder. The location of the Results folder is stored in the registry, either in HKCU\ SOFTWARE\ EucScore\ Folders\ Results or in HKLM\ SOFTWARE\ EucScore\ Folders \Results depending on whether the installation was executed in per-user mode or in administrative context. A fallback registration mechanism is the Simloads.ini file located in <InstallFolder>\Simloads. From the Tools folder, the file can always be reached through ..\Simloads\Simloads.ini. If neither registry entries nor the Simloads.ini file exist, the target location is the public documents folder, typically c:\Users\Public\Documents\.

PowerShell Integration

The PowerShell console controls all Avatar features from the command line. When the PowerShell console is launched from the Avatar menu, the required EUC Score module is already loaded. When using a standard PowerShell console, the following command imports the EUC Score module:

  • Import-Module -Name C:\EUCScore\Tools\PSModule\EucScorePSModule

Use Get-Command to get an overview of all available cmdlets. Get-Help provides syntax information for each cmdlet.

  • Get-Command -Module EucScorePSModule

All installed Simloads are registered in the Windows System as part of the installation process. The following command returns an object that includes registered Simload names and paths. Name and Path are object properties the can be accessed through .Name and .Path.

  • List-EucSimloadItem

The Simload PowerShell commands in the Avatar console are directly related to the parameters of running a Simload from the command line. Only registered Simloads can be controlled by Avatar console commands.

  • Run-EucSimload -SimloadName <string> -Seconds <int> [-Telemetry] [-x <int> -y <int> [-width <int> -height <int>]]
  • Start-EucSimload -SimloadName <string> -TempObject <string> [-x <int> -y <int> [-width <int> -height <int>]]
  • Stop-EucSimload -SimloadName <string> -TempObject <string>

The -Telemetry parameter in Run-EucSimload starts the Telemetry Collector and collects performance data for the number of seconds configured in -Seconds. The file name is set to Telemetry_<Computername>_<Username>_<Simload>_YYYY-MM-DD-HH-MM-SS.csv.

Collecting telemetry data independently of Simloads can be started and stopped from the command line.

  • Start-EucTelemetryCollector -Id <string>
  • Stop-EucTelemetryCollector

The optional parameter <-Id> allows to change the standard file name to Telemetry_<Computername>_<Username>_<Id>_YYYY-MM-DD-HH-MM-SS.csv.