【#PowerApps】キャンバスアプリの編集時のデバックをモニター機能を使って効率よく行う方法

# 概要

Power Apps モニター機能を使って公開されているアプリをデバックする方法を記載しています。

なお本記事は Power Apps のバージョンが 3.20042 以降を使って公開されたアプリが必要です。古いアプリの場合は再度公開する必要があります。


# モニター（監視）機能とは

この機能はアプリの操作や通信などをログ形式で表示し、そこからパフォーマンスや問題点などを調査、修正するために提供されている機能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/55448c47-47fa-351d-d7e1-8fe90472199c.png)


ログ形式のため、開発者でない方は表示されている項目に最初はお手上げっ状態になってしまいますが、何が表示されているのかを以下のサイトからご確認いただければ、徐々にわかってくるかと思います。

[モニターの概要](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-overview)

公開されたアプリのモニター機能の使い方は以下の記事になりますのでご確認ください。
[公開されたキャンバスアプリをモニター機能でデバックする](https://qiita.com/taku_maru/items/f017855da2beba315957)

# やり方

アプリスタジオ（編集画面）を表示し、左にあるメニューからモニターを開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/240d9ddd-25b9-75f0-c26b-8bd66b54335b.png)

すると、モニター画面が立ち上がります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/507bb4a8-2d76-2468-5d29-342649dc81fb.png)

編集側のアプリに戻ってボタンなどを押すと、ログが表示されることが各二人できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/46961320-378e-ecb6-7b76-fe6b778603aa.png)

続いて上のメニューの開設をします。

## 上部メニュー

### データの消去

表示されたログを消去します。
ログが多くなって表示しにくくなってきたら消去しましょう。

### アップロード

適切なJSONの形（ダウンロードしたファイル形式）でログをアップロードすることで、モニター画面にログを表示することができます。これによって他社の編集したアプリのログなどをモニター画面を使って確認することが可能です。
複数のログファイルをアップロードすることは 2021/11/23 時点ではできません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/271b2c4b-2ce5-3c5f-d73a-887328b8dc02.png)



### ダウンロード

JSON形式でログをダウンロードすることができます。
ダウンロードしたログはアップロードすることも可能なため、ほかのユーザーにログを共有したい場合や、ログを保管しておきたい場合に使います。
デバックなどで差異が生まれた場合にログを使って確認するやり方に用いてもいいかもしれません。
なお、ダウンロードできるログはあくまで表示されているログだけですので、消去した場合は消去したログはダウンロードできませんのでご注意ください。

### 招待する

テナント内のユーザーのメールアドレスを用いて、モニター画面にユーザーを招待します。 **招待された時点** からのログをユーザー同士で共有できます。

### オプション

ログの表示に関する設定が可能です。現時点ではそこまで細かく設定は不可能で、既定か詳細くらいしか選べません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/efce93b3-c369-c303-fb69-d6781bc81620.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/9ca7113a-4913-eee7-6d93-81417e1b2cbb.png)

### フィルター

ログのフィルターができます。
特定のコントローラーのログの未確認したい場合などに用います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/183354/1215b40c-f865-7524-aba4-2dcacda6c7f6.png)


# ログを確認する

アプリを起動した後表示されたログを確認し、デバックを行います。
どういったログが表示されているのかはこちらをご確認ください。

[モニターダッシュボード](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-overview#monitor-dashboard)


# 制限事項

この機能には 2021/11/23 時点でいくつか制限があるので、こちらの記事をご確認ください。
[サポートされていないモニターのシナリオ](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-advanced#unsupported-scenarios-for-monitor)

また、接続しっぱなしにしていると、通信の状況によってはログが急に表示されなくなる場合があるため、その場合は再度モニターを開きなおしましょう。

# まとめ

ログ機能を用いることで、効率よく修正箇所を探すことができます。小規模なアプリでは必要になることはそこまでありませんが、パフォーマンスをある程度求められるアプリや、機能が多く複雑なアプリのデバックの効率は格段に上がるため、ぜひ覚えておきましょう。

# 参考

- [モニターの概要](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-overview)
- [モニターを使用した共同トラブルシューティング](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-collaborative-debugging)
- [モニターでキャンバス アプリをデバッグする](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-canvasapps)
- [高度なモニタリングの概要](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-advanced)
- [サポートされていないモニターのシナリオ](https://docs.microsoft.com/ja-jp/powerapps/maker/monitor-advanced#unsupported-scenarios-for-monitor)