2016-04-26 9 views
6

Ich sammelte eine Spur meiner React-Native-basierte Android-App mit systrace.py util von Android SDK in eine HTML-Datei. Wenn ich diese HTML-Trace-Datei entweder in Chrome 50.0.2661.86 (64 Bit) oder Firefox 45.0.2 öffne, sehe ich einen leeren Bildschirm und a few JavaScript errors in der Entwicklerkonsole. Betriebssystem Ubuntu 14.04 64-Bit-Betriebssystem.React-native Android Systrace HTML ist leer in Ubuntu 14.04

Allerdings wird auf meiner Windows-Maschine ein HTML-Trace fehlerfrei in Chrome 49.0.2623.112 gerendert.

Kann mir jemand helfen, dieses Problem zu lösen?

+0

FWIW, auf Win10 Chrome 50.0.2661.87 meine systraces kommen leer, während Ubuntu Chrome 49.0.2623.110 noch funktioniert. Ich vermute Chrome ist kaputt gegangen. – fadden

Antwort

5

In Chrome 49 gab es eine Warnung darüber, ob Object.observe veraltet ist.

https://developers.google.com/web/updates/2016/02/chrome-49-deprecations?hl=en#objectobserve-is-deprecated

In Chrome 50 sie entfernt sie schließlich.

https://www.chromestatus.com/features/6147094632988672

Leider ist die systrace in Android-Plattform-Tools haben Follow-up nicht. In der neuesten Version (ich habe Android SDK platform-tools 24 rc2 ausprobiert) erzeugt es immer noch HTML-Berichte mit Object.observe, also können wir ab Chrome 50 keinen der Berichte öffnen.

Ich denke, ein Weg ist, eine Pre-50-Version von Chrome zu verwenden.

+0

In der Opera-Version 37.0 funktioniert Systrace gut für mich. – Sirelon

5

einfach das Hinzufügen

<script src="https://rawgit.com/MaxArt2501/object-observe/master/dist/object-observe.min.js"></script> 

an den Kopfteil des HTML-Dokuments mit Spuren macht es 50+

+0

Das hat bei mir funktioniert. Link zum vollständigen Projekt: https://github.com/MaxArt2501/object-observe – fadden

+0

FWIW, ich würde GitHub für nichts als ein Experiment empfehlen. Glücklicherweise ist der Polyfill auch hier verfügbar: https://cdnjs.com/libraries/object-observe – MaxArt

13

als eine vorübergehende Lösung in Chrome arbeiten Sie den folgenden Ansatz verwenden:

  • Speichern Sie die .html-Dump-Datei auf der Festplatte
  • Öffnen Sie die Registerkarte in Chrom chrome://tracing
  • Datei laden in der Tracing-Konsole
+3

Dies schlägt mit dieser Meldung fehl: '' 'Fehler: Konnte keinen Importeur für die bereitgestellten eventData erstellen. bei Import.createImporter_ (chrome: //tracing/tracing.js: 1348: 3342) bei Import.createImports (chrome: //tracing/tracing.js: 1343: 21) bei Task.run (chrome: // tracing/tracing.js: 2062: 13) bei runAnother (chrome: //tracing/tracing.js: 2074: 136) bei runTask (chrome: //tracing/tracing.js: 2037: 57) bei processIdleWork (chrome: //tracing/tracing.js: 2043: 116) bei window.requestIdleCallback.timeout (chrome: //tracing/tracing.js: 2031: 81) '' ' –

0

Systrace in Android SDK ist veraltet. Sie können die systrace aus dem AOSP-Projekt verwenden:

git clone https://android.googlesource.com/platform/external/chromium-trace