JP6247237B2 - オートリソースロギングシステム、オートリソースロギング方法及びプログラム - Google Patents
オートリソースロギングシステム、オートリソースロギング方法及びプログラム Download PDFInfo
- Publication number
- JP6247237B2 JP6247237B2 JP2015016976A JP2015016976A JP6247237B2 JP 6247237 B2 JP6247237 B2 JP 6247237B2 JP 2015016976 A JP2015016976 A JP 2015016976A JP 2015016976 A JP2015016976 A JP 2015016976A JP 6247237 B2 JP6247237 B2 JP 6247237B2
- Authority
- JP
- Japan
- Prior art keywords
- logging
- code
- measurement
- terminal
- section
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
<実施形態の構成>
図1は、本発明の実施形態に係るオートリソースロギングシステムの構成を示すブロック図である。
図1に示すオートリソースロギングシステム10(単に、システム10ともいう)は、ユーザ端末機20と、ビルドサーバ30と、アカウント管理サーバ40とを備え、ソフトウェアにロギングコードを埋め込むロギング埋込を行うプリプロセッシング処理(前処理)を行うものである。ロギング埋込の処理は、端末機20に当該ソフトウェアを実行させる前に行われる。この処理を、オートリソースロギング処理という。ロギング埋込の処理内容については、後述する。
アカウント要求応答部20bは、ユーザのアカウント情報をビルドサーバ30を介して管理サーバ40へ登録、更新、削除や認証する要求の制御を行うと共に、管理サーバ40からビルドサーバ30を介して返信されてきたアカウント登録、更新、削除や認証の応答結果を表示する制御を行う。
アカウント要求応答部30bは、端末機20から送信されてきた登録要求情報に応じて、管理サーバ40にアカウント登録要求を行い、この登録要求に応じて管理サーバ40から返信されてきた登録応答情報を、端末機20へ送信する。また、アカウント要求応答部30bは、端末機20から送信されてきた認証要求情報に応じて、管理サーバ40にアカウント認証要求を行い、この認証要求に応じて管理サーバ40から返信されてきた認証応答情報を、端末機20へ送信する。
アカウント管理処理部40bは、アカウント情報に含まれるユーザIDやパスワードを事前登録する処理、ユーザIDに紐づきユーザ情報を更新する処理、ユーザIDに紐づきユーザ情報を削除する処理、ユーザID及びパスワードを用いてユーザの特定を行うアカウント認証の処理を行う。
ソースコード記憶部20dは、コンピュータでの処理が不可能なプログラミング言語で記述されたソースコードSCを記憶するものである。このソースコードSCには、後述するビルドサーバ30においてロギングコードLCが埋め込まれる。ロギングコードLCは、ソフトウェアの性能計測のためのプログラムに基づくコードであって、ソフトウェアの性能評価に必要なログを出力するためのコードである。
計測区間記憶部30dは、端末機20で指定されたソフトウェアの、計測区間情報(図3参照)を記憶するものである。なお、計測区間記憶部30dは、複数の計測区間情報を記憶できるようになっている。計測区間情報は、ソフトウェアの計測区間が、設定し易く管理が容易なテキスト形式等で表されている。
(mainModule.cpp,135,207),
(mainModule.cpp,205,205),
(subModule.cpp,1092,1100),
....
(mainModule.cpp,1350000, ),
(mainModule.cpp, ,2050000),
(subModule.cpp,10920000,11000000),
....
ステップ(3)において、対象のロギングコードLCの行頭に、「1回のみの読込命令」(例えば、#pragma once)が記述されていない場合、その#pragma onceを行頭に埋め込む。
ベンチマーク機能コードOBCは、後述する実行ファイル実行処理部20cによる実行ファイルEFの実行時に、ロギングコードLCによるソフトウェアの区間計測の命令実行時のオーバーヘッドを事前に計測し、この計測されたオーバーヘッド(計測オーバーヘッドOH)で、ソースコードSC上の区間計測結果を補正するコードである。
ベンチマークモジュールBMとは、ロギングコードLC自体で測定のために消費してしまうCPUクロックを測定するためのプログラムである。
次に、本実施形態に係るオートリソースロギングシステム10によるオートリソースロギング処理の動作を、図16〜図17に示すフローチャートを参照して説明する。但し、端末機20、ビルドサーバ30及び管理サーバ40において、図2のステップS1〜S12の処理は完了し、認証結果はOKであったとする。
次に、ステップS202において、プリプロセッシング機能部30cは、計測区間記憶部30dに記憶された計測区間情報を取得する。更に、ステップS203において、プリプロセッシング機能部30cは、その取得した計測区間でそのログを出力するためのロギングコードLCと、このロギングコードLCによる区間計測実行時のオーバーヘッドによる計測結果を補正するためのベンチマーク機能コードOBCとを取得する。
次に、CPUクロック消費量を間接計測で検出する際の処理について説明する。
なお、計測モジュールMMAが存在しない通常の場合は、矢印Y22,Y23で示すように、上位モジュールJMから、下位モジュールKM3、KM4毎に区間計測の命令を行う。
・・・
func1(); −> __check(func1);(*1)
func2(); −> __check(func2);(*2)
func3();
func4();
・・・
}
以上説明した本実施形態のオートリソースロギングシステム10は、端末機20と、端末機20からソースコードSCを受信してロギングコードLCを埋め込むプリプロセッシングを行うビルドサーバ30とを備える。
これによって、端末機20のCPUクロック消費量を検出することができるので、プログラム(ソフトウェア)がどれだけCPUリソースを消費したかを把握することができる。
第1ステップにおいて、端末機20から指定され、当該端末機20で実行されるソフトウェアの性能評価を行うための、当該ソフトウェアに対応するソースコードSCの計測区間を記憶する。
第2ステップにおいて、ソースコードSC内で性能計測を行うためのロギングコードLCを記憶する。
20 ユーザ端末機
20a 送受信部
20b アカウント要求応答部
20c 実行ファイル実行処理部
20d ソースコード記憶部
20e オーバーヘッド記憶部
20f CSV記憶部
20g 外部記憶部
30 ビルドサーバ
30a 送受信部
30b アカウント要求応答部
30c プリプロセッシング機能部
30d 計測区間記憶部
30e 閾値記憶部
30f ロギングコード記憶部
30h コンパイル機能部
40 アカウント管理サーバ
40a 送受信部
40b アカウント管理処理部
Claims (8)
- 端末機と、前記端末機からソースコードを受信してロギングコードを埋め込むプリプロセッシングを行うビルドサーバとを備えたオートリソースロギングシステムであって、
前記ビルドサーバは、
前記端末機で実行されるソフトウェアの性能評価を行うための、当該ソフトウェアに対応するソースコードの計測区間を記憶する計測区間記憶部と、
前記ソースコード内で性能計測を行うためのロギングコードが記憶されたロギングコード記憶部と、
前記計測区間記憶部に記憶された計測区間を取得し、この取得した計測区間での性能評価のための計測によるログを出力する命令を行うロギングコードを、前記ロギングコード記憶部から取得し、この取得したロギングコードを、前記端末機から受信したソースコードに埋め込むプリプロセッシング処理を実行するプリプロセッシング機能部と、
を備えることを特徴とするオートリソースロギングシステム。 - 前記ロギングコードは、前記ソフトウェアの前記計測区間のクロック数を計測するコードを有する
ことを特徴とする請求項1に記載のオートリソースロギングシステム。 - 前記ビルドサーバは、前記端末機から指定された前記計測区間のログを出力する条件としての出力閾値を記憶する閾値記憶部を更に備え、
前記プリプロセッシング機能部は、前記計測区間を取得した際に、前記閾値記憶部に記憶された出力閾値も取得し、この取得した計測区間で尚且つ出力閾値以上のサイズのログを出力するためのロギングコードを、前記ソースコードに埋め込む処理を実行する
ことを特徴とする請求項1又は2に記載のオートリソースロギングシステム。 - 前記プリプロセッシング機能部は、前記計測区間記憶部に記憶された前記計測区間の指定がメソッド単位である場合、計測区間の呼び出し元プログラムの命令を受けて、計測対象の計測区間を有する複数の下位モジュールに対して、間接的に区間計測を可能とするプログラムを更に備えることを特徴とする請求項1に記載のオートリソースロギングシステム。
- 前記プリプロセッシング機能部は、前記ロギングコードによる区間計測のために必要な命令による区間計測実行時のオーバーヘッドを事前に計測し、この計測オーバーヘッドを用いて、前記端末機による実行ファイルの実行時に得られる計測結果を補正可能とするロギングコードを、前記ソースコードに埋め込むことを特徴とする請求項1〜4の何れか1項に記載のオートリソースロギングシステム。
- 前記ビルドサーバは、前記ロギングコードを埋め込んだソースコードをコンパイルして、コンピュータが処理可能な実行ファイルに変換するコンパイル機能部を更に備え、
前記端末機は、前記実行ファイルを実行する
ことを特徴とする請求項1に記載のオートリソースロギングシステム。 - 端末機と、前記端末機からソースコードを受信してロギングコードを埋め込むプリプロセッシングを行うビルドサーバとを備えたオートリソースロギングシステムのオートリソースロギング方法であって、
前記ビルドサーバは、
前記端末機で実行されるソフトウェアの性能評価を行うための、当該ソフトウェアに対応するソースコードの計測区間を記憶する第1ステップと、
前記ソースコード内で性能計測を行うためのロギングコードを記憶する第2ステップと、
前記第1ステップで記憶された計測区間を取得し、この取得した計測区間での性能評価のための計測によるログを出力する命令を行うロギングコードを、前記第2ステップで記憶されたロギングコードから取得し、この取得したロギングコードを、前記端末機から受信したソースコードに埋め込むプリプロセッシング処理を実行する第3ステップ
を実行することを特徴とするオートリソースロギング方法。 - 請求項7に記載のオートリソースロギング方法を、前記ビルドサーバとしてのコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015016976A JP6247237B2 (ja) | 2015-01-30 | 2015-01-30 | オートリソースロギングシステム、オートリソースロギング方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015016976A JP6247237B2 (ja) | 2015-01-30 | 2015-01-30 | オートリソースロギングシステム、オートリソースロギング方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016143146A JP2016143146A (ja) | 2016-08-08 |
JP6247237B2 true JP6247237B2 (ja) | 2017-12-13 |
Family
ID=56568639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015016976A Active JP6247237B2 (ja) | 2015-01-30 | 2015-01-30 | オートリソースロギングシステム、オートリソースロギング方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6247237B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180061590A (ko) * | 2016-11-30 | 2018-06-08 | 주식회사 플루이딕 | 소프트웨어 빌드 시스템 및 이를 이용한 소프트웨어 빌드 방법 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2643606B2 (ja) * | 1990-12-13 | 1997-08-20 | 日本電気株式会社 | 実行時間測定方式 |
JP2002108656A (ja) * | 2000-09-29 | 2002-04-12 | Nec Corp | プログラム動作検証システム |
JP2008140162A (ja) * | 2006-12-01 | 2008-06-19 | Hitachi Ltd | デバッグ情報収集方法 |
JP4860564B2 (ja) * | 2007-07-06 | 2012-01-25 | 株式会社エヌ・ティ・ティ・データ | プログラムプロファイリング装置、プログラムプロファイリング方法、及びプログラム |
JP2010061461A (ja) * | 2008-09-04 | 2010-03-18 | Ricoh Co Ltd | ソフトウェアの自動性能評価システム |
-
2015
- 2015-01-30 JP JP2015016976A patent/JP6247237B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016143146A (ja) | 2016-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016177341A1 (zh) | 接口调用方法、装置及终端 | |
US11550599B2 (en) | Method and apparatus for running applet | |
US8752016B2 (en) | Converting JavaScript into a device-independent representation | |
US8832666B2 (en) | Dynamic instrumentation | |
US20150294113A1 (en) | Method and system for performing a memory safety check of a program written in an unmanaged programming language | |
US20110161840A1 (en) | Performance of template based javascript widgets | |
US9626170B2 (en) | Method and computer program product for disassembling a mixed machine code | |
JP2015531133A (ja) | ドキュメントリソースの使用量の予測 | |
US20110145801A1 (en) | Using appropriate level of code to be executed in runtime environment using metadata describing versions of resources being used by code | |
CN109634569B (zh) | 基于注解的流程实现方法、装置、设备及可读存储介质 | |
US20120011490A1 (en) | Development system | |
JP2007199845A (ja) | メモリ破壊検出方法および装置 | |
JP6247237B2 (ja) | オートリソースロギングシステム、オートリソースロギング方法及びプログラム | |
US11023234B2 (en) | Method and system for restructuring of collections for synchronization | |
TW201324347A (zh) | 功能模組命令管理系統及方法 | |
KR101394225B1 (ko) | 다중 언어로 개발된 어플리케이션을 위한 프로파일링 수행 시스템 및 이를 이용한 프로파일링 방법 | |
US8943476B2 (en) | System and method to in-line script dependencies | |
US9262167B2 (en) | Computer processor with instruction for execution based on available instruction sets | |
CN112799703A (zh) | 资源文件的处理方法、装置、客户端及存储介质 | |
CN108345461B (zh) | 应用更新方法和装置以及计算机可读存储介质 | |
US11720468B1 (en) | Unwinding program call stacks for performance profiling | |
CN111399842A (zh) | 一种代码编译方法及装置 | |
JP2013105349A (ja) | 動的リンクライブラリの更新、実行方法 | |
US20230129934A1 (en) | System and method for reference-aware application recreation in container deployment environments | |
CN117235023B (zh) | 一种远程仓库缓存管理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171031 |
|
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: 20171114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171116 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6247237 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |