| // Copyright 2017 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #pragma once |
| |
| #include <stddef.h> |
| |
| #include <trace-engine/types.h> |
| |
| struct BenchmarkSpec { |
| const char* name; |
| trace_buffering_mode_t mode; |
| size_t buffer_size; |
| // The number of iterations is a parameter to make it easier to |
| // experiment and debug. |
| unsigned num_iterations; |
| }; |
| |
| // Runs benchmarks which need tracing disabled. |
| void RunTracingDisabledBenchmarks(); |
| |
| // Runs benchmarks which need tracing enabled. |
| void RunTracingEnabledBenchmarks(const BenchmarkSpec* spec); |
| |
| // Runs benchmarks with NTRACE macro defined. |
| void RunNoTraceBenchmarks(); |