feat: Add optel-interpreter skill for EDS content ops - #188
Conversation
- Explorer is at www.aem.live/tools/oversight/explorer.html - RUM Bundler API is path-based (/bundles/{domain}/{year}/{month}/{day}) with the domain key as ?domainkey=, not a Bearer header - Correct the bundle/event response shape (rumBundles, events[].checkpoint) Co-Authored-By: claude-flow <ruv@ruv.net>
trieloff
left a comment
There was a problem hiding this comment.
point your agent to adobe/helix-home#473 and feel free to steal the best parts.
|
|
||
| ## What Is OpTel Explorer? | ||
|
|
||
| Adobe rebranded RUM (Real User Monitoring) Explorer to Operational Telemetry Explorer in early 2025. The tool is available at `www.aem.live/tools/oversight/explorer.html` and requires a domain key (passed as the `?domainkey=` query parameter), which is provisioned when a site is onboarded to EDS. OpTel captures data from real user sessions — not synthetic tests — by injecting a lightweight sampling script into every EDS page. The data includes Core Web Vitals (LCP, CLS, INP), page view counts, traffic referrers, device types (mobile, desktop, tablet), browser types, geographic regions, and engagement signals. |
There was a problem hiding this comment.
It's now on tools.aem.live
| | Traffic numbers seem impossibly low | Sampling rate not accounted for | Multiply the raw count by the sampling ratio (typically 100x) to estimate actual traffic | | ||
| | CWV data is missing for Safari users | Safari does not fully support the Performance Observer API | Acknowledge the gap — CWV data is primarily from Chromium browsers; Safari metrics may be underrepresented | | ||
| | Metrics fluctuate wildly day to day | Low traffic volume produces noisy samples | Use a wider date range (7-30 days) to smooth out sampling variance | | ||
| | LCP shows "good" but pages feel slow | TTFB may be high, which is not captured separately in CWV | Check server response time independently using curl or WebPageTest | |
There was a problem hiding this comment.
TTFB always contributes to LCP, so a good LCP and a bad TTFB are almost impossible. The "feels slow" is likely INP, not TTFB.
| INP measures responsiveness to user interaction. | ||
| - **Distribution**: Percentage of interactions with INP > 200ms. | ||
| - **Worst pages**: Top N URLs by p75 INP (`cwvINP`). | ||
| - **Common EDS causes**: Heavy block decoration JS (accordions, tabs, carousels), synchronous layout reads followed by DOM writes (forced reflows), third-party scripts adding event listeners globally, or large DOM size from deeply nested block structures. |
There was a problem hiding this comment.
Observation and Mutation listeners, in particular.
|
|
||
| Record the **domain**, **date range**, and **sampling rate** (if known). If the sampling rate is not provided, note that absolute traffic numbers are estimates. | ||
|
|
||
| ### Fetching OpTel Data via the RUM API |
There was a problem hiding this comment.
This should probably use the adobe/rum-distiller library.
…V accuracy - OpTel Explorer is at www.aem.live/tools/rum/explorer.html (verified live; the tools.aem.live host serves admin tools, no Explorer there) - Fetch/process bundles with Adobe's official @adobe/rum-distiller from bundles.aem.page (replaces stale rum.hlx.page + hand-rolled parsing) - Correct the TTFB/LCP troubleshooting row: TTFB is a component of LCP, so a slow *feel* is an INP problem, not TTFB - Add MutationObserver / observation listeners as a common INP cause Addresses @trieloff review on adobe#188.
|
Thanks Lars, done. Now uses On the Explorer URL: I went with |
|
cc @trieloff Friendly nudge — the review feedback was addressed and pushed on July 7: the skill now uses One question still open for you from that comment: which Explorer URL you'd prefer. I went with On the red tessl checks: they appear CI-side — the runs on this fork PR sat waiting for an environment approval and timed out after 30 days ("The deployment was rejected or didn't satisfy other protection rules"), the same class of red check #186 merged with. |
|
Thanks @trieloff, addressed. The TTFB/LCP note is rewritten: a good LCP already implies an acceptable TTFB, so a slow feel is almost always an INP problem, and the skill now points to the INP breakdown. Observation and Mutation listeners are called out as a common INP cause during decoration. The skill uses @adobe/rum-distiller for programmatic OpTel access now, with a DataChunks example. On the URL: the OpTel Explorer resolves at www.aem.live/tools/rum/explorer.html (returns 200), while tools.aem.live hosts the admin tools but not the explorer itself, so I kept the working link. Happy to switch it if there is a newer canonical home. Ready for re-review. |
Summary
Adds the optel-interpreter skill to the EDS content ops plugin.
Translates Adobe OpTel (RUM) Explorer data into a prioritized recommendations report — ranks worst pages by CWV metric, segments by device and page type, and traffic-weights findings.
Follows the established format (functional description, External Content Safety, concrete code examples, reference file for progressive disclosure, Apache-2.0). Submitted as a standalone PR per @trieloff's request to keep one skill per PR.
Test plan