Backed out changeset 8461e2f532ed (bug 1488554) to prevent talos xperf permafailures on 64 beta. a=backout
authorSebastian Hengst <archaeopteryx@coole-files.de>
Tue, 16 Oct 2018 20:26:55 +0300
changeset 499681 f76d65097eb36e929926ebf9ebe86052bbd2f67e
parent 499680 0e99081b5322d213fdba77a12ebbf6293f9c2a7f
child 499682 35c61888a49d69506cdd330b81885838ccf45f8c
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbackout
bugs1488554
milestone64.0
backs out8461e2f532eddcaf4cc68c383c6c92bdbbd4b12a
Backed out changeset 8461e2f532ed (bug 1488554) to prevent talos xperf permafailures on 64 beta. a=backout
testing/talos/talos/xtalos/etlparser.py
--- a/testing/talos/talos/xtalos/etlparser.py
+++ b/testing/talos/talos/xtalos/etlparser.py
@@ -13,17 +13,16 @@ import shutil
 import subprocess
 import sys
 
 import xtalos
 
 EVENTNAME_INDEX = 0
 PROCESS_INDEX = 2
 THREAD_ID_INDEX = 3
-PARENT_PID_INDEX = 3
 DISKBYTES_COL = "Size"
 FNAME_COL = "FileName"
 IMAGEFUNC_COL = "Image!Function"
 EVENTGUID_COL = "EventGuid"
 ACTIVITY_ID_COL = "etw:ActivityId"
 NUMBYTES_COL = "NumBytes"
 BYTESSENT_COL = "BytesSent"
 
@@ -46,17 +45,16 @@ net_events = {
     "TcpDataTransferReceive": "recv",
     "UdpEndpointReceiveMessages": "recv",
     "TcpDataTransferSend": "send",
     "UdpEndpointSendMessages": "send"
 }
 gThreads = {}
 gConnectionIDs = {}
 gHeaders = {}
-gBrowserPID = None
 
 
 def uploadFile(filename):
     mud = os.environ.get('MOZ_UPLOAD_DIR', None)
     if mud:
         print("uploading raw file %s via blobber" % filename)
         mud_filename = os.path.join(mud, filename)
         shutil.copyfile(filename, "%s.log" % mud_filename)
@@ -196,41 +194,22 @@ def etl2csv(xperf_path, etl_filename, de
                  '-i', etl_filename,
                  '-o', csv_filename]
     if debug:
         print("executing '%s'" % subprocess.list2cmdline(xperf_cmd))
     subprocess.call(xperf_cmd)
     return csv_filename
 
 
-def trackProcess(row, firstFirefoxPID):
-    global gBrowserPID
-    if gBrowserPID:
-        return
-
-    # Without the launcher, the initial Firefox process *is* the browser
-    # process. OTOH, with the launcher process enabled, the browser is actually
-    # the first child process of the first Firefox process.
-    parentPID = int(row[PARENT_PID_INDEX])
-    if parentPID == firstFirefoxPID:
-        proc = row[PROCESS_INDEX]
-        gBrowserPID = int(re.search("^.* \(\s*(\d+)\)$", proc).group(1))
-
-
-def getBrowserPID():
-    global gBrowserPID
-    return gBrowserPID
-
-
-def trackThread(row, browserPID):
+def trackThread(row, firefoxPID):
     event, proc, tid = \
         row[EVENTNAME_INDEX], row[PROCESS_INDEX], row[THREAD_ID_INDEX]
     if event in ["T-DCStart", "T-Start"]:
         procName, procID = re.search("^(.*) \(\s*(\d+)\)$", proc).group(1, 2)
-        if procID == str(browserPID):
+        if procID == str(firefoxPID):
             imgIdx = getIndex(event, IMAGEFUNC_COL)
             img = re.match("([^!]+)!", row[imgIdx]).group(1)
             if img == procName:
                 gThreads[tid] = "main"
             else:
                 gThreads[tid] = "nonmain"
     elif event in ["T-DCEnd", "T-End"] and tid in gThreads:
         del gThreads[tid]
@@ -335,20 +314,18 @@ def etlparser(xperf_path, etl_filename, 
     files = {}
     io = {}
     stage = 0
 
     print("reading etl filename: %s" % etl_filename)
     csvname = etl2csv(xperf_path, etl_filename, debug=debug)
     for row in readFile(csvname):
         event = row[EVENTNAME_INDEX]
-        if event == "P-Start":
-            trackProcess(row, processID)
-        elif event in ["T-DCStart", "T-Start", "T-DCEnd", "T-End"]:
-            trackThread(row, getBrowserPID())
+        if event in ["T-DCStart", "T-Start", "T-DCEnd", "T-End"]:
+            trackThread(row, processID)
         elif event in ["FileIoRead", "FileIoWrite"] and \
                 row[THREAD_ID_INDEX] in gThreads:
             fileSummary(row, stage, files)
             trackThreadFileIO(row, io, stage)
         elif event.endswith("Event/Classic") and \
                 row[THREAD_ID_INDEX] in gThreads:
             stage = updateStage(row, stage)
         elif event.startswith("Microsoft-Windows-TCPIP"):