
photo credit: davidstewartgets Accurate alarm alarm clock – Credit to https://homegets.com/ via photopin (license)
みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
GASでconsoleクラスを使ってApps Scriptダッシュボードにログを出力する方法をお伝えしています。
前回の記事はこちらです。

consoleクラスによるApps Scriptダッシュボードへのログ出力の方法についてお伝えしました。
さて、consoleクラスには実行時間を測定するためのメソッドも用意されています。
ということで、今回はGASのconsoleクラスのメソッドで実行時間をログ出力する方法です。
では、行ってみましょう!
GASで実行時間を測定するには
GASで実行時間を測定するには、「実行トランスクリプト」を使うことができます。
例えば、以下のような一定時間(3000ミリ秒)を経過させるだけの関数myFunctionを作ってみました。
function myFunction(){ Utilities.sleep(3000); }
これをスクリプトエディタ上で実行して、スクリプトエディタの「表示」> 「実行トランスクリプト」を選択します。
すると、以下のように実行時間を確認することができます。
合計ランタイム 3.003秒
ただ、これを確認できるのはスクリプトエディタを開けるときだけですね。
トリガーで実行したときなど、どこかに実行時間を記録しておきたい…というときもあります。
そのようなときのために、consoleクラスに便利なメソッドが用意されています。
consoleクラスで実行時間をログ出力する
cosoleクラスのtimeメソッド、timeEndメソッドを使用すると、関数の実行時間についてApps Scriptダッシュボードにログを出力することができます。
timeメソッドは、新たなタイマーをスタートします。
ラベルで指定した文字列が、スタートしたタイマーのタイマー名になります。
それで、タイマーを止めてタイマーの時間をログ出力するには、timeEndメソッドを使用します。
ラベルには、すでにスタートしているストップしたいタイマー名を指定します。
実行時間のログ出力を確認する
では、これらのconsoleクラスのメソッドを使って、前述の関数myFunctionの実行時間をログ出力してみましょう。
以下のようなコードになります。
function logTime() { var label = 'myFunction() time' console.time(label); myFunction(); console.timeEnd(label); }
これを実行して、Apps Scriptダッシュボードを確認してみましょう。
myFunction() time: 3003ms
このように、きちんとタイマー名と実行時間が出力されていることが確認できます。
まとめ
以上、GASでconsoleクラスを使ってApps Scriptダッシュボードにログを出力する方法をお伝えしました。
このように、実行時間についてもApps Scriptダッシュボードに出力できますね。
これまで、トリガーなどで動作させた場合は、スプレッドシートやドキュメントにログ出力するような工夫が必要でしたが、consoleクラス&Apps Scriptダッシュボードのおかげで、その必要はもうなくなりましたね。
また、console.logについての便利な使い方があれば紹介しますね。
どうぞお楽しみに!