ETTrace ist ein Open
HeimHeim > Blog > ETTrace ist ein Open

ETTrace ist ein Open

Apr 09, 2023

InfoQ Homepage News ETTrace ist ein Open-Source-Profiler für iOS mit dem Ziel, die Leistungsoptimierung zu vereinfachen

7. Juni 2023 2 Minuten Lesezeit

von

Sergio De Simone

ETTrace wurde kürzlich von Emerge Tools, Hersteller mehrerer Analysetools für iOS-Apps, als Open-Source-Lösung veröffentlicht und zielt darauf ab, die Erstellung von iOS-Leistungsprofilen durch die Bereitstellung intuitiver Visualisierungen und einfacher Bedienung zu vereinfachen.

ETTrace steht im starken Wettbewerb mit dem in Xcode integrierten Tile Profiler, der De-facto-Standardlösung für die Leistungsoptimierung von iOS-Apps. Dennoch, sagt Emerge Tools-Ingenieur Noah Martin, gibt es im Xcode Time Profiler viel zu verbessern:

Bei Emerge habe ich mit vielen Ingenieuren gesprochen, die an großen Apps arbeiten, und die Rückmeldungen sind alle gleich: Time Profiler kann unzuverlässig und langsam sein. Selbst als ich die Screenshots für diesen Artikel bekam, kam es zu mehreren Einfrierungen und ich musste das Beenden erzwingen. Häufig stellt die Symbolisierung ein Problem dar, da Traces generiert werden und nur Adressen, aber keine Funktionsnamen angezeigt werden.

Im Gegenteil, behauptet er, ETTrace verwende ein Flammendiagramm, um Leistungsengpässe leicht zu identifizieren, und stelle ein benutzerfreundliches Befehlszeilentool bereit, das ein Profil der lokal ausgeführten App erstellt. Die Integration von ETTrace in eine iOS-App ist so einfach wie das Verknüpfen eines Objective-C-Frameworks und das Ausführen von ettrace in der Befehlszeile, um die Profilerstellung bei Bedarf zu starten und zu stoppen. ETTrace unterstützt auch die Möglichkeit, die Ablaufverfolgung direkt nach dem Start der App zu starten, indem der Info.plist ETTraceRunAtStartup-Schlüssel auf YES gesetzt wird.

Das Framework ist in der Lage, den App-Stack in festgelegten Abständen in einer Trace-Datei aufzuzeichnen, aus der dann eine Visualisierung erstellt wird. ETTrace tastet nur den Hauptthread ab, der der zeitkritischste Teil einer iOS-App ist, da er für die Darstellung der Benutzeroberfläche verantwortlich ist und niemals blockieren sollte. Die Spuren können dann auf eine öffentliche Seite der Emerge Tools-Website hochgeladen werden, um ein Flammendiagramm zu erstellen. Sie können auch zwei Traces unterscheiden, um zwei unterschiedliche Ausführungen Ihrer App zu vergleichen und beispielsweise zu prüfen, wie sich eine Funktion verbessert oder verschlechtert hat.

Ein weiterer Vorteil von ETTrace, sagt Martin, besteht darin, dass es mithilfe von Emerge Tools Performance Analysis, das Leistungstestfunktionen bietet, in eine CI-Pipeline integriert werden kann. Als Fallstudie erwähnt er die von Doordash geleistete Arbeit, um die Startzeit ihrer iOS-App um 60 % zu verkürzen und die Engpässe im Zusammenhang mit Swift-Protokoll-Konformitätstests zu identifizieren und zu beseitigen.

Ein Flame-Diagramm ist eine Möglichkeit zur Visualisierung hierarchischer Daten, die es einfach macht, die am häufigsten verwendeten Codepfade zu identifizieren. Jeder Knoten, also jede Funktion, wird durch einen Rahmen dargestellt, dessen Breite ein relatives Maß für die von dieser Funktion genutzte CPU-Zeit darstellt.

ETTrace kann von GitHub heruntergeladen werden.

Entdecken Sie neue Trends und Praktiken von Fachexperten. Verbessern Sie Ihre Fähigkeiten auf der QCon New York (13.–15. Juni 2023)!

Das Schreiben für InfoQ hat viele Türen geöffnet und die Karrierechancen erhöht Für mich. Ich konnte mich intensiv mit Experten und Vordenkern austauschen, um mehr über die von mir behandelten Themen zu erfahren. Und ich kann meine Erkenntnisse auch an die breitere Tech-Community weitergeben und verstehen, wie die Technologien in der realen Welt eingesetzt werden.

Ich habe das Mitwirkendenprogramm von InfoQ Anfang dieses Jahres entdeckt und es seitdem genossen! Das Peer-to-Peer-Review-System von InfoQ bietet mir nicht nur eine Plattform, auf der ich meine Erkenntnisse mit einer globalen Community von Softwareentwicklern teilen kann, sondern hat auch mein Schreiben erheblich verbessert . Wenn Sie nach einem Ort suchen, an dem Sie Ihr Software-Know-how teilen können, beginnen Sie mit der Mitarbeit bei InfoQ.

Ich habe angefangen, Nachrichten für die InfoQ .NET-Warteschlange zu schreiben, um auf dem neuesten Stand der Technik zu bleiben, aber ich habe so viel mehr daraus gemacht. Ich habe sachkundige Leute kennengelernt, weltweite Sichtbarkeit erlangt und meine Schreibfähigkeiten verbessert.

Redakteur für InfoQ zu werden war eine der besten Entscheidungen meiner Karriere . Es hat mich herausgefordert und mir in vielerlei Hinsicht geholfen, zu wachsen . Wir würden uns über mehr Leute freuentrete unserem Team bei.

InfoQ sucht einen Chefredakteur in Vollzeit dem internationalen, stets remote arbeitenden Team von C4Media beizutreten. Entdecken Sie mit uns die innovativsten Technologien unserer Zeit, arbeiten Sie mit den besten Software-Experten der Welt zusammen und helfen Sie mehr als 1,6 Millionen Entwicklerteams bei der Einführung neuer Technologien und Praktiken, die die Grenzen dessen erweitern, was Software und Teams leisten können!

Jeden Dienstag wird eine Zusammenfassung der Inhalte der letzten Woche auf InfoQ verschickt. Treten Sie einer Community von über 250.000 erfahrenen Entwicklern bei. Sehen Sie sich ein Beispiel an

Wir schützen Ihre Privatsphäre.

Sie müssen ein InfoQ-Konto registrieren oder sich anmelden oder anmelden, um Kommentare zu posten. Aber hinter der Registrierung steckt noch viel mehr.

Holen Sie das Beste aus dem InfoQ-Erlebnis heraus.

Zulässiges HTML: a,b,br,blockquote,i,li,pre,u,ul,p

Zulässiges HTML: a,b,br,blockquote,i,li,pre,u,ul,p

Zulässiges HTML: a,b,br,blockquote,i,li,pre,u,ul,p

Treten Sie einer Expertengemeinschaft bei. Sergio De Simone hat viele Türen geöffnet und Karrierechancen erweitert. Das Peer-to-Peer-Review-System von Vivian Hu InfoQ hat mein Schreiben erheblich verbessert. Oghenevwede Emeni hat weltweite Sichtbarkeit erlangt und meine Schreibfähigkeiten verbessert. Die besten Entscheidungen meiner Karriere, Edin Kapić, haben mir in vielen Bereichen geholfen, mich weiterzuentwickeln Möglichkeiten, unserem Team beizutreten Thomas Betts Vollzeit-Chefredakteur The InfoQ Holen Sie das Beste aus der InfoQ-Erfahrung heraus.