|
|
|
@ -646,7 +646,6 @@ DeviceTracer *GetDeviceTracer() {
|
|
|
|
|
// so when event is not in same thread of PE event, we need add
|
|
|
|
|
// father event(PE::run event) for this event
|
|
|
|
|
void SetCurAnnotation(Event *event) {
|
|
|
|
|
std::string ret;
|
|
|
|
|
if (!annotation_stack.empty()) {
|
|
|
|
|
event->set_parent(annotation_stack.back());
|
|
|
|
|
event->set_name(annotation_stack.back()->name() + "/" + event->name());
|
|
|
|
@ -670,17 +669,16 @@ void SetCurAnnotation(Event *event) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ClearCurAnnotation() {
|
|
|
|
|
if (!main_thread_annotation_stack.empty() &&
|
|
|
|
|
main_thread_annotation_stack.back()->name() ==
|
|
|
|
|
annotation_stack.back()->name()) {
|
|
|
|
|
if (!main_thread_annotation_stack.empty()) {
|
|
|
|
|
std::string name = annotation_stack.back()->name();
|
|
|
|
|
std::string main_name = main_thread_annotation_stack.back()->name();
|
|
|
|
|
int main_name_len = main_name.length();
|
|
|
|
|
int name_len = name.length();
|
|
|
|
|
int prefix_len = main_name_len - name_len;
|
|
|
|
|
|
|
|
|
|
if (prefix_len >= 0 && main_name.at(prefix_len) == '/' &&
|
|
|
|
|
name == main_name.substr(prefix_len, name_len)) {
|
|
|
|
|
if ((prefix_len > 0 && main_name.at(prefix_len - 1) == '/' &&
|
|
|
|
|
name == main_name.substr(prefix_len, name_len)) ||
|
|
|
|
|
(name == main_name)) {
|
|
|
|
|
main_thread_annotation_stack_name.pop_back();
|
|
|
|
|
main_thread_annotation_stack.pop_back();
|
|
|
|
|
}
|
|
|
|
|