[READ-ONLY] Mirror of https://github.com/vitest-dev/vitest. Next generation testing framework powered by Vite. vitest.dev
test testing-tools vite
12

Configure Feed

Select the types of activity you want to include in your feed.

fix(browser): simplify orchestrator otel carrier (#10285)

authored by

Hiroshi Ogawa and committed by
GitHub
(May 7, 2026, 4:17 PM +0100) 18af98ce 9f7b1528

+12 -5
+1 -1
packages/browser/src/node/serverOrchestrator.ts
··· 45 45 __VITEST_TYPE__: '"orchestrator"', 46 46 __VITEST_SESSION_ID__: JSON.stringify(sessionId), 47 47 __VITEST_TESTER_ID__: '"none"', 48 - __VITEST_OTEL_CARRIER__: url.searchParams.get('otelCarrier') ?? 'null', 48 + __VITEST_OTEL_CARRIER__: JSON.stringify(session?.otelCarrier ?? null), 49 49 __VITEST_PROVIDED_CONTEXT__: JSON.stringify(stringify(browserProject.project.getProvidedContext())), 50 50 __VITEST_API_TOKEN__: JSON.stringify(globalServer.vitest.config.api.token), 51 51 })
+1 -3
packages/vitest/src/node/project.ts
··· 626 626 const url = new URL('/__vitest_test__/', origin) 627 627 url.searchParams.set('sessionId', sessionId) 628 628 const otelCarrier = this.vitest._traces.getContextCarrier() 629 - if (otelCarrier) { 630 - url.searchParams.set('otelCarrier', JSON.stringify(otelCarrier)) 631 - } 632 629 this.vitest._browserSessions.sessionIds.add(sessionId) 633 630 const sessionPromise = this.vitest._browserSessions.createSession( 634 631 sessionId, 635 632 this, 636 633 pool, 634 + { otelCarrier }, 637 635 ) 638 636 const pagePromise = this.browser.provider.openPage( 639 637 sessionId,
+8 -1
packages/vitest/src/node/browser/sessions.ts
··· 1 + import type { OTELCarrier } from '../../utils/traces' 1 2 import type { TestProject } from '../project' 2 3 import type { BrowserServerStateSession } from '../types/browser' 3 4 import { createDefer } from '@vitest/utils/helpers' ··· 15 16 this.sessions.delete(sessionId) 16 17 } 17 18 18 - createSession(sessionId: string, project: TestProject, pool: { reject: (error: Error) => void }): Promise<void> { 19 + createSession( 20 + sessionId: string, 21 + project: TestProject, 22 + pool: { reject: (error: Error) => void }, 23 + options?: { otelCarrier?: OTELCarrier }, 24 + ): Promise<void> { 19 25 // this promise only waits for the WS connection with the orchestrator to be established 20 26 const defer = createDefer<void>() 21 27 ··· 25 31 26 32 this.sessions.set(sessionId, { 27 33 project, 34 + otelCarrier: options?.otelCarrier, 28 35 connected: () => { 29 36 defer.resolve() 30 37 clearTimeout(timeout)
+2
packages/vitest/src/node/types/browser.ts
··· 6 6 import type { BrowserCommands, CDPSession } from 'vitest/browser' 7 7 import type { BrowserTraceViewMode } from '../../runtime/config' 8 8 import type { BrowserTesterOptions } from '../../types/browser' 9 + import type { OTELCarrier } from '../../utils/traces' 9 10 import type { TestProject } from '../project' 10 11 import type { ApiConfig, ProjectConfig } from './config' 11 12 ··· 309 310 310 311 export interface BrowserServerStateSession { 311 312 project: TestProject 313 + otelCarrier?: OTELCarrier 312 314 connected: () => void 313 315 fail: (v: Error) => void 314 316 }