1AUTHOR = "David Sharp <dhsharp@google.com>"
2NAME = "Tracing microbenchmark"
3TIME = "SHORT"
4TEST_CATEGORY = "Benchmark"
5TEST_CLASS = "Kernel"
6TEST_TYPE = "client"
7
8DOC = """
9A simple benchmark of kernel tracers such as ftrace. Enables tracepoints in
10sys_getuid and makes 100,000 calls to getuid with tracing on and off to measure
11the overhead of enabling tracing. The intent for this benchmark is to not
12overflow the ring buffer, so the buffer is generously sized.
13
14
15tracer:  tracepoint enabled
16------
17off:     n/a
18ftrace:  syscalls:sys_enter_getuid
19
20Args:
21  tracer: see table above.
22  buffer_size_kb: Set the tracing ring buffer to this size (per-cpu).
23  calls: Set the number of calls to make to getuid.
24"""
25
26
27job.run_test('tracing_microbenchmark', tracer='off', tag='off', iterations=10)
28job.run_test('tracing_microbenchmark', tracer='ftrace', tag='ftrace', iterations=10)
29