Skip to content

Commit 0eff824

Browse files
committed
fix: emit sample markers; only call start benchmark in first iteration
1 parent 56e942a commit 0eff824

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

core/src/codspeed.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,14 @@ void CodSpeed::start_benchmark(const std::string &name) {
8686
}
8787

8888
current_benchmark = uri;
89+
90+
measurement_add_marker(MARKER_TYPE_SAMPLE_START,
91+
measurement_current_timestamp());
8992
}
9093

9194
void CodSpeed::end_benchmark() {
95+
measurement_add_marker(MARKER_TYPE_SAMPLE_END,
96+
measurement_current_timestamp());
9297
measurement_set_executed_benchmark(current_benchmark);
9398

9499
benchmarked.push_back(current_benchmark);

google_benchmark/src/benchmark.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ void RunBenchmarks(const std::vector<BenchmarkInstance>& benchmarks,
566566

567567
#ifdef CODSPEED_WALLTIME
568568
auto* codspeed = codspeed::CodSpeed::getInstance();
569-
if (codspeed != nullptr) {
569+
if (codspeed != nullptr && runner.IsFirstRepetition()) {
570570
codspeed->start_benchmark(runner.GetBenchmarkName());
571571
}
572572
#endif

google_benchmark/src/benchmark_runner.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,10 @@ class BenchmarkRunner {
6060
return GetNumRepeats() != num_repetitions_done;
6161
}
6262

63+
bool IsFirstRepetition() const {
64+
return num_repetitions_done == 0;
65+
}
66+
6367
void DoOneRepetition();
6468

6569
RunResults&& GetResults();

0 commit comments

Comments
 (0)