perfetto: add end to end benchmarking
Bug: 74380167
Change-Id: I448d72492e9a2aaa1123188f38b79492d4be6851
diff --git a/test/fake_producer.h b/test/fake_producer.h
index edc0643..8dd1d51 100644
--- a/test/fake_producer.h
+++ b/test/fake_producer.h
@@ -18,12 +18,14 @@
#define TEST_FAKE_PRODUCER_H_
#include <memory>
+#include <random>
#include <string>
+#include "perfetto/base/thread_checker.h"
#include "perfetto/tracing/core/data_source_descriptor.h"
#include "perfetto/tracing/core/producer.h"
+#include "perfetto/tracing/core/trace_config.h"
#include "perfetto/tracing/ipc/producer_ipc_client.h"
-
#include "src/base/test/test_task_runner.h"
namespace perfetto {
@@ -35,7 +37,11 @@
void Connect(const char* socket_name,
base::TaskRunner* task_runner,
- std::function<void()> data_produced_callback);
+ std::function<void()> on_create_data_source_instance);
+
+ // Produces a batch of events (as configured in the DataSourceConfig) and
+ // posts a callback when the service acknowledges the commit.
+ void ProduceEventBatch(std::function<void()> callback);
// Producer implementation.
void OnConnect() override;
@@ -49,12 +55,15 @@
private:
void Shutdown();
+ base::ThreadChecker thread_checker_;
+ base::TaskRunner* task_runner_ = nullptr;
std::string name_;
DataSourceID id_ = 0;
-
+ std::minstd_rand0 rnd_engine_;
+ size_t message_count_ = 0;
+ std::function<void()> on_create_data_source_instance_;
std::unique_ptr<Service::ProducerEndpoint> endpoint_;
- base::TaskRunner* task_runner_ = nullptr;
- std::function<void()> data_produced_callback_;
+ std::unique_ptr<TraceWriter> trace_writer_;
};
} // namespace perfetto