Apollo 10.0
自动驾驶开放平台
apollo::cyber::profiler::BlockManager类 参考

#include <block_manager.h>

apollo::cyber::profiler::BlockManager 的协作图:

Public 类型

using RoutineName = std::string
 
using RoutineFrameMap = std::unordered_map< RoutineName, Frame >
 

Public 成员函数

void StartBlock (Block *block)
 
void EndBlock ()
 

详细描述

在文件 block_manager.h31 行定义.

成员类型定义说明

◆ RoutineFrameMap

在文件 block_manager.h34 行定义.

◆ RoutineName

在文件 block_manager.h33 行定义.

成员函数说明

◆ EndBlock()

void apollo::cyber::profiler::BlockManager::EndBlock ( )

在文件 block_manager.cc39 行定义.

39 {
40 Frame* frame_ptr = GetRoutineFrame();
41 if (frame_ptr == nullptr || frame_ptr->finished())
42 return;
43
44 Block* block = frame_ptr->Top();
45 block->End();
46 frame_ptr->Pop();
47
48 if (frame_ptr->finished()) {
49 const std::string& routine_name = GetRoutineName();
50 frame_ptr->DumpToFile(routine_name);
51 frame_ptr->Clear();
52 }
53}

◆ StartBlock()

void apollo::cyber::profiler::BlockManager::StartBlock ( Block block)

在文件 block_manager.cc30 行定义.

30 {
31 Frame* frame_ptr = GetRoutineFrame();
32 if (frame_ptr == nullptr || block == nullptr)
33 return;
34 frame_ptr->Push(block);
35 block->set_depth(frame_ptr->size());
36 block->Start();
37}

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