v2.5.0
-
@splunk/otel-web- Frustration signals - dead clicks detection #1697
- Detects when a user clicks an interactive element (button, link, or submit input) that produces no meaningful response — no DOM mutation and no network activity within a configurable time window
- Enabled via
instrumentations.frustrationSignals.deadClick: trueor with custom options (timeWindowMs,ignoreUrls) - Default detection window is 1000ms
- Frustration signals - error clicks detection #1681
- Detects when a user clicks on a UI element and a JavaScript error occurs shortly afterward
- The frustration span captures the error message, error type, clicked element, and links to the original click and error spans
- Enabled via
instrumentations.frustrationSignals.errorClick: trueor with custom options (timeWindowMs,ignoreUrls)
SplunkRum.init({ instrumentations: { frustrationSignals: { deadClick: true, errorClick: true, }, }, })
- Add
_experimental_adjustSessionStartToTimeOriginconfig option #1705- Backdates session start time using
performance.timeOriginto reflect when the tab opened rather than when the SDK initialized - Drops spans whose start time predates the session start time by not assigning a session ID
- Anchors
session.startspan to the precise session start moment
- Backdates session start time using
- Use nanoid for IDs to prevent collisions #1701, #1752
- Cryptographically secure ID generation using nanoid is now used by default for all IDs, preventing duplicate session IDs from Googlebot's seeded Math.random()
- Add retry strategy for anonymous user ID persistence #1703
- Adds write-back verification with retry capability (up to 3 attempts) when persisting the anonymous user ID cookie
- Fix init session missing from sessionHistory and notifications #1747
- Session initialization now follows the same processing path as subsequent updates, ensuring the initial session is added to
sessionHistory, persisted to storage, and triggers subscriber notifications
- Session initialization now follows the same processing path as subsequent updates, ensuring the initial session is added to
- Fix timestamp of webvitals spans #1700
- Fixed incorrect start times on web vitals spans when
experimental_alignWebVitalsSpansWithDocumentLoadis enabled
- Fixed incorrect start times on web vitals spans when
- Frustration signals - dead clicks detection #1697
-
@splunk/otel-web-session-recorder -
Updated dependencies #1750, #1744, #1745, #1742, #1746, #1738, #1739, #1737, #1740, #1741, #1726, #1730, #1727, #1731, #1729, #1728, #1734, #1732, #1720, #1718, #1721, #1723, #1722, #1719, #1724, #1717, #1708, #1706, #1711, #1712, #1715, #1714, #1713, #1709, #1699
⚠️ Upcoming breaking changes in v3.0.0
Action required before upgrading to v3.0.0:
- Domain migration: All domains are changing from
signalfx.comtoobservability.splunkcloud.com. This includes both the CDN (cdn.signalfx.com→cdn.observability.splunkcloud.com) and the ingest endpoint (rum-ingest.{realm}.signalfx.com→rum-ingest.{realm}.observability.splunkcloud.com). If your application uses a Content Security Policy (CSP), update yourscript-srcandconnect-srcdirectives to allow the new domains before upgrading. latestCDN tag discontinued: ThelatestCDN tag will stop being updated after v2.5.0. Users relying on thelatesttag should migrate to a versioned URL:
- <script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js"></script>
+ <script src="https://cdn.observability.splunkcloud.com/o11y-gdi-rum/v3/splunk-otel-web.js"></script>The following experimental config options will be removed in v3.0.0 and their behavior will be enabled by default. This may affect how sessions and data are counted:
_experimental_adjustSessionStartToTimeOrigin: Session start time will be automatically backdated toperformance.timeOrigin._experimental_discardDataAfterInactivity: Will be enabled by default. Data will be automatically discarded after 15 minutes of user inactivity. Set_experimental_discardDataAfterInactivity: falseto opt out.- OTLP exporter enabled by default: The OTLP exporter will replace Zipkin as the default export format. Set
exporter.otlp: falseto opt out. spaMetrics: Will be enabled by default. SetspaMetrics: falseto opt out.experimental_alignWebVitalsSpansWithDocumentLoad: All web vitals spans (LCP, CLS, INP) will be automatically anchored to the document load span — start time will match the documentLoad span timestamp rather than the time the metric was reported, andlocation.hrefwill reflect the original page load URL rather than the current URL after SPA navigation.
CDN
Version v2.5.0
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.5.0/background-service.html" integrity="sha384-0Plr22r4EPSZZYnvJBmBA9/uIjDusocispOGmWMnGxdiNRjuvgVHfOKsCCI90L1s" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.5.0/splunk-otel-web-session-recorder.js" integrity="sha384-1+DSuWpRN2BUC5/8kb1j7KQWn33hezDM5/fwfW91Fvz3eBWsfFeqtrFPL81/Mfa2" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.5.0/splunk-otel-web.js" integrity="sha384-Godz4Z/vwShSkBKV8KKryrIzvlp+TtSa6inBze2LzKosmtE4+KavzHV4dGmjOUcn" crossorigin="anonymous"></script>Version v2.5
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.5/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.5/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2.5/splunk-otel-web.js" crossorigin="anonymous"></script>Version v2
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/v2/splunk-otel-web.js" crossorigin="anonymous"></script>Version latest
WARNING: Content behind this URL might be updated when we release a new version.
For this reason we do not provide integrity attribute.
background-service.html:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/background-service.html" crossorigin="anonymous"></script>
splunk-otel-web-session-recorder.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web-session-recorder.js" crossorigin="anonymous"></script>
splunk-otel-web.js:
<script src="https://cdn.signalfx.com/o11y-gdi-rum/latest/splunk-otel-web.js" crossorigin="anonymous"></script>