Apollo 10.0
自动驾驶开放平台
apollo::monitor::RecorderMonitor类 参考

#include <recorder_monitor.h>

类 apollo::monitor::RecorderMonitor 继承关系图:
apollo::monitor::RecorderMonitor 的协作图:

Public 成员函数

 RecorderMonitor ()
 
void RunOnce (const double current_time) override
 
- Public 成员函数 继承自 apollo::monitor::RecurrentRunner
 RecurrentRunner (const std::string &name, const double interval)
 
virtual ~RecurrentRunner ()=default
 
void Tick (const double current_time)
 

额外继承的成员函数

- Protected 属性 继承自 apollo::monitor::RecurrentRunner
std::string name_
 
unsigned int round_count_ = 0
 

详细描述

在文件 recorder_monitor.h23 行定义.

构造及析构函数说明

◆ RecorderMonitor()

apollo::monitor::RecorderMonitor::RecorderMonitor ( )

在文件 recorder_monitor.cc39 行定义.

40 : RecurrentRunner(FLAGS_smart_recorder_monitor_name,
41 FLAGS_smart_recorder_monitor_interval) {}
RecurrentRunner(const std::string &name, const double interval)

成员函数说明

◆ RunOnce()

void apollo::monitor::RecorderMonitor::RunOnce ( const double  current_time)
overridevirtual

实现了 apollo::monitor::RecurrentRunner.

在文件 recorder_monitor.cc43 行定义.

43 {
44 auto manager = MonitorManager::Instance();
45 auto* component = apollo::common::util::FindOrNull(
46 *manager->GetStatus()->mutable_components(),
47 FLAGS_smart_recorder_component_name);
48 if (component == nullptr) {
49 // SmartRecorder is not monitored in current mode, skip.
50 return;
51 }
52
53 static auto reader =
54 manager->CreateReader<SmartRecorderStatus>(FLAGS_recorder_status_topic);
55 reader->Observe();
56 const auto status = reader->GetLatestObserved();
57
58 ComponentStatus* component_status = component->mutable_other_status();
59 component_status->clear_status();
60 if (status == nullptr) {
61 SummaryMonitor::EscalateStatus(ComponentStatus::ERROR,
62 "No SmartRecorderStatus received",
63 component_status);
64 return;
65 }
66
67 // Translate SmartRecorderStatus to ComponentStatus. Note that ERROR and FATAL
68 // will trigger safety mode in current settings.
69 switch (status->recording_state()) {
70 case RecordingState::RECORDING:
71 SummaryMonitor::EscalateStatus(ComponentStatus::OK, "", component_status);
72 break;
73 case RecordingState::TERMINATING:
75 ComponentStatus::WARN,
76 absl::StrCat("WARNNING: ", status->state_message()),
77 component_status);
78 break;
79 case RecordingState::STOPPED:
81 ComponentStatus::OK,
82 absl::StrCat("STOPPED: ", status->state_message()), component_status);
83 break;
84 default:
85 AFATAL << "Unknown recording status: " << status->recording_state();
86 break;
87 }
88}
static void EscalateStatus(const ComponentStatus::Status new_status, const std::string &message, ComponentStatus *current_status)
#define AFATAL
Definition log.h:45

该类的文档由以下文件生成: