25 {
26 google::ParseCommandLineFlags(&argc, &argv, true);
27
28
29 std::signal(SIGTERM, [](int sig){
31 if (FLAGS_dv_cpu_profile) {
32 ProfilerStop();
33 }
34 if (FLAGS_dv_heap_profile) {
35 HeapProfilerDump("Befor shutdown");
36 HeapProfilerStop();
37 }
38 });
39
40 std::signal(SIGINT, [](int sig){
42 if (FLAGS_dv_cpu_profile) {
43 ProfilerStop();
44 }
45 if (FLAGS_dv_heap_profile) {
46 HeapProfilerDump("Befor shutdown");
47 HeapProfilerStop();
48 }
49 });
50
51 if (FLAGS_dv_cpu_profile) {
52 auto base_name_cpu = std::string(argv[0]) + "_cpu" + std::string(".prof");
53 ProfilerStart(base_name_cpu.c_str());
54 }
55 if (FLAGS_dv_heap_profile) {
56 auto base_name_heap = std::string(argv[0]) + "_heap" + std::string(".prof");
57 HeapProfilerStart(base_name_heap.c_str());
58 }
59
60 apollo::cyber::GlobalData::Instance()->SetProcessGroup("dreamview_sched");
62
64 const bool init_success = dreamview.
Init().
ok() && dreamview.
Start().
ok();
65 if (!init_success) {
66 AERROR <<
"Failed to initialize dreamview server";
67 return -1;
68 }
70 return 0;
71}
bool ok() const
check whether the return status is OK.
apollo::common::Status Init()
apollo::common::Status Start()
bool Init(const char *binary_name, const std::string &dag_info)