#include <string>
#include "base/at_exit.h"
#include "base/atomic_sequence_num.h"
#include "base/check_op.h"
#include "base/json/json_reader.h"
#include "base/json/json_writer.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/run_loop.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/stringprintf.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/task_environment.h"
#include "base/values.h"
#include "components/cronet/native/test/test_upload_data_provider.h"
#include "components/cronet/native/test/test_url_request_callback.h"
#include "components/cronet/native/test/test_util.h"
#include "cronet_c.h"
#include "net/base/net_errors.h"
#include "net/cert/mock_cert_verifier.h"
namespace {
enum ExecutorType { … };
enum Direction { … };
enum Size { … };
enum Protocol { … };
std::unique_ptr<base::Value::Dict> g_options;
std::string GetConfigString(const char* key) { … }
int GetConfigInt(const char* key) { … }
std::string BuildBenchmarkName(ExecutorType executor,
Direction direction,
Protocol protocol,
int concurrency,
int iterations) { … }
class UploadDataProvider : public cronet::test::TestUploadDataProvider { … };
class Callback : public cronet::test::TestUrlRequestCallback { … };
class Benchmark { … };
}
void PerfTest(const char* json_args) { … }