aboutsummaryrefslogtreecommitdiff
path: root/src/tracing/core/packet_stream_validator_benchmark.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tracing/core/packet_stream_validator_benchmark.cc')
-rw-r--r--src/tracing/core/packet_stream_validator_benchmark.cc73
1 files changed, 0 insertions, 73 deletions
diff --git a/src/tracing/core/packet_stream_validator_benchmark.cc b/src/tracing/core/packet_stream_validator_benchmark.cc
deleted file mode 100644
index 9813b616c..000000000
--- a/src/tracing/core/packet_stream_validator_benchmark.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright (C) 2018 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include <benchmark/benchmark.h>
-
-#include "src/tracing/core/packet_stream_validator.h"
-
-#include "perfetto/ext/tracing/core/slice.h"
-#include "perfetto/protozero/scattered_heap_buffer.h"
-
-#include "protos/perfetto/trace/ftrace/ftrace_event.pbzero.h"
-#include "protos/perfetto/trace/ftrace/ftrace_event_bundle.pbzero.h"
-#include "protos/perfetto/trace/ftrace/sched.pbzero.h"
-#include "protos/perfetto/trace/test_event.pbzero.h"
-#include "protos/perfetto/trace/trace_packet.pbzero.h"
-
-namespace {
-
-static void BM_PacketStreamValidator(benchmark::State& state) {
- using namespace perfetto;
-
- // Create a packet that resembles a ftrace sched bundle. A ftrace page is
- // 4KB and typically contains ~64 sched events of 64 bytes each.
- protozero::HeapBuffered<protos::pbzero::TracePacket> packet;
- auto* bundle = packet->set_ftrace_events();
- bundle->set_cpu(1);
- for (size_t events = 0; events < 64; events++) {
- auto* ftrace_evt = bundle->add_event();
- ftrace_evt->set_pid(12345);
- ftrace_evt->set_timestamp(1000ull * 1000 * 1000 * 3600 * 24 * 365);
- auto* sched_switch = ftrace_evt->set_sched_switch();
- sched_switch->set_prev_comm("thread_name_1");
- sched_switch->set_prev_pid(12345);
- sched_switch->set_prev_state(42);
- sched_switch->set_next_comm("thread_name_2");
- sched_switch->set_next_pid(67890);
- }
- std::vector<uint8_t> buf = packet.SerializeAsArray();
-
- // Append 10 packets like the one above, splitting each packet into slices
- // of 512B each.
- Slices slices;
- static constexpr size_t kSliceSize = 512;
- for (size_t num_packets = 0; num_packets < 10; num_packets++) {
- for (size_t pos = 0; pos < buf.size(); pos += kSliceSize) {
- size_t slice_size = std::min(kSliceSize, buf.size() - pos);
- Slice slice = Slice::Allocate(slice_size);
- memcpy(slice.own_data(), &buf[pos], slice_size);
- slices.emplace_back(std::move(slice));
- }
- }
-
- bool res = true;
- while (state.KeepRunning()) {
- res &= PacketStreamValidator::Validate(slices);
- }
- PERFETTO_CHECK(res);
-}
-
-} // namespace
-
-BENCHMARK(BM_PacketStreamValidator);