🔋 Battery-Level Monitoring
GermainUX RUM JS can monitor the battery status reported by supported browsers and create an event when:
|
Event condition |
|---|
|
The battery level reaches or falls below a configured threshold. |
|
The device’s charging status changes. |
Battery events provide additional context for understanding the experience of mobile, field, and laptop users.
✨ Benefits
Battery-Level Monitoring can help teams:
|
Benefit |
|---|
|
Identify sessions affected by a low battery level. |
|
Understand whether a device was charging or running on battery. |
|
Correlate battery conditions with user activity, application performance, and workflow completion. |
|
Analyze battery-status changes across users, devices, pages, and business processes. |
|
Notify interested GermainUX users when a relevant battery condition is detected. |
|
Create customer-specific analytics for mobile and field-work scenarios. |
⚙️ Preconfigured monitoring
Battery monitoring is preconfigured in GermainUX RUM JS with a default low-battery threshold of 15%.
When supported by the browser, GermainUX can create events for:
|
Event |
Description |
|---|---|
|
Low Battery Level |
Battery charge reaches or falls below the configured threshold |
|
Battery Charging Status Changed |
The device changes between charging and not charging |
No customization is required when the default threshold meets the organization’s requirements.
📋 Collected information
Depending on browser support and the event type, a battery event can include:
|
Field |
|---|
|
Battery level |
|
Charging status |
|
Event timestamp |
|
User session |
|
Application |
|
Page or route |
|
Browser |
|
Device and operating-system context |
|
Other authorized session metadata |
Battery data can be analyzed alongside user activity, errors, performance, and business-process events.
🔧 Customize the battery threshold
Customize the threshold only when the default value of 15% does not meet the monitoring requirement.
The following example creates a low-battery event when the battery level reaches or falls below 30%:
const settings = germainApm.getDefaultSettings();
// Create a battery-level event at or below 30%.
settings.plugins.battery.levelThreshold = 30;
germainApm.start(settings);
The value represents a percentage and must be configured between 0 and 100.
📊 Analysis
Battery events can be analyzed using measures such as:
|
Measure |
|---|
|
Event count |
|
Unique users affected |
|
Unique sessions affected |
|
Battery level |
|
Charging-status changes |
Results can be segmented by pivots such as:
|
Pivot |
|---|
|
Application |
|
Page or route |
|
User |
|
Role or team |
|
Browser |
|
Device |
|
Operating system |
|
Environment |
|
Business process |
|
Time period |
Battery events can also be reviewed within the associated user session and correlated with other available GermainUX insights.
🔔 Notifications
A low-battery or charging-status event can be used to:
|
Use |
|---|
|
Trigger an alert when a configured SLA is violated. |
|
Notify interested GermainUX users through a Watch. |
|
Include battery insights in a dashboard or report. |
|
Initiate an approved customer-specific workflow. |
A Watch notifies users about a battery insight already detected by GermainUX; it does not create a new insight.
🌍 Browser support and limitations
Battery monitoring depends on the browser’s Battery Status API.
The documented GermainUX capability is available in supported versions of Chromium-based browsers, including:
|
Browser |
|---|
|
Google Chrome |
|
Microsoft Edge |
|
Opera |
Browser vendors can restrict or discontinue access to battery information for privacy and fingerprinting protection. Always validate availability with the browser versions used by the monitored population.
Battery-Level Monitoring does not:
|
Limitation |
|---|
|
Measure the application’s exact battery consumption. |
|
Prove that the monitored application caused the battery to discharge. |
|
Provide operating-system-level battery diagnostics. |
|
Work on every browser or device. |
|
Continue collecting after the browser or monitored page closes. |
Treat battery status as contextual evidence rather than proof of application battery usage.
🔒 Privacy
Battery information can contribute to device fingerprinting when combined with other attributes.
Before enabling production monitoring:
|
Action |
|---|
|
Confirm that battery-status collection is permitted. |
|
Collect only the information required for the approved use case. |
|
Avoid combining battery data with unnecessary personal or device identifiers. |
|
Restrict access to individual user and session data. |
|
Apply the organization’s retention and privacy policies. |
|
Disable battery monitoring when it is not required. |
✅ Validation
Follow these validation steps:
-
Open the monitored application in a supported browser on a battery-powered device.
-
Confirm that GermainUX RUM JS is running.
-
Temporarily configure a threshold above the device’s current battery level.
-
Reload the monitored application or reproduce the relevant battery event.
-
Confirm that a battery-level fact appears in GermainUX.
-
Connect or disconnect the charger.
-
Confirm that a charging-status-change event appears.
-
Verify the application, session, browser, and battery properties.
-
Restore the intended production threshold.
🔍 Troubleshooting
If battery events are not collected:
-
Confirm that the application uses GermainUX RUM JS.
-
Verify that the browser supports and exposes the Battery Status API.
-
Test on a physical battery-powered device.
-
Confirm that battery monitoring is enabled in the UX Monitoring Profile.
-
Verify that the configured threshold is valid.
-
Check the browser console for initialization errors.
-
Confirm that the browser can send telemetry to GermainUX.
-
Review sampling, consent, and privacy settings.
-
Check whether browser or enterprise-security policies restrict battery access.
📦 Deployment and configuration
|
For your browser-based application |
|---|
|
Deploy GermainUX RUM JS. |
|
Confirm that the monitored browsers expose battery information. |
|
Use the preconfigured 15% threshold or configure a customer-specific threshold. |
|
Validate low-battery and charging-status-change events on a physical device. |
|
Review privacy, access, and retention requirements. |
|
Analyze battery events using the available browser and user-session KPIs. |
|
Configure alerts, Watches, dashboards, or reports only when required. |
ℹ️ Get Help
The Germain Team can help you set this up. Contact GermainUX Support.
Component: JS Profiler, RUM JS, RUM Extension
Feature Availability: 2017.1 or later
Browser Support: only latest Chrome, Edge and Opera