Quantcast
Channel: いつも隣にITのお仕事
Viewing all articles
Browse latest Browse all 2095

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

$
0
0

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

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

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

Apps Scriptダッシュボードでconsoleクラスのログ出力が確認できるようになった
GASの動作確認で「ログ」使いますよね?実は、Logger.logとは別にconsoleクラスも使えると便利です。今回はApps Scriptダッシュボードでconsoleクラスによるログ出力を確認する方法です。

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

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

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

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

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

GASで実行時間を測定するには、「実行トランスクリプト」を使うことができます。

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

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

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

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

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

合計ランタイム 3.003秒

ただ、これを確認できるのはスクリプトエディタを開けるときだけですね。

トリガーで実行したときなど、どこかに実行時間を記録しておきたい…というときもあります。

そのようなときのために、consoleクラスに便利なメソッドが用意されています。

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

cosoleクラスのtimeメソッド、timeEndメソッドを使用すると、関数の実行時間についてApps Scriptダッシュボードにログを出力することができます。

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

console.time(ラベル)

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

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

console.timeEnd(ラベル)

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

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

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

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

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

これを実行して、Apps Scriptダッシュボードを確認してみましょう。

consoleクラスによるApps Scriptダッシュボードへの実行時間のログ

myFunction() time: 3003ms

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

まとめ

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

このように、実行時間についてもApps Scriptダッシュボードに出力できますね。

これまで、トリガーなどで動作させた場合は、スプレッドシートやドキュメントにログ出力するような工夫が必要でしたが、consoleクラス&Apps Scriptダッシュボードのおかげで、その必要はもうなくなりましたね。

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

どうぞお楽しみに!

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

GASのログは「Logger.log」がメジャーですが、「consoleクラス」のメソッド群も使えるようになると色々と便利です。このシリーズでは、consoleクラスを使ってApps Scriptダッシュボードにログを出力する方法をお伝えしていきます。
  1. Apps Scriptダッシュボードでconsoleクラスのログ出力が確認できるようになった

Viewing all articles
Browse latest Browse all 2095

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>