Wir verwenden React Native 0.59.10
und React-Redux 5.0.7
und haben ein CPU-gebundenes Leistungsproblem, bei dem unsere Redux-Aktionen ca. 0,25 Sekunden dauern.
Wir haben ein Profil mit der Time Profiler-Konfiguration in Instruments erstellt, aber keiner unserer JS-Codes ist symbolisiert.
Das Remote-Debuggen in Chrome scheint nur die Seite "Remote Inspector" zu debuggen, was völlig wenig hilfreich ist.
Gibt es eine Möglichkeit, eine Quellzuordnung zu den JS-Funktionsnamen / -aufrufen zu erstellen / anzuhängen oder die unten gezeigten Speicheradressen zu symbolisieren?
javascript
ios
xcode
react-native
instruments
Craig Otis
quelle
quelle
Antworten:
Firefox Profiler
Grundlegendes zu Firefox Profiler
Sie können einige häufig gestellte Fragen zu den Firefox-Profilern lesen.
Das Melden eines Leistungsproblems enthält eine schrittweise Anleitung zum Abrufen eines Profils, wenn dies von Firefox-Entwicklern angefordert wird.
1. Zeitleiste
Die Zeitleiste enthält mehrere Reihen von Verfolgungsmarkierungen (farbige Segmente), die interessante Ereignisse anzeigen. Bewegen Sie den Mauszeiger über sie, um weitere Informationen anzuzeigen. Unterhalb der Verfolgungsmarkierungen befinden sich Zeilen, die der Aktivität in einer Vielzahl von Threads entsprechen.
Verfolgungsmarkierungen
Red
: Diese zeigen an, dass die Ereignisschleife nicht reagiert. Beachten Sie, dass Ereignisse mit hoher Priorität wie vsync hier nicht enthalten sind. Beachten Sie auch, dass dies anzeigt, was passiert wäre, wenn ein Ereignis gewartet hätte und nicht unbedingt, dass ein Ereignis so lange ansteht.Black
: Diese zeigen synchrone IPC-Aufrufe an.2. Rufen Sie Tree auf
Der Anrufbaum zeigt die nach 'Laufzeit' geordneten Beispiele, die die Daten nach Wanduhrzeit anzeigen. Rechts neben den Baumelementen befinden sich hellere graue Namen, die angeben, woher der Code stammt. Beachten Sie, dass Elemente aus JavaScript, Gecko oder Systembibliotheken stammen können. Beachten Sie, dass die Symbolisierung möglicherweise noch nicht abgeschlossen ist, wenn einige Funktionen noch nicht richtig benannt sind.
3. Freigeben des Profils Klicken Sie auf "Freigeben ..."> Freigeben, um zu bestätigen, dass die von Ihnen geöffneten URLs und Ihre Firefox-Erweiterungen in den an den Server gesendeten Profildaten enthalten sind. Wenn Sie einen anderen Zeitraum auswählen, ändert sich die durch Drücken von "Permalink" angezeigte URL, sodass Sie sicher sein können, dass der Empfänger der URL dieselben Dinge sieht, die Sie sehen.
quelle