Skip to main content
Availability2022.1 or later
Browser supportonly latest Chrome, Edge and Opera

Monitoring components

Parts needed for detection

Business benefits

Gains from faster responsiveness

Configuration

Works with defaults

Deployment and configuration

Setup for freeze detection

Overview

GermainUX detects long-running JavaScript tasks that block the browser’s main thread and can make a web application slow or temporarily unresponsive. By default, GermainUX records a JavaScript Long Task when uninterrupted activity occupies the browser’s main thread for at least three seconds. This monitoring is enabled by default for each applicable User Monitoring Profile.

Monitoring components

What is a JavaScript Long Task?

The browser’s main thread handles JavaScript execution, user input, rendering, and other page activity. When a task occupies that thread for too long, the browser cannot respond promptly to the user. A long task can cause: A long task indicates blocked browser execution. It does not necessarily mean that the browser or application crashed.
S
Long Tasks on Drill-through

Capabilities

GermainUX helps teams:
  • Detect long-running tasks during real user sessions.
  • Identify when and where the browser became unresponsive.
  • Determine the affected users, pages, sessions, and business workflows.
  • Correlate long tasks with clicks, navigation, errors, network activity, memory usage, and other browser events.
  • Review what the user experienced through Session Replay.
  • Measure the frequency, duration, trend, and user impact of browser freezes.
  • Identify pages, workflows, browsers, or releases with the greatest concentration of long tasks.
  • Use the JS Profiler to investigate the JavaScript functions and browser activity responsible for the delay.
  • Validate whether an application correction reduced or eliminated the problem.

Continuous monitoring

GermainUX RUM JS or the GermainUX RUM Extension continuously detects long tasks during real user activity. Use:
  • RUM JS when the monitoring script can be added directly to the application.
  • RUM Extension when direct script deployment is unavailable or the application’s security model prevents access to the required browser context.
Each detected long task is associated with the available application, page, browser, user, and session context.

Code-level investigation with JS Profiler

When continuous monitoring identifies a long task or browser freeze, the GermainUX JS Profiler can provide deeper diagnostic evidence, including:
  • JavaScript function execution.
  • Function duration.
  • Exclusive and cumulative execution time.
  • Long-running browser tasks.
  • Browser events and user interactions.
  • JavaScript errors and stack traces.
  • DOM and rendering activity.
  • Network requests and resource loading.
  • Application, page, and session context.
This evidence helps identify whether the delay was caused by an expensive function, repeated processing, excessive DOM activity, resource loading, or another front-end operation. The JS Profiler complements continuous monitoring. RUM JS or the RUM Extension can remain enabled across the user population, while deeper profiling should normally be limited to the affected application, users, pages, or investigation period.

Business benefits

JavaScript Long Task and Browser Freeze Monitoring helps organizations:
  • Detect browser responsiveness problems affecting real users.
  • Distinguish front-end execution delays from server or network latency.
  • Identify the users and business workflows experiencing the greatest impact.
  • Reduce the time required to reproduce intermittent browser freezes.
  • Move from a reported symptom to the JavaScript activity associated with it.
  • Prioritize corrections based on frequency and actual user impact.
  • Detect performance regressions introduced by new releases.
  • Validate improvements using real-user evidence.

Analytics

GermainUX can analyze long tasks through KPIs, measures, pivots, trends, drill-through views, and session context. GermainUX users can create watches to receive notifications when collected long-task insights meet conditions of interest.

Configuration

No configuration is required to use the default three-second threshold.

Change the long-task threshold

Use settings.plugins.performance.longtaskThresholdMillis to change the minimum duration required for GermainUX to record a long task. The value is specified in milliseconds. The following example records tasks lasting at least five seconds:
Choose a threshold that reflects the application’s expected behavior and monitoring objectives. A lower threshold detects shorter periods of main-thread blocking but generates more monitoring data.
  1. Use RUM JS or the RUM Extension to detect long tasks affecting real users.
  2. Identify the affected applications, pages, workflows, users, and sessions.
  3. Review the user’s experience through Session Replay.
  4. Correlate the event with clicks, JavaScript errors, network requests, memory usage, and other browser activity.
  5. Enable the JS Profiler for a controlled scope when code-level evidence is required.
  6. Identify the responsible JavaScript function, script, component, resource, or dependency.
  7. Implement the correction.
  8. Validate the result using continuous long-task monitoring and, when necessary, another targeted profiling session.

Browser support

JavaScript Long Task monitoring depends on browser APIs supported by recent versions of:
  • Google Chrome
  • Microsoft Edge
  • Opera
RUM Extension and JS Profiler support also depends on the installed extension version, permissions, application architecture, and enterprise browser policies.

Deployment and configuration

Get Help

Contact GermainUX Support

The Germain Team can help you set this up.

Can't find what you need?

Search all GermainUX docs with Ctrl + K, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE LLC.