-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[docs] Add performance benchmarking guide and contributor guidelines #14234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
[docs] Add performance benchmarking guide and contributor guidelines #14234
Conversation
Address maintainer review feedback for issue open-telemetry#14111. Changes to docs/performance-benchmarking.md: - Fix order: MEMBENCH environment variable is set before running benchmarks - Fix timebenchmark description to explain it skips fast-running benchmarks - Update benchmark examples to use b.Loop() instead of for i := 0; i < b.N; i++ - Remove b.ResetTimer() as it is not necessary with b.Loop() - Fix trailing whitespace Other changes: - Remove changelog entry (not needed for documentation changes)
6b93093 to
cf33fe2
Compare
|
Please avoid force-pushing PRs. That breaks the GitHub review UI. |
Sorry! will keep in mind next time |
CodSpeed Performance ReportMerging #14234 will improve performances by ×2.9Comparing
|
| Benchmark | BASE |
HEAD |
Change | |
|---|---|---|---|---|
| ⚡ | zstdWithConcurrency |
19 µs | 6.6 µs | ×2.9 |
| ⚡ | BenchmarkSplittingBasedOnItemCountManySmallLogs |
3.3 ms | 2.4 ms | +35.11% |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #14234 +/- ##
==========================================
- Coverage 92.16% 92.16% -0.01%
==========================================
Files 668 668
Lines 41463 41463
==========================================
- Hits 38216 38214 -2
- Misses 2214 2215 +1
- Partials 1033 1034 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
… docs Added the following terms to the spell-check allowed words list: - benchtime: Go benchmark time flag - cpuprofile: Go CPU profiling flag - flamegraphs: Performance visualization tool term - MEMBENCH: Memory benchmark environment variable - memprofile: Go memory profiling flag - timebenchmark: Custom benchmark timing function reference - walltime: Wall-clock time measurement term These terms are used in the new performance benchmarking documentation and are legitimate technical vocabulary.
Description
This commit addresses issue #14111 by documenting the investigation into performance change detection tooling for the OpenTelemetry Collector.
Changes:
The investigation found that CodSpeed (integrated in PR #14160) provides continuous performance regression detection on all PRs and commits to main, with <1% variance and commit-level differential flamegraphs.
This documentation enables contributors to understand the performance testing infrastructure and follow best practices when making changes that could affect collector performance.
Link to tracking issue
Fixes #14111
Testing
NA
Documentation
Created Performance Benchmarking Guide
File: docs/performance-benchmarking.md
Updated CONTRIBUTING.md
File: CONTRIBUTING.md