login vsi company logo login vsi company logo 250x40

 

Get the best possible VDI performance, density and availability with Login VSI
Our Solutions

Warning

JUser: :_load: Unable to load user with ID: 19633

Login VSI Workload Customization - eDrawings

Login VSI Workload Customization - eDrawings

Login VSI supports workload customization, this way you can add your own applications to a workload to generate load on your environment. But how does workload customization work? In this blog post I will describe how to start and how to create a custom workload with the application eDrawings.

Define your goal

What do you want to achieve with the workload customization? There are different scenarios, you can add an application to the workload and measure the impact compared to workload without the application. This way you can guarantee you have enough recourses to run the application on a large scale. It is also possible to measure the application start time and if possible improve the start time. Another case is measuring the impact on the back-end, do I have enough recourses on the back-end to deliver the information? Define what you want to achieve with workload customization, this can help you with creating the workload. In this blog post my goal is to measure the impact of an application and collect the application start time.

The average user

What does the average user do in the application you are going to add to the workload? That is a hard question but let’s start simple. In this blog post I will use SolidWorks eDrawings as an example. My example users are using the application to review drawings that are created by another department. They will open a drawing rotate the 3D drawing, disassemble and finally close the application. Please remember, you can always extend the workload actions, so start simple.

Prepare segment

At first we need to make sure there are no unexpected pop-ups. With new users the application can provide messages about settings, auto updates or just help tips. If these pop-ups are always shown you can create this within the workload otherwise you need to prevent this.

edrawings product registration

We are going to prevent the registration pop-up. You can use tools like Regshot to detect which changes are made when you disable the pop-up. So in my example I need a registry value to be created to prevent the registration pop-up.

Within the prepare segment we will create a new VSI_RegWrite which will create the required registry value. It is recommended to add a comment so you remember why it is added.

VSI_RegWrite("Workload", "HKEY_CURRENT_USER\Software\eDrawings\e2014\General", "Activated", "REG_DWORD", "1")

Creating the library

eDrawing uses the file type association .easm. When we open an .easm file the drawing is opened directly. To get the file on the target machine we are going to create a library which contains .easm files. The example file can be found here.

Within the {VSIshare}\_VSI_Content\ directory we can create a new folder called easm. Here we are storing the files and rename those with numbers as seen in the screenshot.

edrawings content library easm files

The next step is to add the .easm file type association in the datalocation.ini. The .ini is located in the {VSIshare}\_VSI_Configuration\_CurrentTest\ directory. Create under the [Library] section a new entry as followed:

easm=<amount>

edrawings datalocation easm added

At the above screenshot we have defined 5 .eams files located on the VSIshare that we can use within the workload.

Creating the workload

So we are going to use the file type association to open the workload file. First we need to be sure the file is copied from the VSIshare to the target machine. For this action we can use the VSI_Random_File_Copy command which will copy a random file from the library we created earlier.

VSI_Random_File_Copy("eDraw1", "EASM", "%VSI_Userhome%\EASM1.easm")

Now that we have the file we can open the application with the following command.

App_Start("eDraw1", "", "%VSI_Userhome%\EASM1.easm", "Title", "eDrawings")

We need to make sure the application is started and active, this can be done by a App_Focus.

App_Focus("eDraw1", "Title", "eDrawings", "", "Maximize")

When we are sure the application is open we can send the keystrokes to rotate the drawing. Earlier on we have learned the example user is rotating and disassemble the drawing. We can achieve this by using the arrows keys and “e” to disassemble. We are adding this with the following commands:

VSI_Type_Fixed("eDraw1", "{left}{left}{left}{left}{left}{left}")
VSI_Type_Fixed("eDraw1", "{down}{down}{down}{down}{down}{down}")
VSI_Type_Fixed("eDraw1", "{left}{left}{left}{left}{left}{left}")
VSI_Type_Fixed("eDraw1", "{down}{down}{down}{down}{down}{down}")
VSI_Type_Fixed("eDraw1", "e")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
VSI_Type_Fixed("eDraw1", "e")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")

Finally we are going to close the application with the App_Close command.

App_Close("eDraw1", "Title", "eDrawings")

The next step will be testing this on a target machine. It is recommended to save this in a separate workload before combining this with an existing workload. This way we are sure the custom workload is working properly. Now it is possible to combine it with an existing workload.

Complete eDrawings workload:

#WLProp:Version#1.0.0
#WLProp:Date#2013-10-11
#WLProp:Description#The eDrawing Workload
##### Start segment Prepare
Segment("Workload", "Prepare")
 
# Skip eDrawing registration screen
VSI_RegWrite("Workload", "HKEY_CURRENT_USER\Software\eDrawings\e2014\General", "Activated", "REG_DWORD", "1")
 
# Random wait before starting workload
Workload_RandomIdle("Workload", 5, %VSI_RandomInitialWait%, "Waiting to start workload")
 
# Set mouse position
VSI_Mouse_Position("Workload")
 
##############################################################
##### Start segment 1 - eDrawing                         #####
##############################################################
Segment("Workload", 1)
 
VSI_Random_File_Copy("eDraw1", "EASM", "%VSI_Userhome%\EASM1.easm")
App_Start("eDraw1", "", "%VSI_Userhome%\EASM1.easm", "Title", "eDrawings")
App_Focus("eDraw1", "Title", "eDrawings", "", "Maximize")
VSI_Type_Fixed("eDraw1", "{left}{left}{left}{left}{left}{left}")
VSI_Type_Fixed("eDraw1", "{down}{down}{down}{down}{down}{down}")
VSI_Type_Fixed("eDraw1", "{left}{left}{left}{left}{left}{left}")
VSI_Type_Fixed("eDraw1", "{down}{down}{down}{down}{down}{down}")
VSI_Type_Fixed("eDraw1", "e")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
VSI_Type_Fixed("eDraw1", "e")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
VSI_Type_Fixed("eDraw1", "{up}{up}{up}{up}{up}{up}{up}{up}{up}")
VSI_Type_Fixed("eDraw1", "{right}{right}{right}{right}{right}")
App_Close("eDraw1", "Title", "eDrawings")

Please note: For the VSImax measurements the VSI_Timer() command needs to be added to the workload.

Conclusion

The Login VSI meta language lets you easily add custom applications to the workloads. Before starting these are some things to remember:

  • A Login VSI Pro license is required for workload customization.
  • Define your goal, what do you want to achieve with the customization?
  • Start with basic actions, you can always extend the workload.
  • Test the specific application before adding it to an existing workload.

This blog was originally published on Logit Blog.

About the author

Tags: How-to, Login VSI, Workloads

Popular Blogs

Login VSI - Press Release - IGEL - Login VSI Partner to Optimize End User Computing Experience Image

[Press Release] IGEL Partners with Login VSI to Optimize the End User Computing Experience

Login PI enables organizations to better protect the performance and availability of their IGEL OS-powered virtual desktop environments Continue Reading
Login VSI - Blog - Login PI Blog Teaser Image - Windows Virtual Desktop: How To Monitor User Experience With Login PI

Windows Virtual Desktop – How to Monitor User Experience?

Microsoft has just announced the public preview of their new Windows Virtual Desktop (WVD) offering at Microsoft Ignite on Tour in Amsterdam today. For those of you who’ve not followed the rumors or the private beta, here’s the outline... Continue Reading
Login VSI Blog - Teaser Image - A Practical Guide to VDI Change Management - Part 1

A Practical Guide to VDI Change Management

Part 1: IT Change Management in general The first in an 8-part series, this practical guide to VDI Change Management will guide you through the transformation of the IT department from a back-end function into a core competency for every modern organization. Continue Reading
Investigating Online Application Performance with Login PI

Investigating Online Application Performance with Login PI

As many companies do, we use a CRM system. Recently, I have been getting complaints about our cloud CRM system, Microsoft Dynamics, being slow. I tried to investigate this by shadowing one of our users to see what was wrong. Continue Reading
Login VSI Blog - How-To Update, Protect Against RIDL, Fallout MDS Vulnerability

How-To: Update, Protect Against RIDL, Fallout MDS Vulnerability

RIDL & Fallout MDS vulnerabilities, impact on VDI performance & actions to take. FAQs we’re receiving & updates on performance tests executed to patch flaws Intel calls “Microarchitectural Data Sampling (M.D.S.)” aka: Rogue In-Flight Data Load (RIDL), Fallout, ZombieLoad & Store-to-Leak Forwarding. Continue Reading
Login VSI -Blog Post - IGEL Partner with Login VSI

Login PI & IGEL: Delivering Deep Application Test & Availability Monitoring

Together Login VSI and IGEL deliver deep application test and availability monitoring for the digital workspace This week we announced a partnership with IGEL that enables Login PI integration in a radical new way. Continue Reading
Cookie Settings