Tech Reportでは、システムのパフォーマンス管理のエッセンスや技術情報をはじめ、導入事例・製品情報など幅広い情報をご紹介します。

DynatraceのUser sessions queryを使ってみよう

~ユーザー行動データを抽出して分析する~

パフォーマンス管理ソリューションDynatraceでは、監視対象のアプリケーションをユーザーが操作する度にその行動データを詳細にキャプチャしています。
以前のTech Reportでは、このユーザーアクションについて、原因特定までの分析の流れをご紹介しました。
(詳細は、こちらの記事をご確認ください:Dynatraceの分析手法について ~ユーザーアクション全体から原因箇所を特定する~
このような分析方法に加え、DynatraceではUser sessions query(USQL)というDynatraceの利用者が自身でデータを集計できる機能があります。本記事ではUser sessions queryの概要と簡単な使用方法についてご紹介します。

 

1. User sessions queryの概要

User sessions queryとは、冒頭でも記載したとおり、ユーザーの行動データをDynatraceの利用者が自身で集計できる機能です。
Dynatraceでは、ユーザーの行動データをリレーショナルデータベースに保存はしていないため、一般的なSQL言語とは異なりますが、一部SQLの概念に依存しており、構文も似ています。そのため、Dynatraceの使用を開始したばかりという方も、SQLを使用したことがあれば比較的簡単に使用することが可能です。Dynatrace独自のクエリを用いて、利用者が抜き出したい特定のユーザーアクションやブラウザ単位などで集計し、グラフ化することができます。

 

2. User sessions queryを使ってみよう

実際にUser sessions queryを使ってみましょう。Navigation menuからUser sessionsを選択します。
右上に表示されている「User Sessions query」をクリックします。

黒い入力フォームが表示されます。この部分に集計したいデータになるようにクエリを記載します。
User session queryは直接入力もできますが、以下の画面のように、次の入力候補をある程度自動的に表示します。次の入力候補を自動的に出力してくれるので、SQL文の知識は少しだけという方も気軽に利用していただけます。

例として、以下のようなクエリを記述します。

<クエリの抽出条件>

  • ユーザーアクションの"duration"を「応答時間」とし、ユーザーアクション名と共にUserSessionからセレクト
  • 抜き出すアクションは"REAL_USER"(ロボット要求などが除外されます)
  • "browserFamily"(ブラウザの種別)は"Chrome"のみ
  • 応答時間とユーザーアクション毎にグルーピング
  • 応答時間の遅い順に表示

データを抜き出す対象の時間は画面右上のタイムフレーム内が対象です。
クエリを記載した後は「Run query」をクリックします。

実行結果が表示されました。画像の大きさの関係で上記はTOP 3までしか載せておりませんが、Dynatraceの仕様としてデフォルト値はTOP 50で凡例が表示されます。TOP 50以上を表示したい場合、TOP関数を使用します。
※対象期間とデータの数によっては実行時間が長くなったり、すべて表示できないケースがあります。
※そのほか使用できる関数に関してはドキュメントをご確認ください。

 

3. 特定アクションに絞って抽出し、ダッシュボードに貼り付けてみよう

次に特定のユーザーアクションについて抽出してみます。次のようなクエリを記述しました。

<クエリの抽出条件>

  • ユーザーアクションのスタートタイム、平均応答時間を"useraction"からセレクト
  • "DoLogin"アクションのみ抽出
  • スタートタイムでグルーピング

このケースでは特定のユーザーアクションに絞ったため、「Bar chart」形式で表示されています。
折れ線グラフの方がわかりやすそうなので、「Line chart」を選択してみます。

折れ線グラフで応答時間が表示されました。このように、利用者が抽出したデータの集約単位によって適したグラフのタイプを選択することが可能です。
User session queryで作成したグラフは、そのデータへのアクセス権を持っている利用者にURLを共有することで閲覧することができます。
また、ダッシュボードに貼り付けることもできるため、ダッシュボードごと他の利用者に共有することも可能です。グラフ右上の「Pin to dashboard」をクリックし、対象のダッシュボードを選択すると貼り付けることができます。ダッシュボードに表示させることで作成したグラフを定常的に確認することができます。

 

4. まとめ

今回は、ユーザーアクションデータのさらなる活用方法としてUser sessions queryについて記載しました。
クエリを記述することで、Dynatraceの利用者が集計したい単位でデータを抽出することができるため、抽出したいデータの形が決まっている場合、非常に有効な手段です。日頃Dynatraceをご覧いただいている中で、「もう少し違った集計単位で表示されていれば・・」、「こういう表示はできないのか」と感じている方は是非User sessions queryを試してみてはいかがでしょうか。
本記事が日頃のパフォーマンス管理の参考になれば幸いです。

以上

 

掲載:2020年8月17日

紹介者プロフィール

中山 香

株式会社 アイ・アイ・エム
お客様担当SEとして、製品の構築から活用方法までの一連のサポートを担当
また、お客様環境にて性能問題が発生した際には、製品のアウトプットを利用し、問題解決に向けた調査/提案業務を実施

■経歴
2014年  入社
2015年~ 2018年2月まで西日本でのお客さまサポートを担当
2018年~ 東日本のお客さまサポート部隊へ異動

主にシステムリソース情報からの性能管理サポートに従事し、
近年は、上記に加えAPM製品を利用したユーザー体感レスポンスやアプリケーション視点での性能管理サポートにも従事。現在に至る。

関連製品

アプリケーション性能管理ソフトウエア Dynatraceデジタルパフォーマンス管理ソフトウエア Dynatrace

Webサイトやアプリケーションなどのビジネストランザクションすべてを可視化。業務システムのパフォーマンスをリアルタイムに監視し、システムの安定稼働と問題の早期発見・解消を可能とするAPM製品です。

お問い合わせ

掲載記事に関するお問い合わせは下記フォームからお願いします。