What is Partial Upload Support

Partial upload support allows you to run incomplete benchmark suites while still receiving comprehensive performance reports. When benchmarks are missing from a run (due to conditional CI workflows, build failures, or selective execution), CodSpeed automatically uses baseline results from previous runs to fill the gaps. This feature is enabled by default for all repositories and requires no configuration.

Common Use Cases

Partial uploads are particularly useful for:
  • Conditional CI workflows that skip certain benchmark suites based on file changes
  • Faster development cycles where you only run relevant benchmarks during development
  • Resource optimization by running expensive benchmarks only when necessary
  • Build failures where some benchmark suites fail but others succeed

Understanding Skipped Benchmarks

When CodSpeed detects missing benchmarks in a run, it automatically:
  1. Identifies missing benchmarks by comparing the current run to previous runs
  2. Retrieves baseline results from the most recent run containing those benchmarks
  3. Displays them as “skipped” with clear visual indicators in reports

What are Baseline Results?

Baseline results are benchmark measurements from previous runs that CodSpeed uses to maintain complete reports when benchmarks are missing. These results:
  • Come from the most recent run where the benchmark was executed
  • Are clearly marked as baseline in the UI to maintain transparency
  • Allow full performance comparisons even with partial runs
  • Do not affect the overall performance assessment of the current run

How Skipped Benchmarks Appear in the UI

Branch View

In branch reports, skipped benchmarks appear in a dedicated section:
  • Summary indicator: Shows count of skipped benchmarks with a ⏩ icon
  • Skipped section: Lists all benchmarks using baseline results
  • Baseline markers: Each skipped benchmark shows which run provided the baseline result
  • Archive option: Allows archiving benchmarks that are no longer needed
The “Go to skipped benchmarks” link in the summary takes you directly to the skipped section for easy management.

Run View

Individual run pages display skipped benchmarks with:
  • “Skipped” tags with blue styling and fast-forward icons
  • Baseline run links showing which previous run provided the results
  • Performance data from the baseline run for comparison purposes

Compare View

When comparing runs, skipped benchmarks show:
  • Baseline markers indicating which side uses baseline results
  • Full comparison data using the appropriate baseline values
  • Visual indicators distinguishing between current and baseline results

Benefits of Partial Upload Support

For Development Teams

  • Maintain comprehensive reports even with incomplete runs
  • Reduce CI execution time by selectively running benchmarks
  • Keep performance history intact without gaps in data
  • Enable flexible workflows based on code changes

For Performance Monitoring

  • Continuous performance tracking regardless of which benchmarks run
  • Historical trend analysis without missing data points
  • Complete performance comparisons between any two commits
  • Reliable regression detection across partial runs

Managing Persistently Skipped Benchmarks

When benchmarks are consistently skipped across multiple runs, you may want to consider archiving them if they’re no longer relevant to your codebase.
If benchmarks are skipped because you’ve removed the corresponding code, use the archiving benchmarks feature to permanently remove them from future reports.

When to Archive vs Keep Skipped

Archive benchmarks when:
  • The benchmarked code has been permanently removed
  • The benchmark is no longer relevant to your project
  • You want to clean up your benchmark list
Keep skipped benchmarks when:
  • The code still exists but benchmarks run conditionally
  • You plan to re-enable the benchmarks in the future
  • The benchmarks provide valuable historical context

Integration with Other Features

Partial upload support works seamlessly with:
  • Archiving Benchmarks: Archive persistently skipped benchmarks
  • Ignoring Benchmarks: Ignore flaky benchmarks while keeping skipped ones
  • Performance Checks: Regression detection works normally with baseline results
  • Sharded Benchmarks: Individual shards can be skipped while others complete
Partial upload support is automatically enabled and requires no configuration. CodSpeed intelligently handles missing benchmarks to ensure you always have complete performance insights.