From 0d58d5ea0b5204ee69da4f1cd04597a4c37a2fb7 Mon Sep 17 00:00:00 2001 From: Mohamad Ayyash Date: Fri, 11 Apr 2014 17:56:30 -0700 Subject: Pull down disk parser changes from upstream trace viwer. BUG: 18227832 Change-Id: I5180f8334dc55605a00133bd30862b339556c5c3 Signed-off-by: Mohamad Ayyash --- script.js | 113 +++++++++---------- .../src/tracing/importer/linux_perf/disk_parser.js | 120 +++++++++++++++++++++ .../importer/linux_perf/disk_parser_test.js | 43 +++++++- 3 files changed, 218 insertions(+), 58 deletions(-) diff --git a/script.js b/script.js index a8acc0ad..6eb2b372 100644 --- a/script.js +++ b/script.js @@ -11,14 +11,14 @@ window.FLATTENED["tracing.analysis.slice_view"]=!0;window.FLATTENED["tracing.ana window.FLATTENED["tracing.tracks.drawing_container"]=!0;window.FLATTENED["tracing.constants"]=!0;window.FLATTENED["tracing.tracks.heading_track"]=!0;window.FLATTENED["tracing.tracks.ruler_track"]=!0;window.FLATTENED["base.measuring_stick"]=!0;window.FLATTENED["tracing.tracks.container_track"]=!0;window.FLATTENED["tracing.fast_rect_renderer"]=!0;window.FLATTENED["tracing.tracks.slice_track"]=!0;window.FLATTENED["tracing.tracks.cpu_track"]=!0; window.FLATTENED["tracing.tracks.object_instance_track"]=!0;window.FLATTENED["tcmalloc.heap_instance_track"]=!0;window.FLATTENED["tracing.tracks.counter_track"]=!0;window.FLATTENED["tracing.tracks.spacing_track"]=!0;window.FLATTENED["tracing.tracks.slice_group_track"]=!0;window.FLATTENED["tracing.tracks.async_slice_group_track"]=!0;window.FLATTENED["tracing.tracks.thread_track"]=!0;window.FLATTENED["ui.dom_helpers"]=!0;window.FLATTENED["tracing.tracks.process_track_base"]=!0; window.FLATTENED["tracing.tracks.kernel_track"]=!0;window.FLATTENED["tracing.tracks.process_track"]=!0;window.FLATTENED["tracing.tracks.trace_model_track"]=!0;window.FLATTENED["ui.mouse_mode_selector"]=!0;window.FLATTENED["tracing.timeline_track_view"]=!0;window.FLATTENED["tracing.find_control"]=!0;window.FLATTENED["ui.drag_handle"]=!0;window.FLATTENED["tracing.timeline_view"]=!0;window.FLATTENED["tracing.standalone_timeline_view"]=!0; -var templateData_=window.atob("PCEtLQpDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0+Cgo8dGVtcGxhdGUgaWQ9InRpbWVsaW5lLXZpZXctdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImNvbnRyb2wiPgogICAgPGRpdiBpZD0ibGVmdC1jb250cm9scyIgY2xhc3M9ImNvbnRyb2xzIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InRpdGxlIj5eX148L2Rpdj4KICAgIDxkaXYgaWQ9InJpZ2h0LWNvbnRyb2xzIiBjbGFzcz0iY29udHJvbHMgY2F0ZWdvcnktZmlsdGVyIj48L2Rpdj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPjwvZGl2Pgo8L3RlbXBsYXRlPgoKPHRlbXBsYXRlIGlkPSJ0cmFjay1zZWxlY3Rvci1idG4tdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9InRyYWNrLXNlbGVjdG9yLWFuY2hvciI+CiAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gdHJhY2stc2VsZWN0b3ItYnV0dG9uIHRyYWNrLXNlbGVjdG9yLWNsb3NlZCI+CiAgICAgIFRyYWNrIFNlbGVjdG9yCiAgICA8L2J1dHRvbj4KICA8L2Rpdj4KPC90ZW1wbGF0ZT4KCjx0ZW1wbGF0ZSBpZD0iaW1wb3J0LWVycm9ycy1idG4tdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImJ1dHRvbiB2aWV3LWltcG9ydC1lcnJvcnMtYnV0dG9uIHZpZXctaW5mby1idXR0b24iPgogICAgSW1wb3J0IGVycm9ycyEKICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJpbmZvLWJ1dHRvbi1jb250YWluZXIgaW1wb3J0LWVycm9ycy1kaWFsb2ciPgogICAgRXJyb3JzIG9jY3VycmVkIGR1cmluZyBpbXBvcnQ6CiAgICA8ZGl2IGNsYXNzPSJpbmZvLWJ1dHRvbi10ZXh0IGltcG9ydC1lcnJvcnMtZGlhbG9nLXRleHQiPjwvZGl2PgogIDwvZGl2Pgo8L3RlbXBsYXRlPgoKPHRlbXBsYXRlIGlkPSJjYXRlZ29yeS1maWx0ZXItYnRuLXRlbXBsYXRlIj4KICA8ZGl2IGNsYXNzPSJidXR0b24gdmlldy1pbmZvLWJ1dHRvbiI+Q2F0ZWdvcmllczwvZGl2Pgo8L3RlbXBsYXRlPgoKPHRlbXBsYXRlIGlkPSJoZWxwLWJ0bi10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0iYnV0dG9uIHZpZXctaGVscC1idXR0b24iPj88L2Rpdj4KICA8ZGl2IGNsYXNzPSJ2aWV3LWhlbHAtdGV4dCIKICAgICAgc3R5bGU9IndoaXRlLXNwYWNlOiBwcmU7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2UiPjwvZGl2Pgo8L3RlbXBsYXRlPgoKPHRlbXBsYXRlIGlkPSJtZXRhZGF0YS1idG4tdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImJ1dHRvbiB2aWV3LW1ldGFkYXRhLWJ1dHRvbiB2aWV3LWluZm8tYnV0dG9uIj4KICAgIE1ldGFkYXRhCiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iaW5mby1idXR0b24tY29udGFpbmVyIG1ldGFkYXRhLWRpYWxvZyI+CiAgICBNZXRhZGF0YSBJbmZvOgogICAgPGRpdiBjbGFzcz0iaW5mby1idXR0b24tdGV4dCBtZXRhZGF0YS1kaWFsb2ctdGV4dCI+PC9kaXY+CiAgPC9kaXY+CjwvdGVtcGxhdGU+CjwhLS0KQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCmZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tPgoKPHRlbXBsYXRlIGlkPSJyZWNvcmQtc2VsZWN0aW9uLWRpYWxvZy10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0icmVjb3JkLXNlbGVjdGlvbi1kaWFsb2ciPgogICAgPGZvcm0+CiAgICAgIDx0YWJsZT4KICAgICAgICA8dHI+CiAgICAgICAgICA8dGQgY2xhc3M9ImRlZmF1bHQtZW5hYmxlZC1jYXRlZ29yaWVzIj4KICAgICAgICAgICAgPGRpdj5SZWNvcmQmbmJzcDtDYXRlZ29yaWVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwLXNlbGVjdG9ycyI+CiAgICAgICAgICAgICAgU2VsZWN0CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWxsLWJ0biI+QWxsPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibm9uZS1idG4iPk5vbmU8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhdGVnb3JpZXMiPjwvZGl2PgogICAgICAgICAgPC90ZD4KICAgICAgICAgIDx0ZCBjbGFzcz0iZGVmYXVsdC1kaXNhYmxlZC1jYXRlZ29yaWVzIj4KICAgICAgICAgICAgPGRpdj5EaXNhYmxlZCZuYnNwO2J5Jm5ic3A7RGVmYXVsdCZuYnNwO0NhdGVnb3JpZXM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXAtc2VsZWN0b3JzIj4KICAgICAgICAgICAgICBTZWxlY3QKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhbGwtYnRuIj5BbGw8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJub25lLWJ0biI+Tm9uZTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZWdvcmllcyI+PC9kaXY+CiAgICAgICAgICA8L3RkPgogICAgICAgIDwvdHI+CiAgICAgIDwvdGFibGU+CiAgICA8L2Zvcm0+CgogICAgPGRpdiBjbGFzcz0ib3B0aW9ucyI+CiAgICAgIDxidXR0b24gY2xhc3M9InJlY29yZC1jYXRlZ29yaWVzIj5SZWNvcmQ8L2J1dHRvbj4KICAgICAgPGxhYmVsIGNsYXNzPSJjb250aW51b3VzLXRyYWNpbmctbGFiZWwiPgogICAgICAgIENvbnRpbnVvdXMgdHJhY2luZwogICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWU9ImNvbnRpbnVvdXNUcmFjaW5nIiBjaGVja2VkPSJjaGVja2VkIgogICAgICAgICAgICAgICBjbGFzcz0iY29udGludW91cy10cmFjaW5nLWJ1dHRvbiIgLz4KICAgICAgPC9sYWJlbD4KICAgICAgPGxhYmVsIGNsYXNzPSJzeXN0ZW0tdHJhY2luZy1sYWJlbCI+CiAgICAgICAgU3lzdGVtIGV2ZW50cwogICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWU9InN5c3RlbVRyYWNpbmciCiAgICAgICAgICAgICAgIGNsYXNzPSJzeXN0ZW0tdHJhY2luZy1idXR0b24iIC8+CiAgICAgIDwvbGFiZWw+CiAgICAgIDxsYWJlbCBjbGFzcz0ic2FtcGxpbmctbGFiZWwiPgogICAgICAgIEVuYWJsZSBzYW1wbGluZwogICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgdmFsdWU9ImVuYWJsZVNhbXBsaW5nIiBjbGFzcz0ic2FtcGxpbmctYnV0dG9uIiAvPgogICAgICA8L2xhYmVsPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvdGVtcGxhdGU+CjwhLS0KQ29weXJpZ2h0IChjKSAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCmZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tPgoKPHRlbXBsYXRlIGlkPSJ2aWV3LWNhdGVnb3J5LWZpbHRlci1kaWFsb2ctdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImNhdGVnb3J5LWZpbHRlci1kaWFsb2ciPgogICAgU2VsZWN0IGFjdGl2ZSBjYXRlZ29yaWVzOgogICAgPGZvcm0gY2xhc3M9ImNhdGVnb3J5LWZpbHRlci1kaWFsb2ctZm9ybSI+CiAgICAgIDxkaXYgY2xhc3M9ImNhdGVnb3JpZXMiPgogICAgICA8L2Rpdj4KICAgIDwvZm9ybT4KICA8L2Rpdj4KPC90ZW1wbGF0ZT4KPCEtLQpDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0+Cgo8dGVtcGxhdGUgaWQ9Im1vdXNlLW1vZGUtc2VsZWN0b3ItdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImRyYWctaGFuZGxlIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJidXR0b25zIj4KICAgIDxkaXYgY2xhc3M9InBhbi1zY2FuLW1vZGUtYnV0dG9uIHRvb2wtYnV0dG9uIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbGVjdGlvbi1tb2RlLWJ1dHRvbiB0b29sLWJ1dHRvbiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ6b29tLW1vZGUtYnV0dG9uIHRvb2wtYnV0dG9uIj48L2Rpdj4KICA8L2Rpdj4KPC90ZW1wbGF0ZT4K"),templateElem_= +var templateData_=window.atob("PCEtLQpDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0+Cgo8dGVtcGxhdGUgaWQ9InJlY29yZC1zZWxlY3Rpb24tZGlhbG9nLXRlbXBsYXRlIj4KICA8ZGl2IGNsYXNzPSJyZWNvcmQtc2VsZWN0aW9uLWRpYWxvZyI+CiAgICA8Zm9ybT4KICAgICAgPHRhYmxlPgogICAgICAgIDx0cj4KICAgICAgICAgIDx0ZCBjbGFzcz0iZGVmYXVsdC1lbmFibGVkLWNhdGVnb3JpZXMiPgogICAgICAgICAgICA8ZGl2PlJlY29yZCZuYnNwO0NhdGVnb3JpZXM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXAtc2VsZWN0b3JzIj4KICAgICAgICAgICAgICBTZWxlY3QKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhbGwtYnRuIj5BbGw8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJub25lLWJ0biI+Tm9uZTwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2F0ZWdvcmllcyI+PC9kaXY+CiAgICAgICAgICA8L3RkPgogICAgICAgICAgPHRkIGNsYXNzPSJkZWZhdWx0LWRpc2FibGVkLWNhdGVnb3JpZXMiPgogICAgICAgICAgICA8ZGl2PkRpc2FibGVkJm5ic3A7YnkmbmJzcDtEZWZhdWx0Jm5ic3A7Q2F0ZWdvcmllczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncm91cC1zZWxlY3RvcnMiPgogICAgICAgICAgICAgIFNlbGVjdAogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFsbC1idG4iPkFsbDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im5vbmUtYnRuIj5Ob25lPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXRlZ29yaWVzIj48L2Rpdj4KICAgICAgICAgIDwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgPC90YWJsZT4KICAgIDwvZm9ybT4KCiAgICA8ZGl2IGNsYXNzPSJvcHRpb25zIj4KICAgICAgPGJ1dHRvbiBjbGFzcz0icmVjb3JkLWNhdGVnb3JpZXMiPlJlY29yZDwvYnV0dG9uPgogICAgICA8bGFiZWwgY2xhc3M9ImNvbnRpbnVvdXMtdHJhY2luZy1sYWJlbCI+CiAgICAgICAgQ29udGludW91cyB0cmFjaW5nCiAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iY29udGludW91c1RyYWNpbmciIGNoZWNrZWQ9ImNoZWNrZWQiCiAgICAgICAgICAgICAgIGNsYXNzPSJjb250aW51b3VzLXRyYWNpbmctYnV0dG9uIiAvPgogICAgICA8L2xhYmVsPgogICAgICA8bGFiZWwgY2xhc3M9InN5c3RlbS10cmFjaW5nLWxhYmVsIj4KICAgICAgICBTeXN0ZW0gZXZlbnRzCiAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0ic3lzdGVtVHJhY2luZyIKICAgICAgICAgICAgICAgY2xhc3M9InN5c3RlbS10cmFjaW5nLWJ1dHRvbiIgLz4KICAgICAgPC9sYWJlbD4KICAgICAgPGxhYmVsIGNsYXNzPSJzYW1wbGluZy1sYWJlbCI+CiAgICAgICAgRW5hYmxlIHNhbXBsaW5nCiAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iZW5hYmxlU2FtcGxpbmciIGNsYXNzPSJzYW1wbGluZy1idXR0b24iIC8+CiAgICAgIDwvbGFiZWw+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC90ZW1wbGF0ZT4KPCEtLQpDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0+Cgo8dGVtcGxhdGUgaWQ9InZpZXctY2F0ZWdvcnktZmlsdGVyLWRpYWxvZy10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0iY2F0ZWdvcnktZmlsdGVyLWRpYWxvZyI+CiAgICBTZWxlY3QgYWN0aXZlIGNhdGVnb3JpZXM6CiAgICA8Zm9ybSBjbGFzcz0iY2F0ZWdvcnktZmlsdGVyLWRpYWxvZy1mb3JtIj4KICAgICAgPGRpdiBjbGFzcz0iY2F0ZWdvcmllcyI+CiAgICAgIDwvZGl2PgogICAgPC9mb3JtPgogIDwvZGl2Pgo8L3RlbXBsYXRlPgo8IS0tCkNvcHlyaWdodCAoYykgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQpmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLT4KCjx0ZW1wbGF0ZSBpZD0idGltZWxpbmUtdmlldy10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0iY29udHJvbCI+CiAgICA8ZGl2IGlkPSJsZWZ0LWNvbnRyb2xzIiBjbGFzcz0iY29udHJvbHMiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0idGl0bGUiPl5fXjwvZGl2PgogICAgPGRpdiBpZD0icmlnaHQtY29udHJvbHMiIGNsYXNzPSJjb250cm9scyBjYXRlZ29yeS1maWx0ZXIiPjwvZGl2PgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+PC9kaXY+CjwvdGVtcGxhdGU+Cgo8dGVtcGxhdGUgaWQ9InRyYWNrLXNlbGVjdG9yLWJ0bi10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0idHJhY2stc2VsZWN0b3ItYW5jaG9yIj4KICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbiB0cmFjay1zZWxlY3Rvci1idXR0b24gdHJhY2stc2VsZWN0b3ItY2xvc2VkIj4KICAgICAgVHJhY2sgU2VsZWN0b3IKICAgIDwvYnV0dG9uPgogIDwvZGl2Pgo8L3RlbXBsYXRlPgoKPHRlbXBsYXRlIGlkPSJpbXBvcnQtZXJyb3JzLWJ0bi10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0iYnV0dG9uIHZpZXctaW1wb3J0LWVycm9ycy1idXR0b24gdmlldy1pbmZvLWJ1dHRvbiI+CiAgICBJbXBvcnQgZXJyb3JzIQogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImluZm8tYnV0dG9uLWNvbnRhaW5lciBpbXBvcnQtZXJyb3JzLWRpYWxvZyI+CiAgICBFcnJvcnMgb2NjdXJyZWQgZHVyaW5nIGltcG9ydDoKICAgIDxkaXYgY2xhc3M9ImluZm8tYnV0dG9uLXRleHQgaW1wb3J0LWVycm9ycy1kaWFsb2ctdGV4dCI+PC9kaXY+CiAgPC9kaXY+CjwvdGVtcGxhdGU+Cgo8dGVtcGxhdGUgaWQ9ImNhdGVnb3J5LWZpbHRlci1idG4tdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImJ1dHRvbiB2aWV3LWluZm8tYnV0dG9uIj5DYXRlZ29yaWVzPC9kaXY+CjwvdGVtcGxhdGU+Cgo8dGVtcGxhdGUgaWQ9ImhlbHAtYnRuLXRlbXBsYXRlIj4KICA8ZGl2IGNsYXNzPSJidXR0b24gdmlldy1oZWxwLWJ1dHRvbiI+PzwvZGl2PgogIDxkaXYgY2xhc3M9InZpZXctaGVscC10ZXh0IgogICAgICBzdHlsZT0id2hpdGUtc3BhY2U6IHByZTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSI+PC9kaXY+CjwvdGVtcGxhdGU+Cgo8dGVtcGxhdGUgaWQ9Im1ldGFkYXRhLWJ0bi10ZW1wbGF0ZSI+CiAgPGRpdiBjbGFzcz0iYnV0dG9uIHZpZXctbWV0YWRhdGEtYnV0dG9uIHZpZXctaW5mby1idXR0b24iPgogICAgTWV0YWRhdGEKICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJpbmZvLWJ1dHRvbi1jb250YWluZXIgbWV0YWRhdGEtZGlhbG9nIj4KICAgIE1ldGFkYXRhIEluZm86CiAgICA8ZGl2IGNsYXNzPSJpbmZvLWJ1dHRvbi10ZXh0IG1ldGFkYXRhLWRpYWxvZy10ZXh0Ij48L2Rpdj4KICA8L2Rpdj4KPC90ZW1wbGF0ZT4KPCEtLQpDb3B5cmlnaHQgKGMpIDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuClVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0+Cgo8dGVtcGxhdGUgaWQ9Im1vdXNlLW1vZGUtc2VsZWN0b3ItdGVtcGxhdGUiPgogIDxkaXYgY2xhc3M9ImRyYWctaGFuZGxlIj48L2Rpdj4KICA8ZGl2IGNsYXNzPSJidXR0b25zIj4KICAgIDxkaXYgY2xhc3M9InBhbi1zY2FuLW1vZGUtYnV0dG9uIHRvb2wtYnV0dG9uIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9InNlbGVjdGlvbi1tb2RlLWJ1dHRvbiB0b29sLWJ1dHRvbiI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJ6b29tLW1vZGUtYnV0dG9uIHRvb2wtYnV0dG9uIj48L2Rpdj4KICA8L2Rpdj4KPC90ZW1wbGF0ZT4K"),templateElem_= document.createElement("div");for(templateElem_.innerHTML=templateData_;templateElem_.hasChildNodes();)document.head.appendChild(templateElem_.removeChild(templateElem_.firstChild));"use strict";var global=this; this.base=function(){function d(a){"/"==a[a.length-1]&&(a=a.substring(0,a.length-1));l=a}function b(a,c){n[a]||(n[a]=[]);for(var e=n[a],f=!1,b=0;be.order&&(e.order=c):(e.openSliceTS=d,e.order=c);return!0},kswapdSleep:function(a,c,b,e,d){a=this.importer.getOrCreateKernelThread("kswapd: "+ +e.start,e.args=m,e.endThread=b.thread,e.subSlices=[new tracing.trace_model.Slice(c,e.title,e.colorId,e.start,e.args,e.duration)],b.thread.asyncSliceGroup.push(e),delete b.openAsyncSlices[d])},kswapdWake:function(c,e,b,d,l){c=a.exec(l.details);if(!c)return!1;parseInt(c[1]);c=parseInt(c[2]);b=this.importer.getOrCreateKernelThread("kswapd: "+l.threadName,b,b);b.openSliceTS?c>b.order&&(b.order=c):(b.openSliceTS=d,b.order=c);return!0},kswapdSleep:function(a,c,b,e,d){a=this.importer.getOrCreateKernelThread("kswapd: "+ d.threadName,b,b);a.openSliceTS&&(e=new tracing.trace_model.Slice("",d.threadName,tracing.getStringColorId(d.threadName),a.openSliceTS,{order:a.order},e-a.openSliceTS),a.thread.sliceGroup.pushSlice(e));a.openSliceTS=void 0;a.order=void 0;return!0},reclaimBegin:function(a,b,e,d,l){b=c.exec(l.details);if(!b)return!1;a=parseInt(b[1]);b=b[2];e=this.importer.getOrCreateKernelThread("direct reclaim: "+l.threadName,e,e);e.openSliceTS=d;e.order=a;e.gfp=b;return!0},reclaimEnd:function(a,c,b,d,l){a=e.exec(l.details); if(!a)return!1;a=parseInt(a[1]);b=this.importer.getOrCreateKernelThread("direct reclaim: "+l.threadName,b,b);void 0!==b.openSliceTS&&(d=new tracing.trace_model.Slice("","direct reclaim",tracing.getStringColorId(l.threadName),b.openSliceTS,{order:b.order,gfp:b.gfp,nr_reclaimed:a},d-b.openSliceTS),b.thread.sliceGroup.pushSlice(d));b.openSliceTS=void 0;b.order=void 0;b.gfp=void 0;return!0}};b.registerSubtype(d);return{MemReclaimParser:d}});"use strict";base.require("tracing.importer.linux_perf.parser"); base.require("tracing.trace_model.counter_series"); @@ -118,7 +123,7 @@ b,f){c=this.importer.getOrCreateCpuState(c);"1"!=b?this.importer.importError("Do tracing.getStringColorId(c.name)));var f=4294967295!=b?b+1:0;c.series.forEach(function(c){c.addSample(a,f)})},cpuFrequencySlice:function(a,c,b){c=this.importer.getOrCreateCpuState(c).cpu.getOrCreateCounter("","Clock Frequency");0===c.numSeries&&c.addSeries(new tracing.trace_model.CounterSeries("state",tracing.getStringColorId(c.name+".state")));c.series.forEach(function(c){c.addSample(a,b)})},powerStartEvent:function(a,c,b,f,g){a=/type=(\d+) state=(\d) cpu_id=(\d)+/.exec(g.details);if(!a)return!1; c=parseInt(a[3]);b=parseInt(a[2]);this.cpuStateSlice(f,c,a[1],b);return!0},powerFrequencyEvent:function(a,c,b,f,g){c=/type=(\d+) state=(\d+) cpu_id=(\d)+/.exec(g.details);if(!c)return!1;a=parseInt(c[3]);c=parseInt(c[2]);this.cpuFrequencySlice(f,a,c);return!0},cpuFrequencyEvent:function(a,c,b,f,g){c=/state=(\d+) cpu_id=(\d)+/.exec(g.details);if(!c)return!1;a=parseInt(c[2]);c=parseInt(c[1]);this.cpuFrequencySlice(f,a,c);return!0},cpuIdleEvent:function(a,c,b,f,g){c=/state=(\d+) cpu_id=(\d)+/.exec(g.details); if(!c)return!1;a=parseInt(c[2]);c=parseInt(c[1]);this.cpuIdleSlice(f,a,c);return!0}};b.registerSubtype(d);return{PowerParser:d}});"use strict";base.require("tracing.importer.linux_perf.parser"); -base.exportTo("tracing.importer.linux_perf",function(){function d(a){b.call(this,a);a.registerEventHandler("sched_switch",d.prototype.schedSwitchEvent.bind(this));a.registerEventHandler("sched_wakeup",d.prototype.schedWakeupEvent.bind(this))}var b=tracing.importer.linux_perf.Parser,a={},c=RegExp("prev_comm=(.+) prev_pid=(\\d+) prev_prio=(\\d+) prev_state=(\\S\\+?|\\S\\|\\S) ==> next_comm=(.+) next_pid=(\\d+) next_prio=(\\d+)");a.schedSwitchRE=c;var e=/comm=(.+) pid=(\d+) prio=(\d+) success=(\d+) target_cpu=(\d+)/; +base.exportTo("tracing.importer.linux_perf",function(){function d(a){b.call(this,a);a.registerEventHandler("sched_switch",d.prototype.schedSwitchEvent.bind(this));a.registerEventHandler("sched_wakeup",d.prototype.schedWakeupEvent.bind(this))}var b=tracing.importer.linux_perf.Parser,a={},c=/prev_comm=(.+) prev_pid=(\d+) prev_prio=(\d+) prev_state=(\S\+?|\S\|\S) ==> next_comm=(.+) next_pid=(\d+) next_prio=(\d+)/;a.schedSwitchRE=c;var e=/comm=(.+) pid=(\d+) prio=(\d+) success=(\d+) target_cpu=(\d+)/; a.schedWakeupRE=e;d.prototype={__proto__:b.prototype,schedSwitchEvent:function(a,b,e,d,l){var m=c.exec(l.details);if(!m)return!1;a=m[4];e=m[5];l=parseInt(m[6]);m=parseInt(m[7]);this.importer.getOrCreateCpuState(b).switchRunningLinuxPid(this.importer,a,d,l,e,m);return!0},schedWakeupEvent:function(a,c,b,d,l){l=e.exec(l.details);if(!l)return!1;a=b;c=l[1];b=parseInt(l[2]);l=parseInt(l[3]);this.importer.markPidRunnable(d,b,c,l,a);return!0}};b.registerSubtype(d);return{SchedParser:d,_SchedParserTestExports:a}}); "use strict";base.require("tracing.importer.linux_perf.parser"); base.exportTo("tracing.importer.linux_perf",function(){function d(a){b.call(this,a);a.registerEventHandler("sync_timeline",d.prototype.timelineEvent.bind(this));a.registerEventHandler("sync_wait",d.prototype.syncWaitEvent.bind(this));a.registerEventHandler("sync_pt",d.prototype.syncPtEvent.bind(this));this.model_=a.model_}var b=tracing.importer.linux_perf.Parser,a=/name=(\S+) value=(\S*)/,c=/(\S+) name=(\S+) state=(\d+)/,e=/name=(\S+) value=(\S*)/;d.prototype={__proto__:b.prototype,timelineEvent:function(c, @@ -159,7 +164,7 @@ this.deletionTs)throw Error("ts must be within lifetime of this instance");var a d.nameToConstructorMap_[b]:d};return{ObjectInstance:d}});"use strict";base.require("base.range");base.require("base.sorted_array_utils"); base.exportTo("tracing.trace_model",function(){function d(b,a,c){this.createObjectInstanceFunction_=b;this.parent=a;this.id=c;this.instances=[]}d.prototype={idWasCreated:function(b,a,c){if(0==this.instances.length)return this.instances.push(this.createObjectInstanceFunction_(this.parent,this.id,b,a,c)),this.instances[0].creationTsWasExplicit=!0,this.instances[0];var e=this.instances[this.instances.length-1];if(cf){f=this.instances[0];if(c>f.deletionTs||f.creationTsWasExplicit)throw Error("At the provided timestamp, no instance was still alive"); -if(0!=f.snapshots.length)throw Error("Cannot shift creationTs forward, snapshots have been added. First snap was at ts="+f.snapshots[0].ts+" and creationTs was "+f.creationTs);f.creationTs=c}else if(f>=this.instances.length)if(f=this.instances[this.instances.length-1],c>=f.deletionTs)f=this.createObjectInstanceFunction_(this.parent,this.id,b,a,c),this.instances.push(f);else{for(var g,f=this.instances.length-1;0<=f;f--){b=this.instances[f];if(c>=b.deletionTs)break;!1==b.creationTsWasExplicit&&0==b.snapshots.length&& +if(0!=f.snapshots.length)throw Error("Cannot shift creationTs forward, snapshots have been added. First snap was at ts="+f.snapshots[0].ts+" and creationTs was "+f.creationTs);f.creationTs=c}else if(f>=this.instances.length)if(f=this.instances[this.instances.length-1],c>=f.deletionTs)f=this.createObjectInstanceFunction_(this.parent,this.id,b,a,c),this.instances.push(f);else{for(var g,f=this.instances.length-1;0<=f;f--){b=this.instances[f];if(c>=b.deletionTs)break;0==b.creationTsWasExplicit&&0==b.snapshots.length&& (g=f)}if(void 0===g)throw Error("Cannot add snapshot. No instance was alive that was mutable.");f=this.instances[g];f.creationTs=c}else f=this.instances[f];return f.addSnapshot(c,e)},get lastInstance(){return 0==this.instances.length?void 0:this.instances[this.instances.length-1]},idWasDeleted:function(b,a,c){0==this.instances.length&&this.instances.push(this.createObjectInstanceFunction_(this.parent,this.id,b,a,c));var e=this.instances[this.instances.length-1];if(cb?this.instances[0].creationTsWasExplicit?void 0:this.instances[0]:b>=this.instances.length?void 0:this.instances[b]}}; return{TimeToObjectInstanceMap:d}});"use strict";base.require("base.utils");base.require("base.range");base.require("base.sorted_array_utils");base.require("tracing.trace_model.object_instance");base.require("tracing.trace_model.time_to_object_instance_map"); @@ -178,7 +183,7 @@ base.exportTo("tracing.trace_model",function(){function d(a){this.sliceConstruct 1]:void 0},endSlice:function(a){if(!this.openSliceCount)throw Error("endSlice called without an open slice");var c=this.openPartialSlices_[this.openSliceCount-1];this.openPartialSlices_.splice(this.openSliceCount-1,1);if(ab?(n(c),l.pop()):m.pop()}};0<=h||0<=k;){var q=f[h],t=g[k];void 0===q||void 0!==t&&q.endb?(n(c),l.pop()):m.pop()}};0<=h||0<=k;){var q=f[h],s=g[k];void 0===q||void 0!==s&&q.end/.test(a))return f;var d=a.split("\n"),g=1;if(!b(/^