Bug 1329114 - Update talos symbolication to work with profile format version 5. r?jmaher draft
authorMarkus Stange <mstange@themasta.com>
Sat, 08 Apr 2017 15:06:41 -0400
changeset 558975 37d80135ecb58eef37aba5528f271925091b9f07
parent 558974 7f4064e8d29261b63619a274804e5174217e4249
child 559162 1569eb0b6973fedef10d79bc3356d208306fc653
push id52998
push userbmo:mstange@themasta.com
push dateSat, 08 Apr 2017 20:07:55 +0000
reviewersjmaher
bugs1329114
milestone55.0a1
Bug 1329114 - Update talos symbolication to work with profile format version 5. r?jmaher MozReview-Commit-ID: K2Hd6pPLaoB
testing/talos/talos/profiler/symbolication.py
--- a/testing/talos/talos/profiler/symbolication.py
+++ b/testing/talos/talos/profiler/symbolication.py
@@ -256,21 +256,18 @@ class ProfileSymbolicator:
 
         shared_libraries = profile_json["libs"]
         addresses = self._find_addresses(profile_json)
         symbols_to_resolve = self._assign_symbols_to_libraries(
             addresses, shared_libraries)
         symbolication_table = self._resolve_symbols(symbols_to_resolve)
         self._substitute_symbols(profile_json, symbolication_table)
 
-        for i, thread in enumerate(profile_json["threads"]):
-            if isinstance(thread, basestring):
-                thread_json = json.loads(thread)
-                self.symbolicate_profile(thread_json)
-                profile_json["threads"][i] = json.dumps(thread_json)
+        for process in profile_json["processes"]:
+            self.symbolicate_profile(process)
 
     def _find_addresses(self, profile_json):
         addresses = set()
         for thread in profile_json["threads"]:
             if isinstance(thread, basestring):
                 continue
             for s in thread["stringTable"]:
                 if s[0:2] == "0x":