JP2017532703A - コンピュータプロセスに関するロギング情報を生成するための高性能機構 - Google Patents
コンピュータプロセスに関するロギング情報を生成するための高性能機構 Download PDFInfo
- Publication number
- JP2017532703A JP2017532703A JP2017534008A JP2017534008A JP2017532703A JP 2017532703 A JP2017532703 A JP 2017532703A JP 2017534008 A JP2017534008 A JP 2017534008A JP 2017534008 A JP2017534008 A JP 2017534008A JP 2017532703 A JP2017532703 A JP 2017532703A
- Authority
- JP
- Japan
- Prior art keywords
- logging
- thread
- information
- application
- logging information
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3068—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data format conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3404—Recording 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 for parallel or distributed programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、情報処理装置のアセンブリ上で実行されるソフトウェアアプリケーション内のプロセスロギングの分野に関する。より詳細には、本発明は、いくつかのプロセスおよび/またはスレッドで動作するソフトウェアアプリケーションの場合にプロセスロギングを可能にする方法に関する。
「ロギング」は、ソフトウェアアプリケーションを担当する技術チームの開発者、試験者、または他のメンバーの注意を喚起するために、ソフトウェアアプリケーションの実行中に情報をエクスポートできるようにする機構である。この情報は、特定の誤動作を検出すること、または後者が知られると、それらの原因と判断し、それらの訂正を容易にすることを可能にする。ロギング情報のエクスポートは、ソフトウェアアプリケーションの開発段階中に実行することも、試験者のコミュニティ内の試験段階で実行することもできるが、製造段階で実行することもできる。ロギング情報は、次いで、アプリケーションのユーザにエクスポートされるが、ソフトウェアを担当する技術チームに何らかの方法で「報告され」てもよい。
本発明の目的は、重要なソフトウェアアプリケーション、特に並列ソフトウェアアプリケーションを含む、効率的なロギングを可能にする機構を提供することによって先行技術を改善することである。
−情報処理装置のアセンブリにわたって少なくとも1つのアプリケーションスレッドと少なくとも1つのロギングスレッドとを含むプロセスを実行することと、
−少なくとも1つのアプリケーションスレッド内にロギングイベントを検出し、第1のロギング情報を前記少なくとも1つのロギングスレッドに直ちに送信することと、
−前記第1のロギング情報を受信し、前記第1のロギング情報から開始する第2のロギング情報を生成することと、
−前記少なくとも1つのロギングスレッドに先に登録された少なくとも1つの処理要素に発行インターフェイスを介して前記第2のロギング情報を発行することとを備える、ロギング方法を提供する。
−前記少なくとも1つの処理要素は、前記プロセスに属する出力スレッドを含む。
−前記プロセスが複製されると、前記少なくとも1つのロギングスレッドは終了され、次いで、最初の親プロセス内で再起動される。
ソフトウェアの観点からは、ソフトウェアアプリケーションは1つ以上のプロセスからなる。
−リードオンリメモリにあってもよいが、最も頻繁には大容量メモリからランダムアクセスメモリにダウンロードされる、実行されるべき命令のセット;
−スタック、作業データなどを保存するためのランダムアクセスメモリ内のアドレス指定空間;
−ネットワークポートなどのようなリソース。
−アプリケーションスレッドF1、F2、言いかえれば、メインアプリケーションスレッドからの、およびそれが続いて形成するかもしれない任意の潜在的なスレッドからの第1のロギング情報の受信を可能にする通信インターフェイスIC;
−第2のロギング情報が処理要素に発行されることを可能にする発行インターフェイスIP。
レベルは、一般的に、イベントの重大性の度合を識別する整数である。このレベルは先に規定されたリストに属してもよく、それは以下を含んでもよい:
−「重大」:一般に、プロセスの終了に至る重大なエラーを示す。
−「警告」:重要でないエラーを示す。
−「情報」:アプリケーションの(開発者および試験者だけでなく)ユーザの注意を喚起するメッセージを示す。
−ロギングイベントの発生のタイムスタンプ;
−プロセスP1の識別子;
−実行コンテキストについての他の情報:カーネルのスレッドに対する識別子、ソフトウェアアプリケーション名、ファイル名、アプリケーションコードの行番号、実行中の関数の名称など。
いずれの場合も、本発明によれば、アプリケーションスレッドは入力/出力機構を設定せず:これらの機構はロギングスレッドFJによって実現され、したがってアプリケーションスレッドF1、F2の外部に転送される。
本発明の1つの実施の形態によれば、アプリケーションコードはモジュールに分割される。各モジュールは名称または識別子と関連付けられ、それはロガーの名称に組入れられてもよい。
さらに、それは、ロギング情報の利用のためのより複雑な機構:フィルタ処理などを実現してもよい。
さらに、複製「fork()」を最良に管理するために、状態機械の管理を設定してもよい。
−「未設定」:「開始されていない」状態に対応し、これは、スレッドが、アプリケーションスレッドがその初期化をトリガする前であってもよい状態に対応する。
−「ファイナライズ中」:ロギングスレッドの終了に対応する。
ある状態では、本発明のこの実施の形態によれば、複製は禁じられる。これは、「初期化中」状態および「ファイナライズ中」状態に対する場合であり:矢印「fork()」は「不正な」状態に至る。
一旦スレッドが終わると、プロセスを複製することができる。
Claims (10)
- ロギング方法であって、
情報処理装置のアセンブリにわたって少なくとも1つのアプリケーションスレッド(F1、F2)と少なくとも1つのロギングスレッド(Fj)とを含むプロセス(P1)を実行することと、
前記少なくとも1つのアプリケーションスレッド内にロギングイベントを検出し、第1のロギング情報を前記少なくとも1つのロギングスレッド(FJ)に直ちに送信することと、
前記第1のロギング情報を受信し、前記第1のロギング情報から開始する第2のロギング情報を生成することと、
前記少なくとも1つのロギングスレッドに先に登録された少なくとも1つの処理要素(Fs、PJ)に発行インターフェイス(IP)を介して前記第2のロギング情報を発行することとを備える、ロギング方法。 - 前記少なくとも1つの処理要素は、前記プロセス(P1)に属する出力スレッド(Fs)を含む、請求項1に記載の方法。
- 前記少なくとも1つの処理要素は、前記プロセス(P1)とは異なるロギングプロセス(PJ)のスレッドを含む、請求項1または2に記載の方法。
- 前記アプリケーションスレッド(F1)は、前記第1の情報を、前記少なくとも1つのロギングスレッドに、非同期態様で、通信インターフェイス(IC)を介して送信する、先行する請求項の1つに記載の方法。
- 前記通信インターフェイスおよび前記発行インターフェイスはソケットタイプであり、ZeroMQライブラリに従う、先行する請求項の1つに記載の方法。
- 前記プロセス(P1)の開始において、前記少なくとも1つのアプリケーションスレッド(F1、F2)は、その実行を続ける前に、前記少なくとも1つのロギングスレッド(Fj)の初期設定に対して待機し、前記ロギングスレッドは、それ自体を前記少なくとも1つの処理要素(Fs、PJ)のサブセットと同期させることによって初期化される、先行する請求項の1つに記載の方法。
- 前記第1のロギング情報は名称およびレベルを含む、先行する請求項の1つに記載の方法。
- 前記プロセス(P1)が複製されると、前記少なくとも1つのロギングスレッド(FJ)は終了され、次いで、最初の親プロセス(P1)内で再起動される、先行する請求項の1つに記載の方法。
- 前記少なくとも1つのロギングスレッドは、信号を受信すると、前記信号に関連付けられる第2のロギング情報を発行し、次いで、前記信号に関連付けられる処理コードをトリガする、先行する請求項の1つに記載の方法。
- 前記アプリケーションスレッドは、信号を受信すると、前記信号に関連付けられる第1のロギング情報を前記少なくとも1つのロギングスレッドに送信し、所与の時間待機した後、前記プロセスを終了させる、先行する請求項の1つに記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1458511A FR3025627B1 (fr) | 2014-09-10 | 2014-09-10 | Mecanisme haute performance pour generation d'informations de journalisation d'un processus informatique |
FR1458511 | 2014-09-10 | ||
PCT/FR2015/052267 WO2016038272A1 (fr) | 2014-09-10 | 2015-08-25 | Mecanisme haute performance pour generation d'informations de journalisation d'un processus informatique |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017532703A true JP2017532703A (ja) | 2017-11-02 |
JP6498770B2 JP6498770B2 (ja) | 2019-04-10 |
Family
ID=52450276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017534008A Expired - Fee Related JP6498770B2 (ja) | 2014-09-10 | 2015-08-25 | コンピュータプロセスに関するロギング情報を生成するための高性能機構 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11874758B2 (ja) |
EP (1) | EP3191961A1 (ja) |
JP (1) | JP6498770B2 (ja) |
CN (1) | CN107003927A (ja) |
FR (1) | FR3025627B1 (ja) |
IL (1) | IL251095A0 (ja) |
WO (1) | WO2016038272A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649071B (zh) * | 2016-12-30 | 2019-12-20 | 广州华多网络科技有限公司 | 进程内部日志上报的方法和装置 |
FR3075999B1 (fr) | 2017-12-27 | 2021-02-19 | Bull Sas | Procede de controle de la gestion des traces d'evenements dans l'execution d'une application informatique sur une machine informatique |
CN113434362A (zh) * | 2021-06-24 | 2021-09-24 | 广州欢网科技有限责任公司 | Android程序发生异常时自动预警的方法及装置 |
CN113190418A (zh) * | 2021-07-01 | 2021-07-30 | 奇安信科技集团股份有限公司 | 日志接收方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268146A (ja) * | 2005-03-22 | 2006-10-05 | Toshiba Corp | 駅務中継機 |
JP2007199956A (ja) * | 2006-01-25 | 2007-08-09 | Fujitsu Ltd | ロギング情報管理方法およびロギング情報管理システム |
JP2013206117A (ja) * | 2012-03-28 | 2013-10-07 | Fujitsu Ltd | ログ出力装置、ログ出力方法およびログ出力プログラム |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870588A (en) * | 1995-10-23 | 1999-02-09 | Interuniversitair Micro-Elektronica Centrum(Imec Vzw) | Design environment and a design method for hardware/software co-design |
US6256775B1 (en) * | 1997-12-11 | 2001-07-03 | International Business Machines Corporation | Facilities for detailed software performance analysis in a multithreaded processor |
GB2367642B (en) * | 2000-05-27 | 2004-05-05 | Ibm | Performance profiling tool |
FI114663B (fi) * | 2001-12-20 | 2004-11-30 | Nokia Corp | Menetelmä ja järjestelmä käyttöjärjestelmätoimintojen suorittamiseksi sekä elektroniikkalaite |
US7661036B1 (en) * | 2005-11-08 | 2010-02-09 | Oakley Networks | Cache for collecting events on a monitored computer |
US20080250412A1 (en) * | 2007-04-06 | 2008-10-09 | Elizabeth An-Li Clark | Cooperative process-wide synchronization |
CN101414255A (zh) * | 2007-10-19 | 2009-04-22 | 国际商业机器公司 | 日志事件处理方法与设备 |
KR20100022171A (ko) * | 2008-08-19 | 2010-03-02 | 삼성전자주식회사 | 스레드 지향 로깅 시스템에서 로그 저장 방법 및 장치 |
CN101763593A (zh) * | 2009-12-17 | 2010-06-30 | 中国电力科学研究院 | 一种实现系统审计日志的方法及装置 |
US8499299B1 (en) * | 2010-06-29 | 2013-07-30 | Ca, Inc. | Ensuring deterministic thread context switching in virtual machine applications |
US9384112B2 (en) * | 2010-07-01 | 2016-07-05 | Logrhythm, Inc. | Log collection, structuring and processing |
US8667472B1 (en) * | 2010-07-29 | 2014-03-04 | Disney Enterprises, Inc. | System and method of instrumenting code for in-production monitoring |
WO2012046302A1 (ja) * | 2010-10-05 | 2012-04-12 | 富士通株式会社 | マルチコアプロセッサシステム、監視制御方法、および監視制御プログラム |
CN102455889B (zh) * | 2010-10-29 | 2014-03-26 | 金蝶软件(中国)有限公司 | 一种获取进程输出日志的方法、装置及企业系统 |
US20130024875A1 (en) * | 2011-07-22 | 2013-01-24 | Yilin Wang | Event System And Methods For Using Same |
US8726225B2 (en) * | 2011-08-01 | 2014-05-13 | Vmware, Inc. | Testing of a software system using instrumentation at a logging module |
US9202047B2 (en) * | 2012-05-14 | 2015-12-01 | Qualcomm Incorporated | System, apparatus, and method for adaptive observation of mobile device behavior |
US10192261B2 (en) * | 2012-08-23 | 2019-01-29 | Openet Telecom Ltd. | System and method for performing offline revenue assurance of data usage |
US20140237474A1 (en) * | 2013-02-19 | 2014-08-21 | Appsense Limited | Systems and methods for organizing dependent and sequential software threads |
-
2014
- 2014-09-10 FR FR1458511A patent/FR3025627B1/fr not_active Expired - Fee Related
-
2015
- 2015-08-25 WO PCT/FR2015/052267 patent/WO2016038272A1/fr active Application Filing
- 2015-08-25 CN CN201580060764.2A patent/CN107003927A/zh active Pending
- 2015-08-25 US US15/510,638 patent/US11874758B2/en active Active
- 2015-08-25 EP EP15763052.6A patent/EP3191961A1/fr not_active Ceased
- 2015-08-25 JP JP2017534008A patent/JP6498770B2/ja not_active Expired - Fee Related
-
2017
- 2017-03-12 IL IL251095A patent/IL251095A0/en unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268146A (ja) * | 2005-03-22 | 2006-10-05 | Toshiba Corp | 駅務中継機 |
JP2007199956A (ja) * | 2006-01-25 | 2007-08-09 | Fujitsu Ltd | ロギング情報管理方法およびロギング情報管理システム |
JP2013206117A (ja) * | 2012-03-28 | 2013-10-07 | Fujitsu Ltd | ログ出力装置、ログ出力方法およびログ出力プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN107003927A (zh) | 2017-08-01 |
IL251095A0 (en) | 2017-04-30 |
FR3025627B1 (fr) | 2018-03-23 |
EP3191961A1 (fr) | 2017-07-19 |
US11874758B2 (en) | 2024-01-16 |
US20170255540A1 (en) | 2017-09-07 |
JP6498770B2 (ja) | 2019-04-10 |
FR3025627A1 (fr) | 2016-03-11 |
WO2016038272A1 (fr) | 2016-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7000150B1 (en) | Platform for computer process monitoring | |
US8788569B2 (en) | Server computer system running versions of an application simultaneously | |
US8095823B2 (en) | Server computer component | |
US7908521B2 (en) | Process reflection | |
US8984534B2 (en) | Interfacing between a receiving component of a server application and a remote application | |
US10394645B2 (en) | Correcting operational state and incorporating additional debugging support into an online system without disruption | |
US11385993B2 (en) | Dynamic integration of command line utilities | |
US9477576B2 (en) | Using application state data and additional code to resolve deadlocks | |
JP6498770B2 (ja) | コンピュータプロセスに関するロギング情報を生成するための高性能機構 | |
US20090172636A1 (en) | Interactive development tool and debugger for web services | |
CN107203465B (zh) | 系统接口测试方法及装置 | |
JP5648187B2 (ja) | 計算機システム、および、監視方法 | |
CN109739624B (zh) | 分布式事务处理方法、装置、电子设备及计算机可读介质 | |
US11175991B2 (en) | Vehicle control system having a hierarchical distributed architecture | |
US20070283327A1 (en) | Hierarchical test verification using an extendable interface | |
US11151020B1 (en) | Method and system for managing deployment of software application components in a continuous development pipeline | |
US20110113436A1 (en) | Event Logging Application Programming Interface (API) | |
De Iasio et al. | A framework for microservices synchronization | |
Ma et al. | Analyzing distributed Java applications by automatic centralization | |
CN115309417A (zh) | 旧式系统上的无应用程序中断的软件更新 | |
Andrzejak | Generic Self-Healing via Rejuvenation: Challenges, Status Quo, and Solutions | |
Echternkamp | Distributed Pipe-and-Filter architectures with TeeTime | |
Chen | A pilot study of cross-system failures | |
Demirbas et al. | Does the cloud need stabilizing? | |
Navarro et al. | Detecting and coordinating complex patterns of distributed events with KETAL |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180531 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180919 |
|
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: 20190212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190313 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6498770 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |