MCPcopy Create free account
hub / github.com/apache/brpc / OutputToString

Method OutputToString

src/bthread/task_tracer.cpp:71–99  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69}
70
71std::string TaskTracer::Result::OutputToString() const {
72 std::string str;
73 if (frame_count > 0) {
74 str.reserve(1024);
75 }
76 char symbol_name[128];
77 char unknown_symbol_name[] = "<unknown>";
78 if (frame_count > 0) {
79 for (size_t i = 0; i < frame_count; ++i) {
80 butil::string_appendf(&str, "#%zu 0x%16p ", i, ips[i]);
81 if (absl::Symbolize(ips[i], symbol_name, arraysize(symbol_name))) {
82 str.append(symbol_name);
83 } else {
84 str.append(unknown_symbol_name);
85 }
86 if (i + 1 < frame_count) {
87 str.push_back('\n');
88 }
89 }
90 } else {
91 str.append("No frame");
92 }
93 if (error) {
94 str.append("\nError message: ");
95 str.append(err_msg);
96 }
97
98 return str;
99}
100
101void TaskTracer::Result::OutputToStream(std::ostream& os) const {
102 char symbol_name[128];

Callers 1

TraceMethod · 0.45

Calls 4

string_appendfFunction · 0.85
reserveMethod · 0.45
appendMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected