ワークユニットのトラブル調査支援機能として、以下の機能を使用することができます。
プロセス起動ログ
タイムアウト検出時のスタックトレース取得
なお、トラブル発生時は、「トラブルシューティング集」を参照し、該当する事例に対する対処を実施してください。
CORBAワークユニットのプロセス起動時に、ワークユニットのカレントディレクトリ配下にログファイルを作成し、プロセスの起動パラメタおよび起動時の環境変数を出力する機能を提供します。
CORBAアプリケーションを単体で起動した場合は正常に起動し、CORBAワークユニットとして起動した場合は起動に失敗する場合、ワークユニット定義に必要な環境変数やパス等が設定されていない可能性があります。その場合、本ログファイルを参照することで、起動パラメタおよび環境変数が正しく設定されているかを確認することができます。
ログファイル出力先
[カレントディレクトリ]\[ワークユニット名]\[プロセス ID]_info.log
[カレントディレクトリ]/[ワークユニット名]/[プロセス ID]_info.log
ログファイル出力形式
以下の形式でログファイルは出力されます。
タイトル :プロセス起動日時 1行目 :起動パラメタ 2行目以降 :環境変数
ログファイル出力例
-------------------------------------------------------------------------------- 13/01/2021 15:19:47 ・・・プロセス起動日時 -------------------------------------------------------------------------------- "C:\Interstage\openjdk\jdk8\bin\java.exe" "simple_s" ・・・起動パラメタ env[0] : ALLUSERSPROFILE=C:\ProgramData ・・・環境変数 env[1] : APPDATA=C:\Windows\system32\config\systemprofile\AppData\Roaming env[2] : classpath=C:\Interstage\ODWIN\src\sample\complex\samplelist.Java\data\any; C:\Interstage\ODWIN\etc\class\ODjava4.jar;C:\Interstage\eswin\lib\esnotifyjava4.jar; C:\Interstage\lib\isadmin_scs.jar;.;C:\Interstage\lib env[3] : CommonProgramFiles=C:\Program Files\Common Files env[4] : CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files env[5] : CommonProgramW6432=C:\Program Files\Common Files env[6] : COMPUTERNAME=Interstage env[7] : ComSpec=C:\Windows\system32\cmd.exe env[8] : EXTP_SETUPDIR=C:\Interstage\td\var\td001\ env[9] : EXTPPATH=C:\Interstage\bin env[10] : IS_APL_INFO1=0 env[11] : IS_APL_INFO2=0 env[12] : IS_APL_SERIALNUM=1 env[13] : IS_APL_STARTNUM=1 env[14] : IS_APL_SYSNAME=default env[15] : IS_APL_USRNAME=Administrator env[16] : IS_APL_WUNAME=ODSAMPLE env[17] : IS_HOME=C:\Interstage env[18] : LOCALAPPDATA=C:\Windows\system32\config\systemprofile\AppData\Local env[19] : NUMBER_OF_PROCESSORS=2 env[20] : OD_HOME=C:\Interstage\ODWIN env[21] : OD_IMPLID=IDL:ODsample/anytest:1.0 env[22] : OD_WORKUNIT=ON env[23] : OD_WUCURRENTDIR=ON env[24] : OD_WUIMPLID=IDL:ODsample/anytest:1.0 env[25] : OS=Windows_NT env[26] : Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Interstage\bin;C:\Interstage\ODWIN\bin env[27] : PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC env[28] : PROCESSOR_ARCHITECTURE=AMD64 env[29] : PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 79 Stepping 1, GenuineIntel env[30] : PROCESSOR_LEVEL=6 env[31] : PROCESSOR_REVISION=4f01 env[32] : ProgramData=C:\ProgramData env[33] : ProgramFiles=C:\Program Files env[34] : ProgramFiles(x86)=C:\Program Files (x86) env[35] : ProgramW6432=C:\Program Files env[36] : PSModulePath=C:\Program Files\WindowsPowerShell\Modules; C:\Windows\system32\WindowsPowerShell\v1.0\Modules env[37] : PUBLIC=C:\Users\Public env[38] : SystemDrive=C: env[39] : SystemRoot=C:\Windows env[40] : TD_HOME=C:\INTERS~1\td env[41] : TEMP=C:\Windows\TEMP env[42] : TMP=C:\Windows\TEMP env[43] : USERDOMAIN=WORKGROUP env[44] : USERNAME=SYSTEM env[45] : USERPROFILE=C:\Windows\system32\config\systemprofile env[46] : windir=C:\Windows
注意
本機能は、デフォルトでは有効ではありません。ワークユニット定義に設定することで有効になります。ワークユニット定義の登録は、コマンドを使用する方法と、Interstage管理コンソールを使用する方法があります。
ワークユニット定義の「Start Log(プロセス起動ログ採取)」に「YES」を設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は「付録A ワークユニット定義」を参照してください。
例
ワークユニット定義の登録例
ワークユニット定義
[Control Option] Start Log:YES
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1
以下の方法でプロセス起動ログ採取を設定してください。
Interstage管理コンソールにログインします。
Interstage管理コンソールの
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[新規作成]タブ
または、
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニット名]の[環境設定]タブ
で[ワークユニット設定]の「CORBAワークユニットのプロセス起動ログ」で、「出力する」を選択してください。
Interstage管理コンソールを使用する場合は、「Interstage管理コンソールのヘルプ」も参照してください。
サーバアプリケーションの最大処理時間(タイムアウト時間)が指定されている場合、タイムアウトを検出した時に、プロセスのスタックトレースを出力する機能を提供します。スタックトレースは、その時点でのサーバアプリケーションプロセスのスタック情報であり、ハングまたは遅延している処理を確認することができます。
本機能を使用することで、サーバアプリケーションのタイムアウト発生時に、アプリケーションプログラムが処理中の制御を確認することができます。
出力先
ディレクトリ: [カレントディレクトリ]/[ワークユニット名]/[プロセス ID] ファイル : PID_MMDD-HHMMSS.pstack PID : プロセスID MMDD : 発生月/日 HHMMSS: 発生時間/分/秒
本機能は、デフォルトで有効です。ワークユニット定義で設定できます。サーバアプリケーションでタイムアウトが発生した時の調査のために、サーバアプリケーションの最大処理時間が設定されている場合は、本機能も有効にしておくことを推奨します。また、本機能は、ワークユニットの出口プログラムのタイマ監視およびワークユニットの起動時間監視/停止時間監視でも有効です。
なお、本機能は、Solarisでのみ有効です。
ワークユニット定義の登録は、コマンドを使用する方法と、Interstage管理コンソールを使用する方法があります。
ワークユニット定義の「Output of Stack Trace(タイムアウト検出時のスタックトレース取得の有無)」に「YES」を設定します。以下に定義登録の実行例を示します。なお、ワークユニット定義の詳細は「付録A ワークユニット定義」を参照してください。
例
ワークユニット定義の登録例
ワークユニット定義
[Control Option] Output of Stack Trace:YES
isaddwudefコマンドでワークユニット名を指定して登録します。
isaddwudef -o ISSAMPLE1
以下の方法でスタックトレースの取得を設定してください。
Interstage管理コンソールにログインします。
Interstage管理コンソールの
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット]の[新規作成]タブ
または、
[Interstage管理コンソール] > [Interstage Application Server] > [システム] > [ワークユニット] > [ワークユニット名]の[環境設定]タブ
で[ワークユニット設定]の「スタックトレースの取得」で、「取得する」を選択してください。
Interstage管理コンソールを使用する場合は、「Interstage管理コンソールのヘルプ」も参照してください。