Ich habe ein Google App Script geschrieben, um Google Analytics-Daten in eine Google-Tabelle einzutragen. Es ist ein ziemlich lang laufendes Skript, das mehrere Anfragen an die GA Reporting API sendet. Es verwendet auch die ScriptDB von Google App.
Gibt es eine gute Möglichkeit, jeden Schritt der Skriptleistung zu profilieren, damit ich herausfinden kann, welche Bereiche am längsten brauchen, damit ich in bestimmten Bereichen mit der Optimierung beginnen kann?
Das Execution Transcript ist sehr nützlich für diese Art von Dingen.
Sie können auch überall Logger.log()
-Anweisungen eingeben, die die Zeit seit dem letzten Protokoll messen. Auf diese Weise können Sie Bereiche finden, deren Ausführung länger dauert.
Ich habe eine Tabelle , in die ich das Protokoll nach einer Ausführung und dann Formeln kopiere + bedingte Formatierung hilft mir, Bereiche zu identifizieren, die langsam sind.
Als Ergänzung zu Freds Antwort definieren Sie oben im Skript eine Variable start
dann in ein paar Logger.log()
platziert eine strategische Punkte verwenden
und Sie werden eine ziemlich gute Vorstellung von dem bekommen, was vor sich geht ...
Um die Antwort von Serge zu korrigieren, wo die Call-to-Date-Funktion ein Problem hat, können Sie diese Lösung verwenden.
%Vor%Sie können die Kommentarzeilen durch Ihren Code ersetzen. Nach der Ausführung drücken Sie Strg + Eingabetaste oder Befehl ⌘ + Enter auf Mac, um die Protokolle anzuzeigen. Sie erhalten etwas wie folgt:
[17-01-18 12: 25: 58: 932 UTC] Die gesamte Ausführungszeit beträgt: 16586 ms
Also ist hier die Gesamtausführungszeit 16586 ms oder anders gesagt 16.586 Sekunden.
Darüber hinaus können Sie das folgende Codefragment zwischen Ihrem Code einfügen, um die Ausführungszeit von verschiedenen Teilen zu messen.
%Vor% Sie sollten wahrscheinlich die Methoden console.time(label)
und console.timeEnd(label)
, da Sie bei Verwendung von Date
negative Ergebnisse erhalten könnten.