fix: sample rendered trace rows only (#855)
Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
@@ -1717,7 +1717,7 @@ async function sampleOnePage(targetPage, { reason, groupSeq, pageRole, targetPag
|
||||
}
|
||||
return null;
|
||||
};
|
||||
const summarize = (selector, limit) => Array.from(document.querySelectorAll(selector)).filter(visible).slice(-limit).map((element, index) => {
|
||||
const summarizeElements = (elements, limit) => elements.filter(visible).slice(-limit).map((element, index) => {
|
||||
const rect = element.getBoundingClientRect();
|
||||
const owner = element.closest('article.message-card, .message-card[data-message-id], article[data-message-id], [data-trace-id]');
|
||||
const timeElement = element.matches("time,[datetime]") ? element : element.querySelector("time,[datetime]");
|
||||
@@ -1741,6 +1741,7 @@ async function sampleOnePage(targetPage, { reason, groupSeq, pageRole, targetPag
|
||||
rect: { x: Math.round(rect.x), y: Math.round(rect.y), width: Math.round(rect.width), height: Math.round(rect.height) },
|
||||
};
|
||||
});
|
||||
const summarize = (selector, limit) => summarizeElements(Array.from(document.querySelectorAll(selector)), limit);
|
||||
const summarizeMessages = (selector, limit) => Array.from(document.querySelectorAll(selector)).filter(visible).slice(-limit).map((element, index) => {
|
||||
const rect = element.getBoundingClientRect();
|
||||
return {
|
||||
@@ -1793,10 +1794,13 @@ async function sampleOnePage(targetPage, { reason, groupSeq, pageRole, targetPag
|
||||
const activeSession = document.querySelector('[data-active="true"][data-session-id], [aria-selected="true"][data-session-id], .active[data-session-id]');
|
||||
const activeSessionId = activeSession ? activeSession.getAttribute("data-session-id") : null;
|
||||
const messageSelector = 'article.message-card, .message-card[data-message-id], article[data-message-id]';
|
||||
const traceSelector = '[data-testid*="trace" i], [class*="trace" i], [data-trace-id], [data-testid*="event" i]';
|
||||
const stableTraceSelector = 'li.trace-render-row[data-row-id], li.trace-render-row[data-testid="trace-render-row"], [data-testid="trace-render-row"][data-row-id]';
|
||||
const fallbackTraceSelector = '[data-testid*="trace" i], [class*="trace" i], [data-trace-id], [data-testid*="event" i]';
|
||||
const diagnosticSelector = '.api-error-diagnostic, [class*="api-error-diagnostic" i], [class*="message-diagnostic" i], [class*="projection-diagnostic" i], [data-testid="api-error-diagnostic" i], [data-testid="error-diagnostic" i], [data-testid*="diagnostic" i], [role="alert"], [aria-live="assertive"]';
|
||||
const messages = summarizeMessages(messageSelector, 80);
|
||||
const traceRows = summarize(traceSelector, 30);
|
||||
const stableTraceElements = Array.from(document.querySelectorAll(stableTraceSelector));
|
||||
const fallbackTraceElements = Array.from(document.querySelectorAll(fallbackTraceSelector)).filter((element) => element.matches('li,[role="listitem"],[data-testid*="trace-row" i],[data-testid*="event-row" i]'));
|
||||
const traceRows = summarizeElements(stableTraceElements.length > 0 ? stableTraceElements : fallbackTraceElements, 30);
|
||||
const loadings = collectLoadingNodes();
|
||||
const sessionRail = collectSessionRailTitles();
|
||||
const diagnostics = Array.from(document.querySelectorAll(diagnosticSelector)).filter(visible).slice(-40).map((element, index) => {
|
||||
|
||||
Reference in New Issue
Block a user