Merge "Move node_modules install to install-build-deps"
diff --git a/BUILD.gn b/BUILD.gn
index 22adbc5..7f22d1f 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -217,6 +217,14 @@
"protos/perfetto/trace:lite",
]
}
+ } else {
+ # The library which eases processing of Perfetto traces by exposing reading
+ # friendly APIs.
+ static_library("trace_processor") {
+ deps = [
+ "src/trace_processor:lib",
+ ]
+ }
}
}
diff --git a/include/perfetto/base/BUILD.gn b/include/perfetto/base/BUILD.gn
index 908baf4..ae08e9b 100644
--- a/include/perfetto/base/BUILD.gn
+++ b/include/perfetto/base/BUILD.gn
@@ -15,6 +15,7 @@
source_set("base") {
sources = [
"build_config.h",
+ "export.h",
"file_utils.h",
"logging.h",
"metatrace.h",
diff --git a/src/trace_processor/trace_storage.cc b/src/trace_processor/trace_storage.cc
index b58628c..1e6bcac 100644
--- a/src/trace_processor/trace_storage.cc
+++ b/src/trace_processor/trace_storage.cc
@@ -81,19 +81,20 @@
void TraceStorage::MatchThreadToProcess(uint32_t tid, uint32_t tgid) {
auto tids_pair = UtidsForTid(tid);
// We only care about tids for which we have a matching utid.
- PERFETTO_CHECK(std::distance(tids_pair.first, tids_pair.second) <= 1);
+ PERFETTO_DCHECK(std::distance(tids_pair.first, tids_pair.second) <= 1);
if (tids_pair.first != tids_pair.second) {
+ PERFETTO_DCHECK(tids_pair.first->second < unique_threads_.size());
Thread* thread = &unique_threads_[tids_pair.first->second];
// If no upid is set - look it up.
if (thread->upid == 0) {
auto pids_pair = UpidsForPid(tgid);
- PERFETTO_CHECK(std::distance(pids_pair.first, pids_pair.second) <= 1);
+ PERFETTO_DCHECK(std::distance(pids_pair.first, pids_pair.second) <= 1);
if (pids_pair.first != pids_pair.second) {
thread->upid = pids_pair.first->second;
// If this is the first time we've used this process, set start_ns.
- Process process = unique_processes_[pids_pair.first->second];
- if (process.start_ns == 0)
- process.start_ns = thread->start_ns;
+ Process* process = &unique_processes_[pids_pair.first->second];
+ if (process->start_ns == 0)
+ process->start_ns = thread->start_ns;
}
}
}
diff --git a/src/trace_processor/trace_storage_unittest.cc b/src/trace_processor/trace_storage_unittest.cc
index 4d4e796..b1696a7 100644
--- a/src/trace_processor/trace_storage_unittest.cc
+++ b/src/trace_processor/trace_storage_unittest.cc
@@ -134,8 +134,10 @@
storage.MatchThreadToProcess(1, 2);
TraceStorage::Thread thread = storage.GetThread(1);
+ TraceStorage::Process process = storage.GetProcess(1);
ASSERT_EQ(thread.upid, 1);
+ ASSERT_EQ(process.start_ns, timestamp);
}
} // namespace