Documentation forWeb Performance Monitor

Learn about the WPM Player configuration file

Changes to WPM Player can be made in the AgentSettings.dat, located at: %ProgramData%/Solarwinds/SEUM/Data/.

This file will be automatically created during the first run of SolarWinds WPM Playback Player and will not be recreated nor removed during product upgrades. If you uninstall WPM, the AgentSettings.dat file will be removed during the uninstall process.

However, if any custom changes were made before upgrading WPM Player, you will need to manually upgrade/migrate the content of the config.yaml file and SolarWinds.SEUM.Agent.Service.exe.config file properties to AgentSettings.dat.

Player configuration settings

AgentSettings.dat includes the following customizable settings.

Other settings in the AgentSettings.dat file that are not listed below are set by the WPM Player and should not be changed.

settings

numberOfWorkerProcesses

The number of worker process that can be run by the WPM Player. For SolarWinds Platform servers, the default value is 2. For non-SolarWinds Platform servers, the default is 7. You can add up to 15 WPM Player service accounts; however, SolarWinds recommends using seven accounts during playback. The limit of accounts on a player depends on the power of the host system (CPU, RAM, and so on). More than seven accounts can consume too much CPU and RAM, resulting in poor performance.

 numberOfWorkerProcesses="7"

users

The number of users listed depends on the number specified in the numberOfWorkerProcesses above. Existing users will not be automatically removed if the numberOfWorkerProcesses is reduced, because there is no way to restore the password if you increase the number again later.

<users>
    <user
      id="1"
      password="encrypted_password" />
  </users>

domainConfiguration

Specifies whether the player uses domain accounts. By default, this is set to false, indicating the player will use local accounts.

To use domain accounts, use the Domain Configuration Tool. See Use domain accounts as WPM Player service accounts.
<domainConfiguration
  enabled="false" />
<domainConfiguration enabled="true" domain="customer_domain_name_goes_here" >
	<domainAccount username="example_username-1" password="example_password-1" />
</domainConfiguration>

workerConfiguration

probeConfiguration

playbackTimeout

The number of seconds the playback should take. If the playback passes the specified value, the WPM worker stops and playback fails. The default and recommended value is 330 seconds.

playbackTimeout="330"

imageMatchSimilarityFactor

The similarity ratio of the image match action. The default value is 0.99 but the value can be set between 0-1. For more information, see Use Image Match in the WPM recordings and Image Classification using SSIM.

imageMatchSimilarityFactor="0.99"

imageMatchScrollXInterval

The number of pixels where the image match action will stop scrolling horizontally when attempting to find the image. The recommended maximum is 100.

imageMatchScrollXInterval="100"

imageMatchScrollYInterval

The number of pixels where the image match action will stop scrolling vertically when attempting to find the image. The recommended maximum is 100.

imageMatchScrollYInterval="100"

findElementTimeout

The number of seconds the recorder will search for a page element requiring an action before timing out.

findElementTimeout="5"

findElementRetryInterval

The number of seconds the recorder will wait before trying again to find the page element.

findElementRetryInterval="0.5"

pageReloadTimeout

The number of seconds the recorder waits for the page to load after the initiating navigation to a page. The recommended value is 10 seconds.

pageReloadTimeout="10">

chromeDriverConfiguration

The number of seconds the recorder will attempt to execute JavaScripts on a website during playback. The recommended value is 30 seconds.

<chromeDriverConfiguration
        scriptExecutionTimeout="30" />

browserConfiguration

minTlsVersion

The lowest Transport Layer Security version. By default, the value is tls1.2, which is recommended version, but tls1.3 is also supported.

minTlsVersion="tls1.2"

disableWebSecurity

Whether the recorder can interact with iFrame content. By default, the value is False. To allow the recorder to interact with iFrame content, change the value to True.

disableWebSecurity="false">

proxyTrustedHosts

Used by the proxy feature, where the customer has a proxy server that requires the user to enter credentials during navigation to a page. Enter the credentials here.

<proxyTrustedHosts>
  <proxyTrustedHost hostname="HostName-1" username="example_username-1" password="example_password-1" /> 
  <proxyTrustedHost hostname="HostName-2" username="example_username-2" password="example_password-2" />
   ....
  <proxyTrustedHost hostname="HostName-N" username="example_username-N" password="example_password-N" />
</proxyTrustedHosts>

electronSwitches

Command line switches passed directly to the main Electron script that modify the function of a command. For a complete list of available switches, see Supported Command Line Switches.

<electronSwitches>
  <switch>--disable-backgrounding-occluded-windows</switch>
  <switch>--disable-gpu</switch>
</electronSwitches>

electronProcessSwitches

Command line switches passed to the WPM Player as command line process arguments that can modify the function of a command. For a complete list of available switches, see Supported Command Line Switches.

<electronProcessSwitches>
  <switch>--disable-backgrounding-occluded-windows</switch>
  <switch>--ignore-certificate-errors</switch>
  <switch>--disable-gpu</switch>
</electronProcessSwitches>

fileDownloadExtensions

Includes or excludes extensions from DefaultWellKnownFileExtensions list, allowing for a change of what extensions can be found in the URL that the WPM Recorder will use to execute navigation. If the extension is found in the URL, the WPM Recorder will try to download the resource as a file instead of loading it in the browser. WPM includes a predefined list of MIME types as DefaultWellKnownFileExtensions listed below.

DefaultWellKnownFileExtensions: [
    "aac", "abw", "arc", "avif", "avi", "azw", "bin", "bmp", "bz",
    "bz2", "cda", "csh", "css", "csv", "doc", "docx", "eot", "epub",
    "gz", "gif", "ico", "ics", "jar", "jpeg", "jpg",
    "js", "json", "jsonld", "mid", "midi", "mjs", "mp3", "mp4", "mpeg",
    "mpkg", "odp", "ods", "odt", "oga", "ogv", "ogx", "opus", "otf", "png",
    "pdf", "ppt", "pptx", "rar", "rtf", "sh", "svg", "tar", "tif", "tiff",
    "ts", "ttf", "txt", "vsd", "wav", "weba", "webm", "webp", "woff", "woff2",
    "xls", "xlsx", "xml", "xul", "zip", "3gp", "3g2", "7z",
    // 'htm', 'html', 'xhtml', 'php', // excluded from original list
    "exe", "dll", "lib", "msi", "cert", // added manually
    "recording", "web-recording", // WPM extensions
];

For a full list of extensions, see Common MIME types.

<fileDownloadExtensions>
  <include>
    <extension>PDF</extension>
    <extension>JPEG</extension>
    <extension>ZIP</extension>
  </include>
  <exclude>
    <extension>PNG</extension>
    <extension>AVI</extension>
    <extension>RAR</extension>
  </exclude>
</fileDownloadExtensions>

Example content of AgentSettings.dat

<?xml version="1.0" encoding="utf-8"?>
<settings
  version=[Set by WPM Player]
  port=[Set by WPM Player]
  pass=[Set by WPM Player]
  isActive=[Set by WPM Player]
  mainServerIpOrHostname=[Set by WPM Player]
  orionUserName=[Set by WPM Player]
  orionPassword=[Set by WPM Player]
  useProxy=[Set by WPM Player]
  proxyUrl=[Set by WPM Player]
  useProxyAuthentication=[Set by WPM Player]
  proxyUserName=[Set by WPM Player]
  proxyPassword=[Set by WPM Player]
  agentName=[Set by WPM Player]
  updateEnabled=[Set by WPM Player]
  workerTimeoutS=[Set by WPM Player]
  certificateSecuredServicesPort=[Set by WPM Player]
  maxPlaybacksPerWorker=[Set by WPM Player]
  agentProxyPort=[Set by WPM Player]
  numberOfWorkerProcesses="7">
  <users>
    <user
      id="1"
      password="encrypted_password" />
    <user
      id="2"
      password="encrypted_password" />
    <user
      id="3"
      password="encrypted_password" />
    <user
      id="4"
      password="encrypted_password" />
    <user
      id="5"
      password="encrypted_password" />
    <user
      id="6"
      password="encrypted_password" />
    <user
      id="7"
      password="encrypted_password" />
  </users>
  <domainConfiguration
    enabled="false" />
  <proxyTrustedHosts>
    <proxyTrustedHost hostname="HostName-1" username="example_username-1" password="example_password-1" /> 
    <proxyTrustedHost hostname="HostName-2" username="example_username-2" password="example_password-2" /> 
  </proxyTrustedHosts>
  <workerConfiguration>
    <probeConfiguration
      playbackTimeout="330"
      imageMatchSimilarityFactor="0.99"
      imageMatchScrollXInterval="100"
      imageMatchScrollYInterval="100"
      findElementTimeout="5"
      findElementRetryInterval="0.5"
      pageReloadTimeout="10">
      <chromeDriverConfiguration
        scriptExecutionTimeout="30" />
    </probeConfiguration>
    <browserConfiguration
      minTlsVersion="tls1.2"
      disableWebSecurity="false">
      <proxyTrustedHosts />
      <electronSwitches>
        <switch>--disable-backgrounding-occluded-windows</switch>
        <switch>--disable-gpu</switch>
      </electronSwitches>
      <electronProcessSwitches>
        <switch>--disable-backgrounding-occluded-windows</switch>
        <switch>--ignore-certificate-errors</switch>
        <switch>--disable-gpu</switch>
      </electronProcessSwitches>
      <fileDownloadExtensions>
        <include>
          <extension>PDF</extension>
          <extension>JPEG</extension>
          <extension>ZIP</extension>
        </include>
        <exclude>
          <extension>PNG</extension>
          <extension>AVI</extension>
          <extension>RAR</extension>
        </exclude>
      </fileDownloadExtensions>
    </browserConfiguration>
  </workerConfiguration>
</settings>