JP5560180B2 - 稼働ログ収集方法および装置 - Google Patents

稼働ログ収集方法および装置 Download PDF

Info

Publication number
JP5560180B2
JP5560180B2 JP2010286909A JP2010286909A JP5560180B2 JP 5560180 B2 JP5560180 B2 JP 5560180B2 JP 2010286909 A JP2010286909 A JP 2010286909A JP 2010286909 A JP2010286909 A JP 2010286909A JP 5560180 B2 JP5560180 B2 JP 5560180B2
Authority
JP
Japan
Prior art keywords
event
operation log
log
operation information
recorded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010286909A
Other languages
English (en)
Other versions
JP2012133695A (ja
Inventor
弘充 中川
友洋 中村
友隆 塩野谷
隆雄 櫻井
幸久 藤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010286909A priority Critical patent/JP5560180B2/ja
Priority to US13/819,970 priority patent/US20130263156A1/en
Priority to PCT/JP2011/051950 priority patent/WO2012086217A1/ja
Publication of JP2012133695A publication Critical patent/JP2012133695A/ja
Application granted granted Critical
Publication of JP5560180B2 publication Critical patent/JP5560180B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ウェブアプリケーションの稼働ログ収集方法および装置に係わり、特に稼働ログ収集量を削減するための方法および装置に関するものである。
近年、金融や小売業など様々な業種でウェブアプリケーションによるオンラインサービスが普及している。オンラインサービスを実施する企業は年々増加傾向にあり、ウェブアプリケーションは企業活動にとって欠かせないものとなった。オンラインサービスを実施する理由のひとつに、広範囲に新規顧客を獲得できるということがある。どの企業も時間や場所に捕らわれずサービスすることができ、ユーザにも選択の幅が広がっている。
このような背景においては、サービス品質が重要となる。例えば、ウェブアプリの応答時間が遅い、サービスメニューが見つけにくいというように、サービス品質が低い場合、ユーザは別のオンラインサービスへと移動してしまい、ビジネスの機会を喪失してしまうこととなる。よって、企業はサービス品質の維持、向上を行う必要がある。サービス品質の維持、向上には、サービス品質をモニタリングする施策と、サービス品質が低い場合すぐに高めるための施策が必要となる。
本発明は、サービス品質をモニタリングする施策に係わる。
サービス品質をモニタリングする施策には、ウェブアプリを提供するウェブアプリサーバのアクセスログを収集して分析する方法や、クライアントのウェブアプリ稼働ログを収集して分析する方法などがある。本発明は、後者の方法のなかでも特に、クライアントのウェブアプリ稼働ログを収集し、サービス提供者側でクライアントの画面を再生し、ユーザがどのような操作をしたか、また、アプリケーションがどのように応答したかを分析する、稼働ログ収集再生装置に係わる。
稼働ログ収集再生装置は、画面の再生に必要となる操作ログ収集において、クライアントに操作記録スクリプトを配置し、アプリケーション操作のイベントメッセージを取得して稼働ログを生成、収集する。このとき、単純に全てのイベントの稼働ログを収集してしまうと、ログ量が増大し、分析を行うサービス提供者の記録媒体を圧迫するという問題が生じてしまう。
そこで収集するログの量を削減する従来技術として、分析を行う者が対象となるシステムにログ収集ポリシを設定し、収集するログのイベントの種類をカスタマイズできる技術(例えば特許文献1)が提案されている。
特開2009-25977号公報
特許文献1に記載の従来技術は、クライアントのウェブブラウザ上で起きる様々な種類のイベントを、ログとして記録するか否かを判断するフラグを立てている。この技術をクライアント画面の再生に用いる場合、以下の問題が発生する。クライアント画面を再生するためには、何らかの形で画面が変更されるユーザの操作やアプリケーションの応答に関わるイベントは全て収集しなければならない。ここで、クライアント画面を再生するために収集が必要なイベントは全数十〜数百種の中の一部である。しかし、クライアント画面を再生するために必要なイベントの種類は、アプリケーションごとに異なる。そのため、分析を行う者は、全数十〜数百種のイベントのうちどのイベントを収集しなければならないかを正確に把握することが難しい。その結果、分析を行う者は、アプリケーションの実装から必要ないと判断できるイベント以外のイベントは、全て収集すると判断するしかなくなり、ログ量の削減効果は見込めない。また、一般にウェブブラウザで発生したイベントの取得のために、イベントの発生を検知し、記録するプログラム(イベントハンドラ)を接続するが、これを全てのイベントの発生に対して動作させるとクライアントの負荷が増加し、ユーザの操作を妨げる場合がある。
よって、クライアント画面の再生に必要なイベントの種類を自動的に判断すること、及び、画面の再生に必要十分な量のログを取得・収集する手段の確立が課題となる。画面の再生において必要十分な量とは、何らかの形で画面が変更されるユーザの操作やアプリケーションの応答に関わるイベントを記録した場合の量のことである。
ウェブブラウザがアプリケーションを開始するときにユーザ操作やアプリケーション応答に係わるイベントを取得するイベントハンドラを接続する。イベントハンドラがイベントの発生を検知したとき、過去に記録したことがないイベントであった場合はログとして記録する。その他のイベントであった場合、スクリプトの実行があった場合か、データが変更されていた場合はログとして記録する。
また、上記におけるイベントハンドラの接続において、あらかじめ必要となるイベントの種類をポリシとして登録しておき、そのイベントに対してのみイベントの発生検知や記録を実施する。さらに、分析の対象となるアプリケーションで過去に記録したイベントの種類の一覧を稼働情報として取得し、ポリシの初期値とする。
本発明によれば、収集ログ量を削減しつつ、クライアントの操作を再生する上で必要十分な量のログの取得・収集が可能となる。また、ユーザは、ログ記録要否の判断のログ収集ポリシを、少ない手間で正確に設定できる。
本発明が対象とするウェブシステムに関する基本的な構成を示すブロック図である。 本発明の第1の実施形態の稼働ログ収集装置の構成機能の一例を示すブロック図である。 図2のプログラム初期化部の処理の一例を表すフローチャートである。 図2の稼働ログ記録部の処理の一例を表すフローチャートである。 図2の稼働ログ記録部において、稼働ログを生成するために利用されるイベントログの一例である。 図2の稼働ログ記録部によって生成された稼働ログの一例である。 図2の稼働ログ読出部における、稼働ログをウェブサーバへ送信するために稼働ログを読み出す処理の一例を表すフローチャートである。 本発明の第2の実施形態の稼働ログ収集装置の構成機能の一例を示すブロック図である。 図8の稼働ログ収集コードを生成するための、ログ収集ポリシのテーブル構成の一例を表した図である。 図8の稼働ログ収集コード設定プログラムにおける、ログ収集ポリシを設定する処理の一例を表したフローチャートである。 図8のスクリプト選択挿入プログラムにおける、アプリケーションコードに稼働ログ収集コードを挿入する処理の一例を表したフローチャートである。 図9のログ収集ポリシを設定するためのユーザーインタフェースの一例を表した図である。 図8の稼働ログ記録/稼働情報記録部の処理の一例を表したフローチャートの一例である。 図8のアプリ稼働情報生成部から生成されるアプリ稼働情報のテーブル構成の一例を表した図である。 図8のアプリ稼働情報生成部において、稼働情報を更新する処理の一例を表したフローチャートである。 図8のアプリ稼働情報読出部において、アプリ稼働情報をウェブサーバへ送信するためにアプリ稼働情報を読み出す処理の一例を表したフローチャートである。
以下、本発明の実施形態について図1〜図16を順に参照して説明する。
≪第1の実施形態≫
図1は、本発明が対象とするウェブアプリケーションを実行するシステムのハードウェア構成と、ソフトウェア構成の例を示すシステム構成図である。
ハードウェアは、クライアント装置100、ウェブサーバ装置120、これらの装置を接続するネットワーク110から構成される。なお、各装置のハードウェアは同一のハードウェアで実現されても、複数台で構成されてもよい。また、1台のウェブサーバ装置に対して、接続するクライアント装置は複数台でもよい。
クライアント装置100、ウェブサーバ装置120は、すべてプロセッサ(104、124)、メモリ(106、126)、入力装置(102、122)、出力装置(101、121)、ネットワークインタフェース(103、123)、記憶装置(105、125)をもち、相互に接続されている。ただし、一部の装置ではこれらの構成要素の一部が欠けてもよい。また、記憶装置105はメモリ106に含まれていてもよいし、記憶装置125はメモリ126に含まれていてもよい。
入力装置102には、キーボードやマウスなどが接続され、プログラムの実行や停止の指示を行うのに利用される。出力装置101にはモニタやプリンタなどが接続され、プログラムの実行結果を表示するのに利用される。プロセッサ104は、メモリ106からプログラムを読み込んで処理を実行する。ネットワークインタフェース103は、クライアント装置100と外部の装置とを接続するために利用される装置であり、ネットワーク110を介してウェブサーバ装置120と、ウェブページのリクエストや、レスポンスなどの送受信を行う。
クライアント装置100のメモリ106には、ブラウザプログラム233が格納されている。また、ブラウザプログラム233の中には、スクリプトエンジンプログラム234が格納されている。これらのプログラムは、お互いに包含関係にあっても、独立していてもよい。これらのプログラムは、プロセッサ104に読み込まれて実行される。
ブラウザプログラム233は、ウェブページをリクエストしたり、リクエストしたウェブページのレスポンスを受信し、レスポンスを解釈して表示画面を生成する機能などを持つ。スクリプトエンジンプログラム234は、ウェブページのレスポンスに含まれるスクリプトコードを解釈してスクリプトコードに書かれている処理をプロセッサ104で実行する機能を持つ。
ウェブサーバ装置120のメモリ126には、ウェブサーバプログラム203が格納されている。また、ウェブサーバプログラム203の中には、アプリケーションコード202が含まれている。これらのプログラムおよびコードは、お互いに包含関係にあっても、独立していてもよい。これらのプログラムおよびコードは、プロセッサ124に読み込まれて実行される。
ウェブサーバプログラム203は、クライアント装置100などの外部の装置からのリクエストに応じてウェブページのレスポンスを返信する機能を持つ。アプリケーションコード202はクライアント装置100のブラウザプログラム233で実行されるコードであり、ウェブサーバプログラム203が返信するレスポンスの中に含まれる。
記憶装置105にはクライアント装置100とウェブサーバ装置120の間で送受信される稼働ログなどが保管されている。
出力装置121、入力装置122、プロセッサ124、ネットワークインタフェース123は、記憶装置125は、クライアント装置100にある同名の装置と同じ機能を持つ。
図2は、イベントログからクライアントの操作を再生する上で必要十分な量のログを選択送信するためのソフトウェア構成を示した構成図である。
ウェブサーバ装置120のメモリ126には、ウェブサーバプログラム203、アプリケーションコード202の他に、スクリプト挿入プログラム200が格納されている。また、スクリプト挿入プログラム200の中には、稼働ログ収集コード201が含まれている。これらのプログラムおよびコードは、お互いに包含関係にあっても、独立していてもよい。
スクリプト挿入プログラム200は、ウェブサーバプログラム203からアプリケーションコード202を含むレスポンスを受信して、アプリケーションコード202に対して稼働ログ収集コード201を挿入した後、ウェブアプリ送信部210を介してクライアントへレスポンスを返信する機能を持つ。稼働ログ収集コード201は、クライアント装置100上でイベントのログを記録したり、記録したログをウェブサーバ装置120に送信する機能を持つ。
ウェブサーバ装置120のネットワークインタフェース123は、稼働ログ受信部211、ウェブアプリ送信部210から構成される。
稼働ログ受信部211はクライアント装置100の稼働ログ送信部221からネットワーク110を介して稼働ログ250を受信し、記憶装置125へと保管する機能を持つ。ウェブアプリ送信部210はスクリプト挿入プログラム200からウェブアプリのレスポンスを受信し、ネットワーク110を介してクライアント装置100のウェブアプリ受信部220へと送信する機能を持つ。
クライアント装置100のメモリ106には、ウェブページのレスポンス受信後、ブラウザプログラム233、スクリプトエンジンプログラム234の他、稼働ログ収集コード201が格納されている。稼働ログ収集コード201は、プログラム初期化部230、稼働ログ記録部231、稼働ログ読出部232によって構成されており、それぞれ図1のプロセッサ104で実行される。なお、これらのプログラムは同等の役割を持つ複数のプログラムによって構成されてもよい。
プログラム初期化部230は、ブラウザプログラム233上で発生するイベントを取得してイベントログを生成する処理と、イベントドリブンのスクリプトの実行を取得する処理をスクリプトエンジンプログラム234に付与する機能を持つ。ここでいうイベントとは、例えばマウスのクリックやウェブページ上での値の入力といった、アプリケーション実行上の出来事である。この機能は、ブラウザプログラム233により、ウェブサーバプログラム203からのレスポンスに含まれるコンテンツが表示される直前に一度だけ実行される。
稼働ログ記録部231は、ブラウザプログラム233上で発生したイベントのうち、データ更新の有無を判定しデータ更新の有るイベント、またはスクリプト実行の有無を判定しスクリプト実行の有るイベントのログのみを稼働ログ250として、時系列順に記憶装置105へと記録する機能を持つ。なお、稼働ログ収集コード201はスクリプトエンジンプログラム234によって実行可能なスクリプトコードとして実現されており、ブラウザプログラム233でイベントが発生するごとに実行される。
稼働ログ読出部232は、記録装置105に格納されている稼働ログ250を全て読み出し、稼働ログ送信部221へと渡す機能を持つ。送信された稼働ログ250はウェブサーバ装置120上の記憶装置125に記録される。
クライアント装置100のネットワークインタフェース103は、稼働ログ送信部221、ウェブアプリ受信部220から構成される。
稼働ログ送信部221は稼働ログ読出部232から稼働ログ250を受信し、ネットワーク110を介してウェブサーバ装置120の稼働ログ受信部211へと送信する機能を持つ。ウェブアプリ受信部220はウェブサーバ装置120のウェブアプリ送信部210からネットワーク110を介してウェブアプリのレスポンスを受信し、ブラウザプログラム233へと渡す機能を持つ。
図3はプログラム初期化部230の処理フローを示した図である。
プログラム初期化部230では、ステップS300、S301、S304、S305のとおり、稼働ログ収集コードに記載のDOM(Document Object Model)要素全てに対して、また、稼働ログ収集コードに記載のイベント全てに対して、ステップS302、S303を繰り返す。
ステップS302ではDOM要素のイベントに対してID501、時刻502、イベント503、対象504、データ505を記録するイベントハンドラを付与する。イベントハンドラの付与は、例えばDOMオブジェクトが持つ、イベントハンドラを付与する関数により実現できる。
ステップS303では、DOM要素のイベントに対するスクリプト付与関数をオーバーライドする。スクリプト付与関数のオーバーライドは、例えばDOMオブジェクトが持つ、アタッチイベント関数やアッドイベントリスナー関数を同名の関数で上書きすることにより実現できる。これにより、アプリケーションがイベントドリブンのスクリプト動作を定義する際に、定義した動作が実行されると何らかのメッセージを発生させる処理を追加することが可能となり、その後のアプリケーション動作において、イベントが発生した際に、イベントドリブンのスクリプト実行があったかどうかを判断することが可能となる。
図4は稼働ログ記録部231の処理フローを示した図である。
まず、ステップS400において、発生したイベントを取得してイベントログのレコードを生成する。そして、ステップS401において、取得したイベントが画面遷移イベントかどうかを判別する。なお、画面遷移イベントとは、当該イベントが発生することで、ウェブサーバプログラム203へのリクエスト送信やウェブサーバプログラム203からのレスポンス受信が発生するイベントを表す。ここで、判別するイベントは、画面遷移イベントでなくてもよく、マウス操作イベントやキー操作イベントといったいずれかの
イベントであればよい。このとき、画面遷移イベントで判別すると、メモリ106に格納されているイベントログのレコードが、ページ遷移により解放されて失われることを防ぐことができる。また、ステップS410への分岐は画面遷移イベントの取得ではなく、稼働ログの記録を開始してから、一定時間経過するごとに分岐してもよい。
発生したイベントが画面遷移イベントであった場合、ステップS410において稼働ログ送信部221を呼び出し、本処理を終える。
発生したイベントが画面遷移イベントではなかった場合、ステップS402において、取得したイベントと同名のイベントを持つレコードが稼働ログ250に存在するかどうかを判別する。この判別により、画面の再生において必要となる、各々のイベントが最初に発生した時刻をレコードとして残すことができる。取得したイベントと同名のイベント名503を持つレコードが稼働ログ250に存在しない場合、ステップS406において稼働ログ250にレコードを作成した後、本処理を終える。
取得したイベントと同名のイベントを持つレコードが稼働ログ250に存在した場合、ステップS403において、当該同名のイベントを持つレコードの中で直近のレコードを取得する。
次にステップS404において、取得したレコードのデータ505とステップS400で生成したレコードのデータ505が等しいか判別する。このとき、データが等しいかどうかの判別は、値が少しでも異なれば等しくないと判別してもよいし、一定以上差が発生すると等しくないと判別してもよい。実施例では、mouseover,mousemove,mouseoutイベントのデータとして、イベント発生時のマウス座標をx座標,y座標の形式で記録している。これらのイベントについては座標あるいはy座標が10以上異なる場合を等しくないと判別する。また、focus,cookie,userdataイベントのデータは少しでも異なれば等しくないと判別する。この判別により、画面の再生において必要となる、データの変更があった時刻をレコードとして残すことができる。取得したレコードのデータ505とステップS400で生成したレコードのデータ505が等しくない場合は、ステップS406において稼働ログにレコードを作成した後、本処理を終える。
取得したレコードのデータ505とステップS400で生成したレコードのデータ505が等しい場合は、ステップS405において、取得したイベントドリブンのスクリプト実行があったかどうかを判別する。イベントドリブンのスクリプト実行有無の判断は、図3のステップS303において、あらかじめ定義しておいたメッセージを取得することで実現できる。この判別により、画面の再生において必要となる、スクリプト動作の契機となるイベント発生があった時刻をレコードとして残すことができる。取得したイベントドリブンのスクリプト実行が無かった場合、ステップS420において、ステップS400で生成したレコードを削除し、本処理を終える。
取得したイベントドリブンのスクリプト実行があった場合、ステップS406において稼働ログ250にレコードを作成する。
以上のように、ステップS402、S404、S405の判別をすることで、S420において画面の再生において必要ないレコードを消去することができる。画面の再生において必要ないレコードとは、既に記録した種類のイベントであり、かつデータの変更もなく、かつスクリプト動作の契機となっていないイベントの発生により、作成されるレコードのことである。既に稼働ログに記録した種類のイベントであるかをS402で、さらに、既に稼働ログに記録した種類のイベントのうち、データの変更がないイベントであることをS404で、さらに、既に稼働ログに記録した種類のイベントかつデータの変更がないイベントのうち、スクリプト動作の契機となっていないイベントであることをS405で判定している。これにより、ウェブサーバ装置に送信するためにクライアント装置で記憶するログ量を削減しつつも、ウェブサーバ装置はクライアントの操作を再生することができる。
図5は、稼働ログ記録部231によって一時的に生成されるイベントログの一例を示した図である。イベントログはイベントが発生するごとにレコード511〜526に示すようなレコードとして生成される。各レコード511〜526はID501、時刻502、イベント503、対象504、データ505をカラムとして持つ。
ID501はイベントログの各レコードを一意に識別するものである。図中では3桁の整数値を用いているが、一意に識別可能であれば文字列や記号でもよい。
時刻502はイベントが発生した時刻を表したものである。図中ではhh:mm:ssの表現形式を用いているが、時刻が正しく判別できるのであれば、他の表現形式でもよい。
イベント名503は発生したイベントの名称を表したものである。イベント名が正しく判別できるのであれば他の表現形式でもよい。図4の説明で同名のイベントと説明しているが、図5において、例えば、512、515、516、517、518、521、522、523、524、525は同名のイベントである。
対象504は、イベントが発生した対象を表したものである。図中では、ウェブページのDOMやデータを例として挙げているが、他の対象を記録してもよいし、対象が正しく判別できるのであれば、他の表現形式でもよい。
データ505は、イベントに付随する入出力データを表したものである。図中では、イベントが発生した座標やイベントによって変更されたデータを例として挙げているが、他の入出力データを記録してもよいし、データが正しく判別できるのであれば他の表現形式でもよい。
図6は、図4のフローにより、イベントログからクライアントの操作を再生する上で必要十分な量のログを選択した後に生成される稼働ログ250の一例を示した図である。
図6中のID501、時刻502、イベント名503、対象504、データ505は、図5中の同番号と同様の事柄を示している。図の例は、図5に示した511〜526のレコードから、図4のフローにより、511、512、513、514、515、519、523、524、526のレコードが選択された例である。これにより収集ログ量が削減されていることがわかる。
図5の511は、図4のS402において同名のイベントを持つレコードfocusが図6の稼働ログ250に存在しないと判断され、記録される。図5の512は、図4のS402において同名のイベントを持つレコードmouseoverが図6の稼働ログ250に存在しないと判断され、記録される。図5の513は、図4のS402において同名のイベントを持つレコードcookieが図6の稼働ログ250に存在しないと判断され、記録される。図5の514は、図4のS402において同名のイベントを持つレコードuserdataが図6の稼働ログ250に存在しないと判断され、記録される。図5の515は、図4のS402において同名のイベントを持つレコードが図6の稼働ログ250に存在しないと判断され、記録される。
図5の516〜518は、図5のS402において同名のイベントmousemoveを持つレコードが図6の稼働ログ250の515に存在すると判断され、S404において515と等しいデータを持つと判断され、S405においてイベントドリブンのスクリプト実行はないと判断され、消去される。
図5の519は、図5のS402において同名のイベントcookieを持つレコードが図6の稼働ログ250の513に存在すると判断され、S404において513とデータが等しくないと判断され、記録される。図5の520は、図5のS402において同名のイベントuserdataを持つレコードが図6の稼働ログ250の514に存在すると判断され、S404において514と等しいデータを持つと判断され、S405においてイベントドリブンのスクリプト実行はないと判断され、消去される。図5の521、522は、図5のS402において同名のイベントmousemoveを持つレコードが図6の稼働ログ250の515に存在すると判断され、S404において515と等しいデータを持つと判断され、S405においてイベントドリブンのスクリプト実行はないと判断され、消去される。
図5の523は、図5のS402において同名のイベントmousemoveを持つレコードが図6の稼働ログ250の515に存在すると判断され、S404において515と等しいデータを持つと判断され、S405においてイベントドリブンのスクリプト実行はあると判断され、記録される。この例は、時刻12:30:08にmousemoveイベントドリブンのスクリプト実行があった場合を想定した。
図5の524は、図4のS402において同名のイベントを持つレコードmouseoutが図6の稼働ログ250に存在しないと判断され、記録される。図5の525は、図5のS402において同名のイベントmouseoverを持つレコードが図6の稼働ログ250の512に存在すると判断され、S404において512と等しいデータを持つと判断され、S405においてイベントドリブンのスクリプト実行はないと判断され、消去される。
図5の526は、図4のS402において同名のイベントを持つレコードmouseoutが図6の稼働ログ250に存在しないと判断され、記録される。
図7は稼働ログ読出部232の処理フローを示した図である。
まず、ステップS700において、稼働ログ250の全レコードを取得する。次に、ステップS701において、稼働ログ送信部221を介して、取得したレコードをウェブサーバ装置120へ送信する。最後に、ステップS702において稼働ログ250の全レコードを削除する。
以上が本発明の第1の実施例の処理の一例である。
イベントを取得した時に取得したイベントの記録の要否を判定し、必要なイベントのみを稼働ログとして記録することで、ログ量の削減が可能となる。
≪第2の実施形態≫
図8は、ログを収集するためのポリシを設定した上で、イベントログからクライアントの操作を再生する上で必要十分な量のログを選択送信するためのソフトウェア構成を示した構成図である。
図1と同名の構成要素は、図1に記載の機能と同様の機能を持つ。
ウェブサーバ装置120のメモリ126には、ウェブサーバプログラム203、アプリケーションコード202、操作ログ収集コード201の他に、操作ログ収集コード設定プログラム800、スクリプト選択挿入プログラム801が格納されている。
操作ログ収集コード設定プログラム800は、記憶装置125に格納されているログ収集ポリシ850をもとに、ポリシ設定画面を生成して図1の出力装置121で表示し、図1の入力装置122の設定入力を受け付けて、ログ収集ポリシ850を更新する機能を持つ。
スクリプト選択挿入プログラム801は、ウェブサーバプログラム203からウェブアプリのレスポンスを受信して、レスポンスからDOM要素の情報を生成する機能およびログ収集ポリシ850で収集対象と記載している、DOM要素とイベントの組全てに対するイベントハンドラを生成した後に、ウェブアプリのレスポンスへ挿入し、ウェブアプリ送信部210を介してクライアント装置100へ送信する機能を持つ。
ウェブサーバ装置120のネットワークインタフェース123は、ウェブアプリ送信部210、稼働ログ受信部211の他にアプリ稼働情報受信部810から構成される。
アプリ稼働情報受信部810は、クライアント装置100のアプリ稼働情報送信部820からネットワーク110を介してアプリ稼働情報840を受信し、記憶装置125へと保管する機能を持つ。
クライアント装置100のメモリ106には、ウェブページのレスポンス受信後、ブラウザプログラム233、スクリプトエンジンプログラム234、稼働ログ収集コード201が格納されている。
稼働ログ収集コード201は、プログラム初期化部230、稼働ログ読出部232の他、アプリ稼働情報生成部830、稼働ログ/稼働情報記録部831、アプリ稼働情報読出部832によって構成されており、それぞれ図1のプロセッサ104で実行される。なお、これらのプログラムは同等の役割を持つ複数のプログラムによって構成されてもよい。
アプリ稼働情報生成部830は、ブラウザプログラム233上で発生したイベントのうち、データ更新が有ると判定されたイベント、またはイベントドリブンのスクリプト実行があると判定されたイベントについて、判定結果をアプリ稼働情報840として記録する機能を持つ。
稼働ログ/稼働情報記録部831はブラウザプログラム233上で発生したイベントのうち、データ更新の有無を判定しデータ更新が有るイベント、またはイベントドリブンのスクリプト実行の有無を判定しスクリプト実行があるイベントのログを稼働ログ250として、時系列順に記憶装置105へと記録する機能およびデータ更新が有る、またはイベントドリブンのスクリプト実行が有ると判定した場合にアプリ稼働情報生成部830を呼び出す機能を持つ。
アプリ稼働情報読出部832は、記録装置105に格納されているアプリ稼働情報840を読み出し、アプリ稼働情報送信部820へと渡す機能を持つ。アプリ稼働情報送信部820により送信されたアプリ稼働情報840はウェブサーバ装置120上の記憶装置125に記録される。
クライアント装置100のネットワークインタフェース103は、ウェブアプリ受信部220、稼働ログ送信部221の他に、アプリ稼働情報送信部820から構成される。
アプリ稼働情報送信部820は、アプリ稼働情報読出部832からアプリ稼働情報840を受信し、ネットワーク110を介してウェブサーバ装置120のアプリ稼働情報受信部810へと送信する機能を持つ。
図9は、稼働ログ収集コード設定プログラム800によって更新されるログ収集ポリシ850の一例を示した図である。
ログ収集ポリシ850はポリシを表すレコード911〜918の集合であり、各レコード911〜918はページid901、イベント名902、対象903、収集フラグ904をカラムとして持つ。
ページid901は稼働ログ収集対象となるウェブページを一意に識別するものである。図中では3桁の整数値を用いているが、一意に識別可能であれば文字列や記号でもよい。この値は、例えばウェブページのURLのハッシュ値を用いて実現できる。
イベント名902は収集対象となるイベントの名称である。イベント名が正しく判別できるのであれば他の表現形式でもよい。
対象903はイベントが発生する対象を表したものである。図中では、ウェブページのDOMやデータを例として挙げているが、イベントが発生する他の対象としてもよいし、対象が正しく判別できるのであれば、他の表現形式でもよい。
収集フラグ904は、スクリプト選択挿入プログラム801がイベントハンドラを付与するDOM要素とイベントの組を選択する際に用いられる真偽値である。図中では、”true”または”false”の値を例示しているが、真偽値が判定できれば他の表現形式であってもよい。
図10は、稼働ログ収集コード設定プログラム800の処理フローを示した図である。
稼働ログ収集コード設定プログラム800では、まずステップS1000、S1003のとおり、アプリ稼働情報840の全てのレコードに対して、ステップS1001、S1002を繰り返す。
ステップS1001では、アプリ稼働情報840のレコードを1行読み込む。ステップS1002では、ページid901へページid1401の値を、イベント名902へイベント名1402の値を、対象903へ対象1403の値を、収集フラグ904へ稼働フラグ1404の値をそれぞれ格納したレコードを追加する。次に、S1004において、ログ収集ポリシ850に格納されているレコードをもとに、ポリシ設定画面1100を生成し、出力装置121で出力する。最後に、入力装置122の設定入力を受け付け、ログ収集ポリシ850の収集フラグ904の値を更新する。アプリ稼働情報840を用いてポリシ設定画面1100を生成することにより、ユーザは、クライアント装置で稼働しているアプリケーションの中から、クライアント操作を再生するために収集するログ収集ポリシを設定することができる。
図11は、スクリプト選択挿入プログラム801の処理フローを示した図である。
まず、ステップS1101においてウェブサーバプログラム203からアプリケーションのレスポンスを受け取りDOM要素の情報を生成する。この処理は、例えばDOMオブジェクトが持つノード取得関数により実現することができる。そして、生成された全てのDOM要素に対して、ステップS1102、S1107のとおり以下の処理を繰り返す。
まず、ステップS1103においてログ収集ポリシ850からDOM要素と等しい対象903を持つレコードを抽出する。次に抽出した全てのレコードに対しステップS1104、S1106のとおりステップS1105の処理を繰り返す。ステップS1105では、イベント名902のイベントに対してID501、時刻502、イベント503、対象504、データ505を記録するイベントハンドラを生成する。対象504を記録する処理は、例えばイベントが持つターゲットパス取得関数を用いれば実現できる。データ505を記録する処理は、例えばイベントが持つプロパティを参照すれば実現できる。最後に、ステップS1108において、生成したイベントハンドラをアプリケーションのレスポンスに挿入し、ウェブアプリ送信部210を介してクライアント装置100へと送信する。
これにより、ログ収集ポリシで指定されたイベントのログをクライアント装置が収集する。 図12はポリシ設定画面1200であり、ログ収集ポリシ850を設定するユーザーインタフェースを示す図である。
ポリシ設定画面1200はポリシ設定を行うための各ユーザーインタフェースを集約したウィンドウである。レコード1221〜レコード1228までの各レコードはログ収集ポリシの各レコードと同様である。イベント1211はイベント名902を、対象1212は対象903を示している。また、過去発生1213は、イベント名1211で表されるイベントが、対象1212で表される対象に対して発生し、当該イベントが図13のステップS1306で稼働ログとして保存されたかどうかを示す真偽値である。例えば、レコード1224は、過去に”mouseover”というイベントが”BUTTON[1]”を対象に発生し、稼働ログとして記録されたことを示している。収集設定1214は、本画面における設定以降に設定される収集フラグ904の値を示している。例えば、レコード1224では収集設定1214は“○”の値を示しており、本設定終了後は収集フラグ904が“true”となることを示している。なお、ここでは過去発生1213、収集設定1214の表現形式として“○”、“×”を用いているが、真偽値が判定できれば他の表現形式でも良い。
確認表示1204は、収集設定1214の値がユーザの入力により変更される場合に、変更実施の確認を求める文字列である。ユーザは、本文字列が提示された後、実際に変更を行う場合は確定ボタン1201を、変更を行わない場合はキャンセルボタン1202を押下すればよい。なお、確認表示1204、確定ボタン1201、キャンセルボタン1202は、ユーザに確認を求め承諾を得る機能があれば他の表現形式でもよい。また、確認を求める機能が不要な場合は、確認表示1204、確定ボタン1201、キャンセルボタン1202がなくてもよい。
ユーザがログ収集ポリシ850の設定を終える場合、クローズボタン1230、あるいは終了ボタン1203を押下すればよい。クローズボタン1230、終了ボタン1203は同様の機能を有するのであれば、他の形式でも良い。
図13は稼働ログ/稼働情報記録部の処理フローを示した図である。
まず、ステップS1300において、発生したイベントを取得してイベントログのレコードを生成する。そして、ステップS1301において、取得したイベントが画面遷移イベントかどうかを調べる。発生したイベントが画面遷移イベントであった場合、ステップS1310において稼働ログ送信部221を、ステップS1311において稼働情報送信部820を呼び出し、本処理を終える。
発生したイベントが画面遷移イベントではなかった場合、ステップS1302において、取得したイベントと同名のイベントを持つレコードが稼働ログ250に存在するかどうかを判別する。取得したイベントと同名のイベントを持つレコードが存在しない場合、ステップS1306において、生成したレコードを引数にアプリ稼働情報生成部830を呼び出し、本処理を終える。
取得したイベントと同名のイベントを持つレコードが存在した場合、ステップS1303において、当該の中で直近のレコードを取得する。
次にステップS1304において、取得したレコードのデータ505とステップS1300で生成したレコードのデータ505が等しいか判別する。等しくない場合は、ステップS1306において、生成したレコードを引数にアプリ稼働情報生成部830を呼び出し、本処理を終える。
等しい場合は、ステップS1305において、取得したイベントドリブンのスクリプト実行があったかどうかを判別する。イベントドリブンのスクリプト実行があった場合は、ステップS1306において、生成したレコードを引数にアプリ稼働情報生成部830を呼び出し、本処理を終える。
イベントドリブンのスクリプト実行が無かった場合、ステップS1320で生成したレコードを削除する。以上のように、ステップS1302、S1304、S1305の判別をすることで、S1320においてクライアント操作の再生において必要ないレコードを消去することができる。既に稼働ログに記録した種類のイベントであるかをS1302で、さらに、既に記録した種類のイベントのうち、データの変更がないイベントであることをS1304で、さらに、既に稼働ログに記録した種類のイベントかつデータの変更がないイベントのうち、スクリプト動作の契機となっていないイベントであることをS1305で判定している。 これにより、ウェブサーバ装置に送信するためにクライアント装置で記憶するログ量を削減しつつも、ウェブサーバ装置はクライアントの操作を再生することができる。
図14は、アプリ稼働情報生成部830により生成される、アプリ稼働情報840の一例を示した図である。
アプリ稼働情報840はデータ更新の有無、またはイベントドリブンのスクリプト実行の有無を表すレコード1411〜1414の集合であり、各レコード1411〜1414はページid1401、イベント名1402、対象1403、稼働フラグ1404をカラムとして持つ。
ページid1401はアプリ稼働情報を記録したウェブページを一意に識別するためのもので、ログ収集ポリシ850のページid903と同様にして作成される。図中では3桁の整数値を用いているが、一意に識別可能であれば文字列や記号でもよい。
イベント名1402は発生したイベントの名称を表したものであり、稼働ログ250を生成する際にイベント名503と同様に生成される。イベント名が正しく判別できるのであれば他の表現形式でもよい。
対象1403はイベントが発生した対象を表したものであり、稼働ログ250を生成する際に対象504と同様に生成される。図中では、ウェブページのDOMやデータを例として挙げているが、他の対象を記録してもよいし、対象が正しく判別できるのであれば、他の表現形式でもよい。
稼働フラグ1404は稼働ログ収集コード設定プログラム800が、ポリシ設定画面1200を生成するために用いられる真偽値であり、当該レコードにおけるデータ更新の有無、またはイベントドリブンのスクリプト実行の有無を表している。図中では、”true”または”false”の値を例示しているが、真偽値が判定できれば他の表現形式であってもよい。
図15は、アプリ稼働情報生成部830における稼働情報更新の処理フローを示した図である。
ステップS1500では、S1300で生成したレコードと同名のイベントを持つレコードがアプリ稼働情報840に存在するかどうかを判定する。存在する場合は、本処理を終了する。
存在しない場合は、ステップS1501において、id1401へURLのハッシュ値を、イベント名1402へイベント名503の値を、対象1403へ対象504の値を稼働フラグ1404へtrueをそれぞれ格納したレコードを追加する。 図16は、アプリ稼働情報出力部832の処理フローを示した図である。
まず、ステップS1600において、アプリ稼働情報840の全レコードを取得する。次に、ステップS1601において、アプリ稼働情報送信部820を介して、取得したレコードをウェブサーバ装置120へ送信する。これにより、
ウェブサーバ装置120は、クライアント装置で稼働しているアプリケーションを知ることができる。従って、ユーザは、クライアント装置で稼働しているアプリケーションの中から、クライアント操作を再生するために収集するログ収集ポリシを設定することができる。最後に、ステップS1602において、アプリ稼働情報840の全レコードを削除する。
以上が本発明の第2の実施例の処理の一例である。
このようにして、従来困難であった、クライアントの操作を再生する上で必要十分な量のログの取得・収集が可能となる。
イベントを取得した時に取得したイベントの記録の要否を判定し、必要なイベントのみを稼働ログとして記録することで、ログ量の削減が可能となる。さらに、取得するイベントを設定する手段を提供し、稼働情報から得られた要否判断結果を設定者(ユーザ)に提供することで、少ない手間で正確な設定を実施できる。
100 クライアント装置
120 ウェブサーバ装置
101、121 出力装置
102、122 入力装置
103、123 ネットワークインタフェース
104、124 プロセッサ
105、125 記憶装置
106、126 メモリ
110 ネットワーク
200 スクリプト挿入プログラム
201 稼働ログ収集コード
202 アプリケーションコード
203 ウェブサーバプログラム
210 ウェブアプリ送信部
211 稼働ログ受信部
220 ウェブアプリ受信部
221 稼働ログ送信部
230 プログラム初期化部
231 稼働ログ記録部
232 稼働ログ出力部
233 ブラウザプログラム
234 スクリプトエンジンプログラム
235 稼働ログ収集コード
240 イベントログ
250 稼働ログ
800 稼働ログ収集コード設定プログラム
801 スクリプト選択挿入プログラム
810 アプリ稼働情報受信部
820 アプリ稼働情報送信部
830 アプリ稼働情報生成部
831 稼働ログ記録部
832 アプリ稼働情報出力部
840 アプリ稼働情報
850 ログ収集ポリシ
1200 ログ収集ポリシ設定ウィンドウ
1201 確定ボタン
1202 キャンセルボタン
1203 終了ボタン
1204 確認表示
1230 クローズボタン

Claims (5)

  1. ウェブアプリケーションの稼働情報を記録する稼働ログ収集方法であって、
    ウェブアプリケーションを読み込む際にイベント発生を検知し前記イベントを取得する
    イベント取得手段をブラウザに組込むプログラム初期化手順と、
    前記イベント取得手段によって前記イベントを取得した時に、取得したイベントの記録
    の要否を判定し、記録が必要と判断されたイベントのログを記録する稼働ログ記録手順と

    前記稼働ログ記録手順によって記録されたイベントのログを外部に出力する稼働ログ出
    力手順と、
    を含み、
    前記稼働ログ記録手順は、該稼働ログ記録手順によって記録されたログに関するイベントと異なるイベント、データ更新の有無を判定しデータ更新の有るイベント、及び、前記イベントを契機としたスクリプト実行の有無を判定しスクリプト実行の有るイベントのログを記録することを特徴とする稼働ログ収集方法。
  2. 前記プログラム初期化手順は、
    取得対象となる前記イベントの種類が保持された取得対象イベントリストに基づいて、
    前記取得対象イベントリストに保持された前記イベントの種類を取得対象とし、
    さらに、
    前記稼働ログ記録手順において記録されたイベントの種類を稼働情報として記録する稼
    働情報生成手順と、
    前記稼働情報生成手順によって記録された稼働情報を
    外部に出力する稼働情報出力手順と、
    前記稼働情報出力手順から出力された1以上の前記稼働情報に基づいて、前記取得対象
    イベントリストを生成する取得対象イベントリスト設定手順と、
    を含むことを特徴とする請求項1に記載の稼働ログ収集方法。
  3. 請求項2に記載の稼働ログ収集方法であって、
    前記取得対象イベントリスト設定手順は、
    1以上の前記稼働情報の中に少なくとも1つ含まれるイベントの種類を含むリストを前
    記取得対象イベントリストの初期値とし、
    前記稼働情報出力手順から出力された1以上の前記稼働情報に基づいて、前記取得対象
    のイベントの種類を拡充することを特徴とする稼働ログ収集方法。
  4. ウェブアプリケーションの稼働ログを記録する稼働ログ収集装置であって、
    ウェブアプリケーションを読み込む際にイベント発生を検知し前記イベントを取得する
    イベント取得手段をブラウザに組込むプログラム初期化部と、
    前記イベント取得手段によって前記イベントを取得した時に、取得したイベントの記録
    の要否を判定し、記録が必要と判定されたイベントのログを記録する稼働ログ記録部と、
    前記稼働ログ記録部において記憶されたイベントのログを外部に出力する稼働ログ出力
    部と、を備え、
    前記稼働ログ記録部は、該稼働ログ記録手順によって記録されたログに関するイベントと異なるイベント、データ更新の有無を判定しデータ更新の有るイベント、及び、前記イベントを契機としたスクリプト実行の有無を判定しスクリプト実行の有るイベントのログを記録することを特徴とする稼働ログ収集装置。
  5. 請求項4に記載の稼働ログ収集装置であって、
    前記プログラム初期化部は、
    取得対象となる前記イベントの種類を保持する取得対象イベントリストに基づいて前記
    取得対象イベントリストに保持された前記イベントの種類を取得対象とし、
    さらに、前記稼働ログ記録部において記録されたイベントの種類を稼働情報として記録
    する稼働情報生成部と、
    前記稼働情報生成部で記録された前記稼働情報を外部に出力する稼働情報出力部と、
    を備えることを特徴とする稼働ログ収集装置。
JP2010286909A 2010-12-24 2010-12-24 稼働ログ収集方法および装置 Expired - Fee Related JP5560180B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010286909A JP5560180B2 (ja) 2010-12-24 2010-12-24 稼働ログ収集方法および装置
US13/819,970 US20130263156A1 (en) 2010-12-24 2011-01-31 Operation log collection method and device
PCT/JP2011/051950 WO2012086217A1 (ja) 2010-12-24 2011-01-31 稼働ログ収集方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010286909A JP5560180B2 (ja) 2010-12-24 2010-12-24 稼働ログ収集方法および装置

Publications (2)

Publication Number Publication Date
JP2012133695A JP2012133695A (ja) 2012-07-12
JP5560180B2 true JP5560180B2 (ja) 2014-07-23

Family

ID=46313507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010286909A Expired - Fee Related JP5560180B2 (ja) 2010-12-24 2010-12-24 稼働ログ収集方法および装置

Country Status (3)

Country Link
US (1) US20130263156A1 (ja)
JP (1) JP5560180B2 (ja)
WO (1) WO2012086217A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229042A (ja) * 2013-05-22 2014-12-08 日本電気株式会社 利用者操作記録システム、操作記録集計装置、利用者操作記録方法およびそのプログラム
US10362090B2 (en) * 2014-06-25 2019-07-23 Tata Consultancy Services Limited Automating a process associated with a web based software application
WO2016027922A1 (ko) * 2014-08-22 2016-02-25 주식회사 앤벗 어플리케이션의 화면 이동 그래프 생성 장치 및 방법
EP3262504A1 (en) * 2015-02-27 2018-01-03 Entit Software LLC Application event tracing
US10466867B2 (en) 2016-04-27 2019-11-05 Coda Project, Inc. Formulas
CN110309039B (zh) * 2019-05-16 2022-12-13 平安科技(深圳)有限公司 自动化获取应用程序日志的方法、装置、设备及存储介质
US11150919B2 (en) * 2020-01-20 2021-10-19 EMC IP Holding Company LLC Logging of scripts executed in an information technology workflow orchestration system
US12020073B2 (en) 2021-09-09 2024-06-25 Dell Products L.P. Workflow automation utilizing metadata structure
CN116186188B (zh) * 2023-04-21 2023-07-07 智道网联科技(北京)有限公司 地图引擎的日志数据处理方法及相关设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3083805B2 (ja) * 1998-08-28 2000-09-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ブラウザ操作自動実行システムおよびその方法
US6532023B1 (en) * 1999-08-12 2003-03-11 International Business Machines Corporation Recording selected applet events of a user interaction sequence
JP2001306499A (ja) * 2000-04-17 2001-11-02 Image Source:Kk ホームページの改良支援システム
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2004110096A (ja) * 2002-09-13 2004-04-08 Nippon Telegr & Teleph Corp <Ntt> ユーザ操作ログ可視化方法、ユーザ操作ログ可視化装置、プログラム及びその記録媒体
JP2004287929A (ja) * 2003-03-24 2004-10-14 Hitachi Information Systems Ltd Webページ操作システムとプログラムおよびWebデータ伝送システム
JP2005258986A (ja) * 2004-03-15 2005-09-22 Dainippon Printing Co Ltd Webアプリケーションにおける複製システム、Webアプリケーションが動作するWebサーバ、プログラム、及び、記録媒体
US8161053B1 (en) * 2004-03-31 2012-04-17 Google Inc. Methods and systems for eliminating duplicate events
JP2005321910A (ja) * 2004-05-07 2005-11-17 Softbank Bb Corp ログデータ管理システム、方法、及びプログラム
US7627821B2 (en) * 2004-06-15 2009-12-01 Microsoft Corporation Recording/playback tools for UI-based applications
US7506318B1 (en) * 2005-06-28 2009-03-17 Replay Solutions, Inc. Recording and replaying computer programs
JP2008117093A (ja) * 2006-11-02 2008-05-22 Hitachi Ltd ユーザ操作記録・再現方法及び装置
WO2008126796A1 (ja) * 2007-04-06 2008-10-23 International Business Machines Corporation サービス・プログラムを生成する技術
JP4795404B2 (ja) * 2008-08-07 2011-10-19 株式会社野村総合研究所 動作検証装置および動作検証プログラム
JPWO2010110245A1 (ja) * 2009-03-25 2012-09-27 日本電気株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2010271875A (ja) * 2009-05-20 2010-12-02 Hitachi Ltd ネットワーク管理システムおよびプログラム

Also Published As

Publication number Publication date
US20130263156A1 (en) 2013-10-03
WO2012086217A1 (ja) 2012-06-28
JP2012133695A (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
JP5560180B2 (ja) 稼働ログ収集方法および装置
JP7047042B2 (ja) コンテンツレンダリング制御システム及び方法
JP5325169B2 (ja) ウェブアプリケーションの操作再現方法およびシステム
US7139978B2 (en) Recording user interaction with an application
US8930818B2 (en) Visualization of website analytics
US10303581B2 (en) Graphical transaction model
US7739282B1 (en) Method and system for tracking client software use
US20200357007A1 (en) Page data acquisition method, apparatus, server, electronic device and computer readable medium
JP4334232B2 (ja) クライアント側の性能を測定するための方法、およびそのための命令を保持するコンピュータ読取可能な媒体、ならびにクライアント側の性能に応答する方法
US7330887B1 (en) Method and system for testing web-based applications
JP5325177B2 (ja) ウェブアプリケーションの操作記録方法およびシステム
US20080126931A1 (en) System and method for recording and reproducing user operation
US20110302499A1 (en) Generation of Macros
CN112817817B (zh) 埋点信息查询方法、装置、计算机设备和存储介质
US9378472B2 (en) Systems and methods for enabling and configuring tracking of user interactions on computer applications
GB2356783A (en) Monitoring of services provided over a network
WO2021129335A1 (zh) 操作监控方法及装置、操作分析方法及装置
CN112148571A (zh) 一种网页操作过程记录与回放的方法及装置
JP2012185760A (ja) ウェブ操作記録・再現方法および装置
JP4846832B2 (ja) Webページの表示方法、計算機システム及びプログラム
CN114531345B (zh) 流量比对结果存储方法、装置、设备及存储介质
CN112131085A (zh) 互联网业务过程记录与回放的方法、***及装置
EP1210677A1 (en) Server-based instrumentation system for internet-enabled applications
JP6925590B1 (ja) 統合使用ログデータを生成するサーバー及びその動作方法
JP2005293248A (ja) アノテーションルールデータ作成装置、及びアノテーションシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120521

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140609

R151 Written notification of patent or utility model registration

Ref document number: 5560180

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees