Skip to content

test(test-service-load): log driverTenantName to telemetry from stress tests - #28010

Open
shlevari wants to merge 2 commits into
microsoft:mainfrom
shlevari:wi66983-stress-driver-tenant-name
Open

test(test-service-load): log driverTenantName to telemetry from stress tests#28010
shlevari wants to merge 2 commits into
microsoft:mainfrom
shlevari:wi66983-stress-driver-tenant-name

Conversation

@shlevari

Copy link
Copy Markdown
Contributor

Stress tests did not log the driverTenantName telemetry dimension that E2E tests and perf benchmarks already emit, so there was no way to tell which ODSP tenant a stress run exercised. That makes it hard to investigate whether a particular tenant is being hit too hard, which is a likely source of throttling errors.

Add the dimension to the orchestrator and to each child runner. The runner now creates its test driver before the logger so the tenant name is available as a dimension; driver creation is wrapped so a failure there still reports runnerFailed telemetry instead of exiting silently.

ADO: 66983

@github-actions github-actions Bot added area: tools area: repo Repo related work area: website area: tests Tests to add, test infrastructure improvements, etc base: main PRs targeted against main branch labels Aug 18, 2026
@github-actions

github-actions Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Hi! Thank you for opening this PR. Want me to review it?

Based on the diff (48 lines, 3 files), I've queued these reviewers:

  • Correctness — logic errors, race conditions, lifecycle issues
  • Security — vulnerabilities, secret exposure, injection
  • API Compatibility — breaking changes, release tags, type design
  • Performance — algorithmic regressions, memory leaks
  • Testing — coverage gaps, hollow tests

How this works

  • Adjust the reviewer set by ticking/unticking boxes above. Reviewer toggles alone don't trigger anything.

  • Tick Start review below to dispatch the review fleet.

  • After review finishes, tick Start review again to request another run — it auto-resets after each dispatch.

  • This comment updates as new commits land; your reviewer selections are preserved.

  • Start review

…s tests

Stress tests did not log the driverTenantName telemetry dimension that E2E tests and perf benchmarks already emit, so there was no way to tell which ODSP tenant a stress run exercised. That makes it hard to investigate whether a particular tenant is being hit too hard, which is a likely source of throttling errors.

Add the dimension to the orchestrator and to each child runner. The runner now creates its test driver before the logger so the tenant name is available as a dimension; driver creation is wrapped so a failure there still reports runnerFailed telemetry instead of exiting silently.

ADO: 66983

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@shlevari
shlevari force-pushed the wi66983-stress-driver-tenant-name branch from 6d0e2d2 to e0acfb3 Compare August 18, 2026 23:57
@shlevari
shlevari marked this pull request as ready for review August 18, 2026 23:58
Copilot AI lite review requested due to automatic review settings August 18, 2026 23:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds driverTenantName as a telemetry dimension for test-service-load stress tests so runs can be attributed to the ODSP tenant being exercised (matching what E2E/perf tests already emit).

Changes:

  • Emit driverTenantName from the orchestrator logger (main.ts).
  • Create the test driver before the runner logger so child runners can include driverTenantName in all telemetry (runner.ts).
  • Extend the shared createLogger dimension type contract to include driverTenantName (FileLogger.ts).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
packages/test/test-service-load/src/runner.ts Creates the test driver earlier to log tenant name; adds setup-time failure telemetry path.
packages/test/test-service-load/src/main.ts Adds driverTenantName to orchestrator telemetry dimensions.
packages/test/test-service-load/src/FileLogger.ts Updates logger dimension typing to include driverTenantName.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +115 to +117
// Flush before rethrowing: the top-level handler exits the process immediately.
await flushSetup();
throw error;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Copilot suggestion seems good, otherwise LGTM. Ideally let's verify this before merging by pushing it to a test/ branch in the upstream repo and doing a manual run of Build - client packages -> Real Service Stress test and checking that the new field shows up in Kusto telemetry for that run.

@github-actions

Copy link
Copy Markdown
Contributor

Fleet Review — In progress

Running reviewers: correctness, security, api-compatibility, performance, testing

View run

A rejected flush would replace the original createTestDriver failure being rethrown, hiding the root cause of the runner exiting.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

Bundle size comparison

Base commit: 42f17839eb4b69ccb7d45489fea1244750640023
Head commit: b70b54293bfc3c04756ba92a2780e6f4695dbf08

Pending — Build - client packages is running. Results will appear here when the build completes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: repo Repo related work area: tests Tests to add, test infrastructure improvements, etc area: tools area: website base: main PRs targeted against main branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants