Skip to content

Add integration and performance test workflows - #217

Merged
Jackson Weber (JacksonWeber) merged 2 commits into
microsoft:mainfrom
JacksonWeber:jacksonweber/add-integration-performance-tests
Aug 11, 2026
Merged

Add integration and performance test workflows#217
Jackson Weber (JacksonWeber) merged 2 commits into
microsoft:mainfrom
JacksonWeber:jacksonweber/add-integration-performance-tests

Conversation

@JacksonWeber

Copy link
Copy Markdown
Contributor

Summary

  • add a built-package OTLP integration test and dedicated PR validation job
  • add base-vs-candidate span benchmarks with a 15% regression gate
  • upload benchmark JSON and Markdown report artifacts for review

Validation

  • npm run format
  • npm run lint
  • npm run build
  • npm run test:integration
  • benchmark and comparison smoke tests

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

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 CI coverage for end-to-end OTLP export from the built distribution and introduces a baseline-vs-candidate performance benchmark workflow with regression gating, producing artifacts for PR review.

Changes:

  • Add a built-package OTLP HTTP integration test and wire it into PR validation.
  • Add performance benchmark + comparison scripts with a regression threshold gate and artifact reporting.
  • Extend package scripts/formatting targets to include new integration/perf .mjs files.

Reviewed changes

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

Show a summary per file
File Description
test/integration/built-package-otlp.test.mjs New Node test that spawns the built distro and verifies it exports OTLP trace payloads to a local HTTP collector.
perf/compare.mjs New comparison tool to generate a Markdown report and fail the job on gated regressions over a threshold.
perf/benchmark.mjs New benchmark harness that measures span creation overhead from a built distro and writes results JSON.
package.json Adds integration/performance test scripts and updates prettier globs to format new .mjs files.
.github/workflows/pr-validation.yml Adds a dedicated integration test job to PR validation.
.github/workflows/performance.yml Adds a PR-triggered performance workflow comparing base vs PR results and uploading artifacts.
Suppressed comments (1)

perf/benchmark.mjs:79

  • To keep baseline vs candidate runs comparable (and avoid API version skew), resolve @opentelemetry/api from the packageRoot being benchmarked rather than from the harness checkout.
const distroEntryPoint = pathToFileURL(join(packageRoot, "dist", "esm", "index.js")).href;
process.env.MICROSOFT_OTEL_SDKSTATS_DISABLED = "true";
const { shutdownMicrosoftOpenTelemetry, useMicrosoftOpenTelemetry } = await import(
  distroEntryPoint
);

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

Comment thread perf/benchmark.mjs Outdated
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@JacksonWeber
Jackson Weber (JacksonWeber) merged commit af90ef7 into microsoft:main Aug 11, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants