Application startup duration

This document applies to the Microsoft Windows platform.

Overview

Application startup duration is the time it takes for business-critical desktop applications to start. It is a key indicator of resource-related issues, offering early detection of performance bottlenecks before they escalate and impact employee productivity. This metric directly reflects the end-user experience while helping to identify a range of problems, from resource shortages to network disruptions.

Measurement of the application startup duration

Application startup duration measures the time from when the kernel initiates a new application process to the moment the application's main window is displayed, as shown in the following diagram.

Using application startup duration in NQL queries

Application Startup Duration is a metric of the execution events and stored in the startup_duration field. The following example shows this in an NQL query.

execution.events
| where startup_duration != null
| where binary.name == "outlook.exe"
| summarize app_startup_duration_ = startup_duration.avg() by device.collector.uid

Running the query gives the following result:

Application startup duration NQL example

Requirements

Application requirements

For Collector to report accurate application startup duration, an application must fulfill the following requirements:

  • Native title bar in main window - To measure startup duration, applications must display a standard title bar in the main window to distinguish it from splash screens. Applications that display any window—console applications or applications that run minimized—are discarded from the measurement.

  • The application is not a Universal Windows Platform (UWP) app - The measurement method does not work for UWP applications.

  • The application takes less than 3 minutes to start - The startup duration is not reported for applications that take longer than 3 minutes to start, as this may indicate other issues, such as the application not responding.

  • The application uses one process for initializing and displaying the main window - The Collector may report inaccurate startup duration values for applications that spawn multiple processes for initialization with just one process being responsible for displaying the main window.

Executable on allowlist

The application startup duration is not available for all applications out of the box. It is only available for applications that have their pertaining executable files in a particular allowlist. By default, the allowlist includes the following applications:

Application type
Application
Executable name

Web browser

Google Chrome

chrome.exe

Firefox

firefox.exe

Microsoft Edge

msedge.exe

Microsoft Office suite

Word

winword.exe

Excel

excel.exe

PowerPoint

powerpnt.exe

Outlook

  • outlook.exe

  • olk.exe

OneNote

onenote.exe

Adobe suite

Adobe Acrobat

  • acrobat.exe

  • acrord32.exe

Communications

Microsoft Teams

  • ms-teams.exe

  • msteams.exe

Zoom

zoom.exe

See the allowlist configuration in the next section.

Configuration

There are two ways to activate and configure reporting Application Startup Duration:

To add an application to the allowlist, first ensure that it satisfies the requirements and test the accuracy of the measurements before enabling the new allowlist in production. Always include the default list of executables in your own allowlist.

The allowlist format is a string consisting of a comma-separated list of executable names. The asterisk can be used as a wildcard to replace zero or more characters in the name of an executable, for instance:

"winword.exe,excel.exe,onenote*"

MSI parameters

During installation, you can set the value of the APP_STARTUP_DURATION MSI parameter to enable to activate the reporting of Application Startup Duration. The default value is disable.

The APP_STARTUP_DURATION_ALLOWLIST MSI parameter defines the list of applications for which application startup duration is measured.

Registry key

To locally enable the reporting of application startup duration and modify the allowlist of a device, edit the following registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Nexthink\Collector\AppStartupDuration

Set Disabled=0 key to activate reporting of application startup duration data.

Modify the Allowlist key to define the list of applications for which application startup duration is measured.

Migrating to the APP_STARTUP_DURATION_ALLOWLIST parameter

Nexthink has renamed the original allowlist parameter; the current parameter name is:

APP_STARTUP_DURATION_ALLOWLIST

When updating Collector, the installer automatically updates the allowlist parameter to its new name while preserving its values.

Last updated

Was this helpful?