1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright © 2019-2020 Collabora, Ltd. 3*61046927SAndroid Build Coastguard Worker * Author: Antonio Caggiano <[email protected]> 4*61046927SAndroid Build Coastguard Worker * Author: Robert Beckett <[email protected]> 5*61046927SAndroid Build Coastguard Worker * Author: Corentin Noël <[email protected]> 6*61046927SAndroid Build Coastguard Worker * 7*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 8*61046927SAndroid Build Coastguard Worker */ 9*61046927SAndroid Build Coastguard Worker 10*61046927SAndroid Build Coastguard Worker #include <cstdlib> 11*61046927SAndroid Build Coastguard Worker 12*61046927SAndroid Build Coastguard Worker #include "pps_datasource.h" 13*61046927SAndroid Build Coastguard Worker main(int argc,const char ** argv)14*61046927SAndroid Build Coastguard Workerint main(int argc, const char **argv) 15*61046927SAndroid Build Coastguard Worker { 16*61046927SAndroid Build Coastguard Worker using namespace pps; 17*61046927SAndroid Build Coastguard Worker 18*61046927SAndroid Build Coastguard Worker // Connects to the system tracing service 19*61046927SAndroid Build Coastguard Worker perfetto::TracingInitArgs args; 20*61046927SAndroid Build Coastguard Worker args.backends = perfetto::kSystemBackend; 21*61046927SAndroid Build Coastguard Worker perfetto::Tracing::Initialize(args); 22*61046927SAndroid Build Coastguard Worker 23*61046927SAndroid Build Coastguard Worker std::string driver_name = 24*61046927SAndroid Build Coastguard Worker (argc > 1) ? Driver::find_driver_name(argv[1]) : Driver::default_driver_name(); 25*61046927SAndroid Build Coastguard Worker GpuDataSource::register_data_source(driver_name); 26*61046927SAndroid Build Coastguard Worker 27*61046927SAndroid Build Coastguard Worker const auto &driver = Driver::get_supported_drivers().at(driver_name); 28*61046927SAndroid Build Coastguard Worker if (!driver->is_dump_perfcnt_preemptible()) 29*61046927SAndroid Build Coastguard Worker make_thread_rt(); 30*61046927SAndroid Build Coastguard Worker 31*61046927SAndroid Build Coastguard Worker while (true) { 32*61046927SAndroid Build Coastguard Worker GpuDataSource::wait_started(); 33*61046927SAndroid Build Coastguard Worker GpuDataSource::Trace(GpuDataSource::trace_callback); 34*61046927SAndroid Build Coastguard Worker } 35*61046927SAndroid Build Coastguard Worker 36*61046927SAndroid Build Coastguard Worker return EXIT_SUCCESS; 37*61046927SAndroid Build Coastguard Worker } 38