trace_processor: better error handling while parsing traces
Build upon the Status class to improve error handling and propogation in
trace processor during trace parsing
Change-Id: Ice57e67783cfee05f7a390029ff77fe6fa4fede4
diff --git a/src/trace_processor/trace_processor_shell.cc b/src/trace_processor/trace_processor_shell.cc
index c71bd3b..2d0ad66 100644
--- a/src/trace_processor/trace_processor_shell.cc
+++ b/src/trace_processor/trace_processor_shell.cc
@@ -252,9 +252,9 @@
int RunMetrics(const std::vector<std::string>& metric_names) {
std::vector<uint8_t> metric_result;
- int res = g_tp->ComputeMetric(metric_names, &metric_result);
- if (res) {
- PERFETTO_ELOG("Error when computing metrics");
+ util::Status status = g_tp->ComputeMetric(metric_names, &metric_result);
+ if (!status.ok()) {
+ PERFETTO_ELOG("Error when computing metrics: %s", status.c_message());
return 1;
}
fwrite(metric_result.data(), sizeof(uint8_t), metric_result.size(), stdout);