1 2 Previous Next

Product Blog

30 Posts authored by: Peter Krutý

The recorder is a central part of Web Performance Monitor, helping you to easily record your transactions instead of doing tedious scripting. We are working on the next release and wanted to share our progress with you!

 

Multi-selection of steps

It is a good habit to optimize your transaction before deploying to production. Ideally transactions should contain only the steps required for monitoring. The recorder occasionally captures and records unnecessary actions like mousing over some elements, which can be usually be removed safely without affecting the transaction. In the past you had to delete these steps one by one. To avoid this hassle, the recorder will now allow selecting multiple steps at once with the shift key to select a continuous block of steps or the control key to select steps one by one.

multi-select in timeline.png

 

Once all steps are selected you can perform several actions: delete them, make all steps optional, make all steps required, or make them conditional. If a step is optional, it will not fail the whole transaction in case the step itself fails. You can revert this by making it required again. We will talk about conditional steps later.

 

multi-select with menu.png

 

Multi-Variant Text Inputs

There are times when you need to enter text into the page to fill-in the login forms, test a search or answer security questions. The last one is especially tricky, as one day you are asked about your pet's name and the next day your hometown. The Multi-Variant Text Inputs feature allows you to look for a string on the page and based on the that enter different text into forms.

 

To use Multi-Variant Text Input first enter some text into the field and record the text input action.

simply text input in timelines.png

 

When the action is recorded, double-click on the text input action and you will notice a new option which allows you to change simple text input into Multi-Variant Text Input. After changing the type of action, you can add more options and even define default text. Default text is used if no text match is successful.

multi-variant text input UI.png

After you've added a few more options for Multi-Variant Text Input action the title will change in the timeline to reflect this change.

multi-variant text input in timeline.png

Positive and Negative Matches

There are two types of matches for verification, text match and image match. Another improvement we are working on is that both matches can have positive and negative variants. So you can be looking for a text or image which is or is not on the page.

Image_Match_UI marked.png

These two possible states are also indicated in the timeline.

Image_Match_in_Timeline marked.png

This is not only useful for conditionals (which are described later), but also can be used in any kind of generic verification (especially textual) of transaction health.

Simple Conditionals

The most complex feature we are working on in the recorder are simple conditionals. There are many examples of webpages where this could be handy. Already mentioned are random security questions, requests to participate in surveys, advertisements, campaigns, planned maintenance notifications and many others. With Simple conditionals, you can make some of the steps of normally sequential transitions conditional and handle the variation in certain web application behaviors.

 

Anatomy of Conditional

There are two types of conditions, text match and image match. Both can be used to trigger a conditional block of steps. Imagine you have a random advertisement displayed on web page. You can simply detect an image such as logo on the webpage and if the image match is successful, the next conditional step is clicking on the icon to close that advertisement.

 

Each conditional block must be preceded by a condition. Both conditions can have positive and negative matches. You can be looking for a text or image which is or is not on the page and thus have either positive or negative branches for a condition.

 

A condition is followed by a conditional block with at least one step. The conditional block has always only one branch and is performed based on condition results.

 

To visually differentiate conditional blocks and also differentiate positive and negative conditions we use a different background for steps in the timeline: yellow for positive match and blue for negative match.

 

positive_and_negative_conditional_blocks marked.png

Recording a conditional block

You can start recording a conditional block by enabling Conditional Mode. To enable this mode click the new button from the menu.

 

Conditional Mode button marked.png

Since a conditional block requires a control action - condition - you will be prompted to choose from:

 

  1. New Text match action
  2. New Image match action
  3. Using already recorder preceding action if there is any

Control_Action_UI.png

After you choose the control action you simply continue to record actions. Actions are all conditional until you click the button again and disable conditional mode.

 

Another way to make a conditional block is to select multiple steps which are already recorded, then right-click and choose "Make actions conditional" item from the contextual menu. You will be again asked if you want to enter a new control action or use existing and the steps will be highlighted as conditional.

 

This was a quick overview of what kind of some of the improvements we are working on in the Recorder. Is there more? You bet!  We will give you more of a sneak peek in a future post (you can look forward to better correlating information from SAM and NPM to monitored Transactions or more on custom properties and some more mentioned in What We're Working On - Web Performance Monitor).

 

Stay tuned!

To receive updates on the WHD roadmap, JOIN thwack and BOOKMARK this page

 

After release of Web Help Desk v12.1, we are now busily working on some new features and enhancements to the product. Here is a preview:

 

  • Asset Reporting
    • Including Reservations and Purchase Orders
  • DameWare integration
    • Some options are chat, screenshot capability or easier configuration for remote connections
  • Revamp of setup section
    • Make settings easier to find when returning to configuration options
  • More comprehensive documentation for different areas of Web Help Desk
    • Possible candidates for detailed documentation are SSO, Database migration, sizing and so on
  • Settings export for easier migration
  • Java 7 support
  • NPM integration improvements
  • Ability to export reports to Excel
  • Ticket Approvals from Tech interface
  • iOS Application improvements

 

PLEASE NOTE:  This is NOT a commitment that all of these enhancements will make the next release.  We are working on a number of other smaller features in parallel.   If you have comments or questions on any of these items (e.g. how would it work?) or would like to be included in a preview demo, please let us know!

We are pleased to announce the general availability of Web Help Desk v12.1.0. The contents of this release contain new features and improvements, namely,

 

  • Ability to de-escalate a ticket
  • Casper 9 support via Casper API
  • New REST API for Locations
  • New REST API for Assets
  • Improved help accessibility and many documentation improvements
  • Many bug fixes and performance improvements

 

You can view the full set of release notes here.

 

To learn more about new features in this release see this blog post.

 

Download Web Help Desk now and have fun!

Web Help Desk (WHD) is an easy to use, but also flexible tool for your IT team and even-though we are working on many great new features or improving existing like recently added Orion Integration, there are still less-known areas, which I call the hidden gems.


As a technician you want to use formatted text in your tickets, asset notes or emails. Sometimes you might want to highlight certain information in an email, send a clickable link, format a FAQ that it's easy to follow, or maybe highlight crucial information in an asset note, thus your fellow colleague won't forget to notify you when updating your machine. Some forms like ticket notes offer formatting options in a little menu on the top, but these may not be available everywhere or you might want to do more than standard options.

whd_editor.png

Being a web-based tool, HTML could be sometimes tricky to use, so that's why we have simple formatting which resembles HTML, but uses different syntax. Meet BBCode.

 

BBCode

BBCode (Bulletin Board Code) is a lightweight markup for text formatting. It was introduced in message-boards, but widely used in many other types of software nowadays. Tags are usually indicated by square brackets [ and ], enclosing a keyword. There is no formal standard and you can find different implementations and variations in supported tags. WHD also has its own implementation and there is a good reason for it - you can customize it.

 

Here is a simple example of BBCode, which you can use in WHD.

 

[size=20]Title[/size]

[img]http://www.solarwinds.com/favicon.ico[/img]

<p>

Lorem ipsum [b]dolor sit[/b] amet, [url=http://www.webhelpdesk.com]consectetuer adipiscing[/url] elit. Cum sociis natoque [i]penatibus et magnis[/i] dis parturient montes, nascetur ridiculus mus.

</p>

And now some list:

[list]

[*]Fusce tellus. Proin in tellus sit amet nibh dignissim sagittis.

[*]Sed convallis magna eu sem. Maecenas sollicitudin.

[/list]

[list=A]

[*][color=blue]FAQ link:[/color] [faq id=1]

[*][u]FAQ link:[/u] <faq id=2>

[/list]

 

This text renders to following.

whd_faq_render.png

 

Note that markup is actually mix of BBCode and HTML.

 

Formatting

 

Basic markup follows pretty simple structure:

 

  • Simple tags: [tab]something[/tag]
  • Simple parameterized tags: [tag=value]something[/tag]
  • Complex parameterized tags: [tag value1="xxx" value2="yyy"]something[/tag]

 

WHD supports wide range of tags:

 

  • [code]your code here[/code]
  • [quote]Text[/quote]
  • [quote=Author]Text[/quote]
  • [b]bold[/b]
  • [i]italics[/i]
  • [u]underscored[/u]
  • [list] [*]First item [*] Second Item
  • [img]URL[/img]
  • [email]address[/email]
  • [email=address]Text[/email]
  • [url]address[/url]
  • [url=address]Text[/url]
  • [color=name]Text[/color] (supports HTML color names)
  • [size=number of pixels]Text[/size]
  • [google]key words[/google]
  • [google=key words]Text[/google]
  • [faq id=number]

 

Additionally you can also use selected supported HTML tags, which you can mix with BBCode tags:

b, i, u, a, img, li, ul, ol, font, br, p, pre, center, faq, code, hr, strong.

 

You can use the BBCode in many places in WHD like ticket subject, request details, notes, email templates, FAQ, Messages, Login message, custom field description and so on. However not all fields do support BBCode, so if it's something like secondary email field in your account details, you better check in advance.

 

Special Behavior

Apart from tags, BBCode mechanism also detects bare URLs like http or ftp links, emails or UNC paths and make them clickable. If you put link to Youtube or Vimeo video, WHD will actually embed that video and display it instead of the link. (If you want you can disable this behavior, see below.)

 

whd_embeded_video.png

(Btw. if you have not seen the video you definitely should ).

 

There is also a special tag faq. This tag will provide a link to existing FAQ and has the form of [faq id=NUMBER] or <faq id=NUMBER>.

 

Customization

WHD stores transformation rules for all tags in WebHelpDesk/bin/webapps/helpdesk/WEB-INF/Helpdesk.woa/Contents/Resources/bb_config.xml.

 

EDIT:  Location of bb_config.xml has changed at some point. Since versions 12.x it is located at whd-web.jar\Resources\bb_config.xml.

 

If you want to modify it, you should do the following:

  1. Stop WHD
  2. Back up whd-web.jar
  3. Edit bb_config.xml within the whd-web.jar, (e.g. Total Commander allows user to modify files packed in a jar)
  4. Start WHD

 

Great thing about having own implementation is that you can easily create your own tags. Let say you want to use strikethrough text. Simply add this custom tag definition to bb_config.xml and restart WHD.

 

     <!-- S -->

     <match name="s">

          <regex>(?s)(?i)\[s\](.*?)\[/s\]</regex>

          <replace>

          <![CDATA[

          <strike>$1</strike>

          ]] >

          </replace>

     </match>


Now you can use [s] and [/s] tags.

 

In bb_config.xml you can also disable embedding video instead of displaying a link. Find all rules with name starting with auto-youtube (or auto-vimeo) and comment them out with <!-- and -->. Don't forget to restart WHD and you will see the link instead of the video. (Which means url BBCode rule was applied.)

 

whd_video_not_embedded.png

 

How about trying something more fancy? Sometimes when working on an incident or writing a FAQ, you refer to other tickets by saying "ticket 544" or maybe you use terms like request, case or problem. Wouldn't it be nice if this could be a link, so you colleague could click on it and open that ticket right away? Let's write a simple rule to do it. (Don't forget to replace the URL with the link to your system.)

 

     <match name="TicketLink" alwaysProcess="true">

          <regex>(?s)(?i)((?:ticket|incident|case|problem|request)\s*)([0-9]+)</regex>

          <replace>

          <![CDATA[

          <a href="http://webhelpdesk.com:8081/helpdesk/WebObjects/Helpdesk.woa/wa/TicketActions/view?ticket=$2">$1$2</a>

          ]]>

          </replace>

     </match>

 

Now you can just type "case 22" and voilà - there is link!

whd_bbcode_new_rule.png

 

As you could see WHD is tremendously flexible, you can use BBCode in various places and also add your new tags. I'm sure there are more areas you would like to learn more about, so please let me know in comments!

 

References:

We have reached the Release Candidate (RC) phase for our next release, Web Help Desk 12.1. RC is the last step before general availability and is a chance for existing customers on active maintenance to get the newest functionality before it is available to everyone else. You can find the RC binaries for download in the SolarWinds customer portal.

 

If you have any questions I encourage you to leverage the WHD RC group on thwack:

 

http://thwack.solarwinds.com/groups/solarwinds-web-help-desk.

 

This release contains the following product improvements and new features:


 

You will find the latest version on your customer portal in the Release Candidate section.

 

Ability to de-escalate a ticket

 

You can find a brand new buttons to escalate and de-escalate a ticket in ticket details section.

escalation.png

Process of escalating or de-escalating of ticket is following settings of Tech groups levels. After escalating or de-escalating a ticket, information icon will inform you about details how was the escalation performed.

escalation_info.png

 

Improved help accessibility

 

Apart from continuously improving documentation our goal was also make it more accessible and easier to find and use.

help_buttons_whd_12_1.png

 

We added a new help button to main menu, so you can open WHD help easier from any page. We also added help buttons to particular sections of setup. These lead to chapters of help discussing particular WHD setup section, again make it easier for you to find help for the relevant part of setup.

 

Casper 9 support

 

We introduced new way how to integrate with Casper 9 and instead of connecting to database as with in previous versions, we utilize Casper API and thus there is no need for database name field anymore. Also instead of database user, you should use Casper user. Please check the tooltips in the UI of Connection Basics configuration.

 

[EDIT: Added new section about Casper 9 to highlight the change in method of integration.]

 

Casper9settings.png

 

If you have a question about whether a case you've filed was resolved in this release or a certain feature request implemented, feel free to ping back on this post or in the RC forum and let me know - I'll be sure to look into it.

To receive updates on the Serv-U FTP Voyager roadmap, JOIN thwack and BOOKMARK this page

 

The Serv-U product team is working hard to build several new and exciting features. Some of these changes include:

 

  • Improvements in LDAP support & usability
  • Enhanced security with support for stronger cryptography
  • Adoption of SolarWinds licensing framework
  • Scheduler Enhancement and Capabilities

 

PLEASE NOTE:  We are working on these items based on this priority order, but this is NOT a commitment that all of these enhancements will make the next release.  We are working on a number of other smaller features in parallel. If you have comments or questions on any of these items (e.g. how would it work?) or would like to be included in a preview demo, please let us know!

WPM & Citrix XenApp


As described in previous posts Web Performance Monitor is a powerful tool designed to monitor performance of your web apps from an end-user perspective. With a bit of creativity and Citrix Xenapp environment properly configured, you can use it to also monitor your desktop applications as described previously by aLTeReGo.

 

Using Citrix XenApp is relatively straightforward, but in some cases you can have a transaction, which needs some more care. Let me show you a few tips and tricks how to use XenApp with WPM, but please note that XenApp is a fairly flexible tool and your environment might differ from the defaults used in this post. Simply adapt principles described to the look and feel of your own instance.

 

Citrix Xenapp is a framework which will help you to use your desktop applications from a wide range of computer systems and mobile devices. You can benefit from the ability to access your desktop application via web browsers, which makes it possible to monitor it by WPM.

 

Prerequisites

Before we start, we will need a deployed and configured XenApp environment, an up-to-date version of Java Runtime Environment (JRE) and WPM.

 

Login window.png

 

When you open the login window of Citrix XenApp, you can check the Messages tab to see if you have client software (Java Runtime Environment) installed and ready. In this post we will rely on using Java to access your application.

 

missing_client_sw.png

 

After you install JRE (if it was missing), I recommend you to hide security warnings:

  1. Open Internet Explorer on the computer where you want to make a recording.
  2. Open the XenApp webpage and log in.
  3. Try to launch the application you want to monitor.
  4. Click Run on all modal security warning windows and select that you don’t want to show the warning again.

 

security_warning.png

 

Configuring XenApp

Configuring XenApp requires setting the window size and setting client type for the connection.


You can either define these settings system-wide for all users or you can define them at the beginning of each transaction. I recommend setting them for each transaction individually, because it is more independent of system settings and it wouldn't be affected by upgrade unintentional changes in system-wide configuration.

 

Configure settings of window size to of 640x480 or 1024x768. This ensures any Citrix application being recorded will remain within the bounds of the WPM Recorder. To set this up, go to the XenApp home page and select Preferences -> Session settings.

 

screen_resolution_setting_MARKED.png

 

After that make sure you use Java client for your transaction. Go to Preferences -> Connection settings and click the Change Client button. This will set the session to use Java client only.

 

java_client_setting_MARKED.png

 

Now you are ready to simply start your application and do the actual recording.

 

Citrix_apps.png

 

Making it more robust


Image Match

When using XY mode, we are sending mouse click events on the level of operating system and there is no feedback if the action runs correctly. Best practice is to verify the results with Image Match after a mouse click action.

 

Image Match actions are CPU intensive. To improve the performance of a playback:

  • Select only small regions or portions of the image
  • Make sure that the selected area is unique. If you select the close window button, it might easily happen that WPM selects the first close button it detects (not on the one you wanted).

 

If the playback is failing on an Image Match action:

  • Examine the application screenshot to see if the image is present.
  • Make sure you use the same version of Internet Explorer for both recording and playback.

 

Image Match compares bitmaps and as such can be prone to errors due to variations in color depth. To make it more resilient either set lower sensitivity or make sure you use the same color depth for both recording and playback of transaction. This is very important if you for example record your transactions via remote connection using RDP or similar protocols.

 

To lower the sensitivity of Image Match, run the Recorder with /advancedmode command line option. This will give you the ability to define custom sensitivity for Image Match actions. See the threshold setting on the screenshot below.

 

image_match_sensitivity_MARKED.png

 

Note: If you set the similarity setting to a too low value, you might get some false positives.


Using XY mode you are sending mouse click events to the absolute coordinates. You can make your transaction more robust if you use Image Match with Click instead. Image Match will find the button even if it changes the position or even if the application window opens on a different position.

 

More Tips

  • As discussed previously, with XenApp it is very important to keep your transactions clean and minimalistic. Remove any clutter, unnecessary actions recorded, anything that is redundant or irrelevant for monitoring of your application. This way, your transaction will remain robust and maintainable.
  • It also very important that your application is running within the browser window and is not opening separate windows. If the application opens in a new separate window, WPM cannot reach it and you cannot record your transaction. This is matter of configuring Citrix XenApp properly.
  • The last thing to check is the timing of your transaction. Use wait actions or combination of Image Match actions to absorb any variance in response times and also to ensure that when you send your mouse click on the object, the object is already displayed in the browser.

 

In this post we have learned how to configure Citrix XenApp for usage with WPM and how to record robust and maintainable transactions for monitoring of your desktop applications.

We are pleased to announce the general availability of Serv-U FTP Server and MFT Server v15. The contents of this release contain exciting new features and improvements, namely,

 

  • File sharing in Serv-U MFT Server
  • New Web Client user interface
  • Rebranding of the user interface
  • FTP Voyager is a FREE tool and no longer requires an activation key

 

You can view the full set of release notes here.

 

To learn more about new features in this release see this blog post.

 

Download Serv-U now and have fun!

I'm very happy to share with you that we have officially reached Release Candidate (RC) status for Serv-U FTP Server and MFT Server v15.  The contents of this release contain exciting new features and improvements, namely,

 

  • File sharing in Serv-U MFT Server
  • New web client user interface
  • Rebranding of the user interface
  • FTP Voyager no longer requires an activation key

 

You can download the RC in the Release Candidate section of your Customer Portal. If you have any questions I encourage you to leverage the Serv-U Release Candidate RC group on thwack. RC is the last step before general availability and is a chance for existing customers to get the newest functionality before it is available to everyone else.


File Sharing

 

All of us need to occasionally share a file with a partner, colleague or a customer (we call them Guests in File Sharing, or someone who does not have an account in Serv-U). File Sharing is a great new feature of Serv-U MFT Server which helps you to share small or large files without email limitations, temporary accounts or any administrative hassles. It allows you to have your own on premise file sharing service. File Sharing is meant as a temporary storage for simple web-based file sharing. Guests will simply receive an email with the link allowing them to download or upload files. If you wish you can also send links via IM, social networks or by other means.

 

First you need to enable File Sharing in the Serv-U Management Console. You can configure settings on the global level in the Server Limits and Settings section or per domain in Domain Limits and Settings.

 

On the screenshot below you can see the simple configuration settings for File Sharing. You can define a URL for the File Sharing, you set a folder where all shares will be stored and you can also define how long expired shares should last before Serv-U deletes them permanently. If you wish you can also define a template for emails received by Guest users, enable or disable usage of SSL and most importantly enable/disable the entire File Sharing feature.

 

Managmenet_Console_marked.jpeg

 

After you enable File Sharing you can find the link to the File Sharing UI in the bottom of the management console next to the FTP Voyager JV and Web Client links.

 

File-Sharing_link_from_MC_marked.jpeg

 

As a regular user you can choose the File Sharing UI during login or click on the upper menu in the new Web Client UI.

 

File-Sharing_link_from_WC_marked.jpeg

 

In the home page of File Sharing you can see the last 5 shares for requested files and sent files with some basic information about each share like date share was created, name of the share, email address(es) of Guest(s), status of share, expiration date and so on.

 

FS_homepage.png

 

If you wish to start with sharing files simply click on "Request Files" or "Send files" in the menu to create a share. Let's first send some files to a Guest. After clicking on Send Files, you are presented with a form with basic settings for the share. You need to define one or more email addresses. You can change the default Subject line of the email which will be sent by Serv-U.

 

Then you can briefly describe what data you are sending and change your email address if it's different from the default. Since a share is only a temporary storage, you have to define the expiration time which is up to 90 days. This is to prevent filling up your storage with shares.

 

You can also ask Serv-U to send you notification when the file is downloaded by a Guest so you know immediately and can follow-up. Additionally you can also protect shares with passwords. When you are done click "Next".

 

Send_File_Form.png

 

In the next step you simply choose files to upload, click Upload button and you are done. The share is created, notification email is sent to the Guest user(s) and you can close the confirmation screen by clicking on the Done button.

 

You can request files for upload in the same way by clicking on Request Files in the menu. After that a similar form is displayed as for sending files. You configure your share (when requesting files you can also limit individual size of files uploaded) and this time click on Send Request and your are done.

 

Request_File_Form.png

 

After you create a share, an email is sent and the Guest user can click on the link in the received email. If the share is password protected, then the Guest is asked for a password and after entering it, it's as simple as clicking on the Download All button or choosing files to upload.

password_field_in_Guest_UI.pngGuest_UI_upload.png

 

 

New Web Client UI

 

With the new File Sharing feature, which as you noticed is using a new, cleaner UI, we also redesigned the Web Client UI. It is now cleaner, faster and behaves more like Windows Explorer.

 

WC_UI.png

 

FTP Voyager is now FREE!

 

FTP Voyager is a powerful FTP client with many great features like scheduler. We decided to make it a free product! We removed all references to purchase or any licensing constraints. Go, download FTP Voyager now from the customer portal and enjoy its rich functionality!

 

Download Serv-U v15 RC, which is availble in the Release Candidate section of your Customer Portal.

 

If you have any questions I encourage you to leverage the Serv-U Release Candidate RC group on thwack.

We are pleased to announce the general availability of SolarWinds Web Help Desk 12.0.1. This is a service release, which contains number of improvements and fixes. Namely,

 

  • Installation issues with non-standard installations
  • Friendlier and more informative messages during installation and upgrade
  • Certificate issues on Exchange when running SSL.
  • Upgrade and migration issues.
  • PostgreSQL service does not start on Win2003.
  • E-Mail account type label includes Exchange 2013.
  • Exception when deleting an attachment.
  • Upgrade fails when IP Address is bound in WHD.conf.
  • Unable to create ticket notes using API.
  • Escalate privileges to admin when running WHD scripts in Windows.
  • WHD discovery Engine (WMI) ignores XP machines.
  • Escalate privileges to admin when running WHD installer.
  • Performance issues with SAVE operation on notes.
  • Installer blocks on maintenance expired.
  • Discovery engine not collecting HDD info.
  • Additional logging during migration.
  • Call uninstallation of whd from installer.
  • Update installation script to be HDD independent.
  • Verify previous installation of WHD.
  • Windows installation on different HDD.

 

You can view the full set of release notes here.

 

Download Web Help Desk now and have fun!

We are pleased to announce the general availability of SolarWinds Web Help Desk v12. This release contains the following product improvements and new features:

 

  • Improved LDAP Directory and Active Directory auto-discovery
  • Native Asset Discovery (using WMI)
  • Native integration of Asset Database with SolarWinds Network Performance Monitor (NPM), Network Configuration Manager (NCM) and Server and Application Monitor asset databases (SAM)
  • Native integration with Alerts from SolarWinds NPM, NCM and SAM
  • New Getting Started wizard
  • Automatic setup of WHD database in the wizard
  • Support for Windows 2012, Windows 8 (only for evaluation version of WHD)
  • Support for MS SQL 2012, support for embedded PostgreSQL database
  • Migration utility from Frontbase to PostgreSQL

 

For details on these features please visit previous announcement about Release Candidate on Product Blog.

 

You can view the full set of release notes, including problems fixed here.

 

 

Download Web Help Desk now and have fun!

In the previous post you have seen how to handle the perils of JavaScript and we also touched on the topic of clean and maintainable transactions. Today we will continue with a few more tips on how to make the transactions more maintainable and we will discuss common issues with playbacks.

 

Add some pauses

There are many variables which influence the performance of monitored web applications. Responses are sometimes quick and your page is displayed instantly, but if IT decides it’s a good time to backup the main servers then you might experience delays and variations in response times. There might be many other reasons like Internet connection problems, performance issues on the side of your browser or operating system, or simply the web application is still under development and it has not been optimized for performance. Java applets are a good example where you might need to watch the load time more carefully. Slow load times can not only cause variations in response times, but can even cause the transaction to fail.

 

Variations in response times and false alerts about failed transactions make it difficult to fine-tune your web application performance monitoring. Thresholds you have defined can be reached and false alarms can be triggered just because of this variance in the network.

 

If you have these kinds of problems, consider adding a few ‘waits’ to the transaction. If you see the response time of your action varies between 1-4 seconds, simply add a 5 second wait after your step to accommodate that variation. Wait times won’t count into the overall timing of the transaction, but will help to absorb the changes in the response times. Click on the Add Wait Time button (in yellow on the screenshot below) and define how long to wait (in blue).

 

adding_wait.png

 

Alternatively you can use an image match. Image match will wait up until the defined number of seconds (by default 30s) until the image is loaded. Waiting time is counted into the duration of a transaction; however, if the image match expires before the image is loaded, the whole transaction will fail. Click on Image Match button (in yellow), mark the area to match (in red) and define how long to wait (in blue).

 

image_match.png

 

Playback

 

Browser Versions

Web Performance Monitor is using the Internet Explorer browser to play back your transactions. One of the great features of WPM is the ability to use remote players and thus provide performance data from various locations (offices, branches, customer regions and so on). However each remote player might use a different version of Internet Explorer and this brings variations into your playbacks. Different versions of Internet Explorer could interpret a code differently and display the page with small variations that might result in different response times or failures in the transaction playback.

 

When you are recording a transaction double-check the version of the browser on the machine where you make the recording and the versions on all your remote players and make sure they are same. Even the small difference can make actions like 'Image match' fail.

 

IE8_9_difference.png

 

Optimize the load

A WPM recording is a copy of what a user does in Internet Explorer. This fact has certain requirements for memory and CPU. That is also a reason why you can’t have hundreds of transactions on one player. It is like having hundreds of users using the same computer (just recall how slow can be your browser when you have too many tabs open. If you assign too many transactions to one player it might affect response times and performance data and cause false alarms for failed transactions.

 

To optimize utilization of the players we provide you with load indicator for each player.

 

load_indicator.png

 

The value of the indicator can range from 0 to hundreds (%).  What does this value mean? Here is the simplified formula to calculate the load:

 

player_load = number_of_running_playbacks / total_number_of_playback_workers*100 + transactions_waiting_for_playback

 

The transactions_waiting_for_playback value is based on the sum of wait times of the transactions on the player before they are played back. The longer the transactions wait for playback on the player the higher this value gets.

 

Basically it says how well you utilize your player to playback transactions. Most of the time you want to have it around 100% (or even slight above). There might be ups and downs, and you might experience short spikes and therefore what you need to look at is the status in the long-term. If the load is consistently below 100% there is still capacity to handle more transactions. If the load is consistently above 100% it means your player is too busy and it might have an impact on performance data.

 

player_load_history.png

 

What are the options?

 

  1. Simplify transactions
  2. Reduce the frequency of playbacks
  3. Move transactions to another player
  4. Add resources to the player

 

Simplify the transactions as we described in the previous post. Make sure each transaction is simple and minimalistic and contains only actions that are needed to verify application functionality or for which you want to collect performance data.

 

Reduce the frequency of playbacks so that it still gives you information you need, but balances the number of transactions on a given player. Simply edit transaction in the UI and make it run once per hour instead of every 5 minutes.

 

transaction_playback_frequency.png

 

Consider moving the transaction to another player and check the impact on the load indicator of the original player. You might want to group similar transaction to one player or dedicate a player for the transactions which exercise some of the more complex business logic of your application and consume more resources and time.

 

Add resources to the player. More RAM and CPU can help, but not always. Also, there are internal limitations of Internet Explorer. WPM therefore limits the number of workers on external players to 7 (workers on main poller are limited to 2). Generally horizontal scaling works better than vertical scaling.

 

In this post we have learned how adding waits to the transaction can help to absorb variations in response times We also learned that different versions of browsers interpret the page differently, sometimes causing false alerts, and lastly we discussed how to optimize the load of your players.

 

In the next post we will look at how to use and troubleshoot transactions monitoring desktop applications using Citrix XenApp.

 

Get the most of your Web Performance Monitor

We have recently officially reached the Release Candidate (RC) phase for our next release, Web Help Desk 12.0. RC is the last step before general availability and is a chance for existing customers on active maintenance to get the newest functionality before it is available to everyone else. You can find the RC binaries for download in the SolarWinds customer portal.

 

If you have any questions I encourage you to leverage the WHD RC group on thwack: http://thwack.solarwinds.com/groups/solarwinds-web-help-desk.

 

This release contains the following product improvements and new features:

 

  • Improved LDAP Directory and Active Directory auto-discovery
  • Native Asset Discovery (using WMI)
  • Native integration of Asset Database with SolarWinds Network Performance Monitor (NPM), Network Configuration Manager (NCM) and Server and Application Monitor asset databases (SAM)
  • Native integration with Alerts from SolarWinds NPM, NCM and SAM
  • New Getting Started wizard
  • Automatic setup of WHD database in the wizard
  • Support for Windows 2012, Windows 8 (only for evaluation version of WHD)
  • Support for MS SQL 2012, support for embedded PostgreSQL database
  • Migration utility from Frontbase to PostgreSQL

 

Let's look at some of these features in more detail.

 

Native WMI Asset Discovery

WHD is now capable of discovering assets in your network using WMI so that it doesn't have to rely on external asset databases. We gather information like hostname, IP, Domain, MAC address, OS, SP level, User profiles, CPU and memory information, installed printers, HD size and model or installed software and patches. By simply defining an IP range, credentials for WMI and schedule for discovery and synchronization, WHD will keep your asset database synced with what's actually on your network. You can find configuration details on the following screenshot.

 

discovery_conf.png

Once you schedule discovery and it has successfully completed you can find discovered assets in the database. Please note the Discovery Connection column, which shows where this asset is coming from.

discovered_asset.png

 

SolarWinds Asset Database Integration

To make it easier to integrate WHD with other SolarWinds products we introduced native integration for NPM, NCM and SAM. WHD now natively provides mapping from each product database to the WHD asset database, so you only need to provide connection details and credentials. On the screenshot below you can see configuration options for integration with NPM.

 

npm_asset_import_conf.png

Once the discovery is finished, you can see the import data in WHD. Please note the column Discovery Connection, which indicates where the nodes are coming from.


discovered_assets.png

 

SolarWinds Alerts Integration

Another great feature we introduced is native support for SolarWinds Alerts for NPM, NCM and SAM. Create a connection and define a few simple rules. Each rule will tell when to accept an alert and create a ticket. When an alert is triggered and it matches the filters, a ticket will be created or updated (if it already exists). On the following screenshot you can see a configuration for an NPM connection.

alerts_conf.png

We will define a filter to accept all alerts which have severity other than "Low". This is what it looks like in WHD:

filter_definition.png

If you are familiar with Alert Central, you should be very comfortable here, but filter definitions are intuitive even if you have not tried Alert Central yet. Now lets say you have an alert defined in NPM which is triggered when the node is unmanaged. If we unmanage node NPM_SG9323P038 we will see the following alert:

alert_triggered.png

Immediately we will notice there is a new ticket in WHD.

ticket_created.png

The connection between WHD and NPM is bi-directional. As soon as you add the first note to a ticket, WHD will notify NPM and acknowledge your original alert. Any text you put into the notes in WHD is also added to the alert notes in NPM. On the next two screenshots you can see the same note added in WHD and how it is displayed in NPM.

note_in_WHD.png

The same note is also visible from the NPM web console.

note_in_NPM.png

 

Active Directory and LDAP Directory Auto-Discovery

Active Directory is one of most common user databases and we wanted to make it as easy as possible to configure. With the new auto-discovery feature, you now only need to define connection details like hostname, click Detect Settings button and WHD will not only find out if there is an Active Directory or generic LDAP directory server, but also pre-configure basic settings like user DN or search filter. Now you only need to define connection account details and you can start to use your directory server. On the following screenshot you can see a much simplified configuration form and please also note the new Test Settings button, which will help you to make sure the settings are set up correctly.

conf.png

Once you successfully configured the connection, you can search for users (just don't forget to tick the Search LDAP checkbox):

users_from_ldap_in_search.png

This is the first post in a series on how to get the most out of Web Performance Monitor. WPM is a powerful tool with some very useful features that might not be so obvious.


THE PERILS OF JAVASCRIPT

When you are making a recording in WPM, you may notice that everything was recorded without issue, but when played back the transaction always fails. Why is that? Most often the culprit is a JavaScript action which did not fire when played back. Everything works just fine in your browser, but for some reason the transaction always fails in the WPM player.


Imagine the simple case of a menu dropdown which is effectively a hidden element on a website. There are web pages which load such menus dynamically, so it’s impossible to locate that element on the page before you trigger the appropriate JavaScript handler. Another example is a dynamically generated ID for an HTML element like menu items. It’s always different, making it impossible to reference.


How can we go about recording edge cases like these in Web Performance Monitor? Let’s take a look.


One way to address this problem is to use your keyboard for navigation instead of the mouse. Try using the tab or arrow keys to move around the page and use the space bar to select and de-select checkboxes. This way, instead of WPM referencing static element IDs, you can navigate to the correct element with a series of key strokes.


In the case where you are testing the general availability of the website or application versus specific features or links on a page, consider using alternative navigation paths to reach the page you want. It is often the case that certain pages are navigable from multiple points on the website. Use the simplest way to reach a page or do an action, especially if it’s not necessary to test a navigation option that requires JavaScript.


On the following screenshot you can see examples of three different links to the Solution Finder on www.solarwinds.com. There are two static links directly on the web page (marked in yellow) and one through a dynamic JavaScript menu (marked in blue).


Pasted_Image_28.3.2013_10_55-2.png


Another option is to leverage native keyboard commands supported by some applications. For example, Gmail supports keyboards shortcuts like “c” to compose a new message, “r” to reply to a message or “e” to archive it. WPM normally records only keyboard actions related to forms and navigation around forms, so you might need to enable XY mode to record all of your keyboard actions and thus these keyboards commands. We will talk more about XY mode later.


Another option which might make your life easier is a neat trick with using “ctrl-shift” during your recording. If you hold these keys during your recording, WPM will record extra steps like mouse-over or mouse-down, helping you to record the display and subsequent click of menu items. WPM doesn’t normally record all possible events on the webpage. This is to prevent unnecessarily long recordings in most cases; however, sometimes you’ll actually want all steps recorded and using this keyboard combination allows for that.


On the screenshot below you can see actions that are recorded using ctrl-shift while randomly wandering around the main Google page with the cursor.


Pasted_Image_28.3.2013_13_32.png


If all else fails, use XY mode. XY mode simulates mouse actions at the operating system level (as mentioned another characteristic of XY mode is, that it also records all keyboard actions). Because of this, there is no feedback to WPM that the mouse action actually worked. Therefore, always combine XY mode with some other validation (textual or image validation) on the page. XY mode will send mouse click actions to the defined absolute coordinates and thus helps you if for whatever reason JavaScript actions are not firing. Because XY mode uses absolute coordinates and webpages are constantly changing, elements on the page can often move so it's safer to avoid XY mode until you’ve exhausted other options. Your transactions will be more stable and easier to maintain.


KEEP IT CLEAN

WPM records all of the actions you make in the browser, intentional or not. In addition, user navigation on the webpage isn’t mechanically precise. Users can wander around the page with a cursor, or unintentionally point to various objects, all of which can trigger actions that you may not want to be recorded by WPM. All of that noise is later played back every time WPM interacts with the application.


This can of course cause prolonged response times. These types of recordings are also more prone to failures. In addition, webpages change over time, making it harder to maintain your recordings.


On the next screenshot you can see that I only moved the cursor over a menu dropdown on www.solarwinds.com and it generated several other mouse over events.


Pasted_Image_28.3.2013_13_35-2.png

 

For these reason it is best to keep your transactions minimalistic and clean. Use only actions which are necessary to verify the application is up and that the monitored functionality works. To keep your recording clean, either re-record it a few times until you find an ideal set of user actions, or manually remove and modify any recorded steps that need it.


In the next post we will look at how to master using WPM remote players and share some more tips and tricks on how to create more stable recordings.

The release candidate (RC) for Web Performance Monitor 2.0.1 is officially here.  All WPM customers on active maintenance should have the RC waiting for them in their SolarWinds customer portal.  We'd love for you to try it out and post any feedback you have on the WPM RC forums here.

 

Participation in this program requires completion of this brief survey about your environment and experience with Orion:

 

WPM 2.0.1 Release Candidate Participation Survey

 

Thanks in advance for your time!

 

It's already been a few months since we changed the name from SEUM to WPM and we're happy that it has been well received thus far.

 

This service release contains a number of improvements in usability and performance. First, as we added support for Windows 2012, SQL 2012 as well as Windows 8 to WPM. We also improved the WPM Player and Job Scheduler, which are now more intelligent and jobs are scheduled in smaller buckets, more evenly distributing resource usage.

 

We also added the ability to add descriptions of transactions to the Transaction Details resource.

User-defined descriptions of transactions in the Transaction Details resource

This will help to you easily identify your transactions especially when you're managing a large number of them.

 

Another improvement is related to the mobility of recordings which are using certificate authentication. Now, if your certificate is exportable we are able to save it within the recording and thus play it from any location.

 

Another great feature to help you set up and troubleshoot your domain name account settings is the WPM Domain Accounts Configuration Tool. This tool has been created to aid in setting up domain accounts for the WPM player which verifies domain settings, the validity of an account in a given domain, and avoid any typos or mistakes in credentials.

Domain configuration tool

 

Another useful feature is the ability to automatically update the recorder. With new versions of WPM, new recorders are distributed. Instead of having to manually upgrade, you are now prompted to confirm automatic upgrade of the recorder as soon as it connects to a newer version of WPM.

 

Next we added a new Amazon EC2 region in Sydney, thus widening your options for location-centric monitoring. This new region is also available in previous versions of WPM which support Amazon EC2!

 

Amazon EC2 Sydney region available in drop-down menu

 

In addition to the aforementioned improvements this service release includes a number of other bug fixes and usability improvements.  Again, any customers on active maintenance should already have the RC in their customer portals.  Go download it and check it out; it's fully supported and we'd love to hear your feedback.  You can find the WPM 2.0 RC forum on thwack here.

Filter Blog

By date: By tag:

SolarWinds uses cookies on its websites to make your online experience easier and better. By using our website, you consent to our use of cookies. For more information on cookies, see our cookie policy.