GASのconsoleクラスのメソッドで実行時間をログ出力する方法


みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

GASでconsoleクラスを使ってApps Scriptダッシュボードにログを出力する方法をお伝えしています。

前回の記事はこちらです。

Apps Scriptダッシュボードでconsoleクラスのログ出力を確認する方法とメリット
GASの動作確認で「ログ」使いますよね?実はApps Scriptダッシュボードで確認することができます。今回は、consoleクラスによるそのログ出力の方法とメリットについてお伝えします。

consoleクラスによるApps Scriptダッシュボードへのログ出力の方法についてお伝えしました。

さて、consoleクラスには実行時間を測定するためのメソッドも用意されています。

ということで、今回はGASのconsoleクラスのメソッドで実行時間をログ出力する方法です。

では、行ってみましょう!

スポンサーリンク

GASで実行時間を測定するには

GASで実行時間を測定したいとき、V8ランタイム環境に切り替えをしないのであれば、「実行トランスクリプト」を使うことができます。

例えば、以下のような一定時間(3000ミリ秒)を経過させるだけの関数myFunctionを作ってみました。

function myFunction(){
  Utilities.sleep(3000);
}

これをスクリプトエディタ上で実行して、スクリプトエディタの「表示」> 「実行トランスクリプト」を選択します。

このメニューはV8ランタイムへの切り替えをしなければ表示されます。

すると、以下のように実行時間を確認することができます。

GASの実行トランスクリプト

合計ランタイム 3.003秒

ただ、モダンな構文が使えるV8ランタイム環境を使おうとするのであれば、この方法は使うことができません。

そのようなときは、別の方法としてconsoleクラスのメソッドを使うことができます。

consoleクラスで実行時間をログ出力する

consoleクラスのtimeメソッド、timeEndメソッドを使用すると、関数の実行時間について測定しログ出力することができます。

timeメソッドは、新たなタイマーをスタートします。

console.time(ラベル)

ラベルで指定した文字列が、スタートしたタイマーのタイマー名になります。

それで、タイマーを止めてタイマーの時間をログ出力するには、timeEndメソッドを使用します。

console.timeEnd(ラベル)

ラベルには、すでにスタートしているストップしたいタイマー名を指定します。

なお、これらの方法によるログ出力は、スクリプトエディタのログだけでなく、Apps Scriptダッシュボードでも確認することができます。

実行時間のログ出力を確認する

では、これらのconsoleクラスのメソッドを使って、前述の関数myFunctionの実行時間をログ出力してみましょう。

以下のようなコードになります。

function logTime() {
  const label = 'myFunction() time'
  console.time(label); 
  myFunction();
  console.timeEnd(label);
}

これを実行して、まずはスクリプトエディタのログを確認してみましょう。

スクリプトエディタへの実行時間ログ出力

では、続いて、Apps Scriptダッシュボードを確認してみましょう。

Apps Scriptダッシュボードへの実行時間ログ出力

このように、きちんとタイマー名と実行時間が出力されていることが確認できます。

まとめ

以上、GASでconsoleクラスを使ってApps Scriptダッシュボードにログを出力する方法をお伝えしました。

実行時間については、これらのメソッドで自由なポイントを測定できるようになりました。

また、Apps Scriptダッシュボードでは過去の記録が残りますし、トリガーなどの実行結果もとることができます。

便利になりましたね。

console.logについての便利な使い方があれば紹介しますね。

どうぞお楽しみに!

連載目次:GASのconsoleクラスでダッシュボードにログ出力

GASのログはconsole.logを使ってログ画面で確認をすることが多いわけですが、「consoleクラス」の他のメソッド群も使えたり、Apps Scriptダッシュボードで確認をすることで、その活用の幅が広がります。このシリーズでは、consoleクラスを使ったログを出力する方法をお伝えしていきます。
  1. Apps Scriptダッシュボードでconsoleクラスのログ出力を確認する方法とメリット
  2. GASのconsoleクラスのメソッドで実行時間をログ出力する方法

タイトルとURLをコピーしました