本文へスキップ

Java Agent v2.1.2

Change(アップデート)

weaving設定追加

オープンソースプラグインを追跡できるweaving設定を追加しました。

既存のweaving_reserved設定と同じ機能を持つweaving設定を追加しました。

whatap.conf
weaving=tomcat10
whatap.conf
weaving_reserved=tomcat10

スレッド中断設定の追加

スレッド動作時間が設定値を超えた場合、スレッドを中止するかどうかを設定できるように項目を追加しました。

既定値はfalseです。

whatap.conf
auto_thread_kill_elapsed=0
auto_thread_kill_enabled=false

コレクション監視の変更

Collectionクラスをhookingする方式から、CollectionHolderを通じて間接的にCollectionクラス情報を照会する方式に修正しました。

Collectionを生成するクラスをcollection_nonstatic_holders設定に追加してCollection Mapメニューから確認できます。

whatap.conf
collection_nonstatic_holders=org.apache.catalina.session.ManagerBase

データベース呼び出し時のエラー件数をリアルタイム統計に追加

データベース呼び出し時にエラーが発生した場合、リアルタイム統計にエラー件数を追加するように設定しました。

Http、データベース接続のリアルタイムログを追加

Http、データベース接続に対するリアルタイムログを追加しました。

エージェントログで指定したonameを表示

oname-Dオプションに指定した場合、エージェントログにPIDではなく、エージェント名を表示するよう修正しました。

jdbc url抽出の区切り文字を追加

jdbc urlの抽出時に「?」、「;」を基準に切り捨てできるよう修正しました。

「;」追加

logオープンソースを使用する場合、自動認識機能を追加

logback、log4jオープンソースを使用する場合、またはlogging文字列を含むlog関連オープンソースを使用する場合、自動的にhookingオプションを無効にするように機能を追加しました。

logsink収集データの追加

logsinkで収集するデータを追加しました。

設定に応じて、トランザクションID、ログインID、および HTTPホストデータを収集するかどうかを決定できます。

whatap.conf
_logtag_enabled = false         # tag 
logtag_txid_enabled=false # transation id
logtag_login_enabled=false # login id
logtag_httphost_enabled=false # http host

Httpクライアントのタイムアウトの適用およびエラー処理

Httpクライアントにタイムアウトを適用し、タイムアウト発生時にエラー処理を有効にする機能を追加しました。

jmx pool設定の追加

jmx pool objectの既定値を修正しました。jmx poolのデータソース名を使用するかどうかを決定できるオプションを追加しました。データソース名を登録すると、jndiメソッドが実行され、名前を登録していない場合は、デフォルトのURLメソッドで動作します。

whatap.conf
jmx_pool_dsname_enabled=false
jmx_pool_object="*:type=DataSource,class=*,name=*"

heapdumpファイルパスオプションの追加

heapdumpファイルパスを指定するlog_rootオプションを追加しました。

whatap.conf
log_root=${WHATAP_HOME}/dump

バッチエージェントのactive開始部分の修正

バッチプロセスのMain threadにactive stackを残せるようにバッチエージェントを修正しました。

active stackのthread名の表示設定を追加

active stackのthread名を表示する設定を追加しました。

whatap.conf
active_stack_thread_name_enabled=false
ノート

yardバージョンが低い場合、trueに設定するとプロトコルエラーによりエージェント接続が継続的に切断されます。

非同期thread名の表示設定を追加

非同期スレッドの ID と名前を表示する設定を追加しました。

whatap.conf
debug_async_thread_enabled=false

データベース呼び出しURLの保存

データベース呼び出しのURLを保存するように修正しました。

データベース呼び出しハッシュ値の削除

データベース呼び出しハッシュ値をERRORテキストから削除しました。

エージェント実行ロゴの修正

Javaエージェント実行時のロゴ内容を修正しました。

The Best Observability in Java

非同期http呼び出しエラーの通知メッセージを修正

非同期http呼び出しエラー発生時にstatus codeを表示するよう通知メッセージを修正しました。

エージェント設定のlicenseキーオプションの修正

whatap.confで、licenseとaccesskeyのオプションの両方を利用できるように修正しました。

whatap.conf
# 同一機能
license=
accesskey=

Javaエージェントのメタタグのオプション名を修正

Javaエージェントのメタタグのオプション名を修正しました。

whatap.conf
agent_meta_tags_enabled=true

New Feature(新機能)

エージェント環境変数の除外値の追加

環境変数の検索機能で特定のキー値を入力する場合、検索項目から除外する機能を追加しました。

区切り文字は「,」で大文字と小文字を区別しません。agent_env_system_enabled、および、agent_env_jvm_enabledの設定と組み合わせて使用できます。

whatap.conf
agent_env_system_enabled=false
agent_env_jvm_enabled=true

agent_env_ignore_keys=user.timezone,user.name,user.language

フェデレーション サービスの状態追跡機能を追加

target IPやサービスの接続状態をログモニタリングのliveTailで確認できるように、連携サービス状態の追跡機能を追加しました。

logsink_rt_enabledオプションをtrueに設定し、#RemoteTraceをカテゴリ別にログを収集することで、この機能を有効にします。

  • 正常なレスポンスの場合のレベルはOK、エラーの場合のレベルはエラーです。

  • 通常のレスポンスの場合、logsink_rt_ok_interval設定の間隔でログは記録されます。既定値は30秒です。

  • エラーレスポンスの場合、logsink_rt_error_interval設定の間隔でログは記録されます。既定値は5秒です。

whatap.conf
logsink_rt_enabled=false

logsink_rt_error_interval=5000
logsink_rt_ok_interval=30000

外部通話エラー通知機能の追加

HttpやDatabaseの呼び出しする際にエラーが発生した場合、またはレスポンスが指定した時間より遅い場合に通知を送信する機能を追加しました。

  • exception_alert_enabledオプションをtrueに設定して、この機能を有効にします。

  • exception_alert_stack_sizeオプションを使用すると、エラースタックの長さを指定して通知メッセージで受信できます。

  • exception_alert_silent_timeオプションで指定した期間は、エラー通知を無効にできます。

  • 通知メッセージは、url、status_codeerror_messageerror_stackなどが表示されます。

whatap.conf
# 既定値
# エラー通知機能の活性化有無
exception_alert_enabled=false

# トランザクションエラー通知の活性化有無
exception_alert_service_enabled=false

# http呼び出し時のエラー通知の活性化有無
exception_alert_httpc_enabled=false

# jdbc呼び出し時のエラー通知の活性化有無
exception_alert_jdbc_enabled=false

# エラー通知メッセージに表示したスタックの長さ
exception_alert_stack_size=50

# エラー通知メッセージの非活性化時間 = 5分 (30000ms)
exception_alert_silent_time=300000

# トランザクションエラー通知で無視するstatus code
status_alert_ignore=403

# トランザクションエラー通知で無視するurl:status_codeの組み合わせ
status_alert_ignore_set=/api/test/timeout:408

# http callエラー通知で無視したstatus code
httpc_status_alert_ignore=408,500

# http callエラー通知で無視したurl:status codeの組み合わせ
httpc_status_url_alert_ignore_set=/api/test/timeout:408

トランザクション、http呼び出しのエラーレベルを調整する機能

トランザクションやhttp呼び出しの状態を通常の呼び出しとして認識できるように機能を追加しました。 トランザクションやhttp呼び出しの状態をinfoとして設定した場合、Spring FrameworkのException Handlerで処理されないエラーを正常に認識できるようにバージョン関数を追加しました。条件に該当する場合、ヒットマップでErrorLevelのINFOとして表示し、エラー統計には含めます。

whatap.conf
# 既定値 (default)
transaction_status_mode=normal
httpc_status_mode=normal

# エラー無視
transaction_status_mode=info
httpc_status_mode=info

# トランザクションエラー通知で無視するstatus code infoとして認識
status_alert_ignore=403

# トランザクションエラー通知で無視するurl:status_codeの組み合わせをinfoとして認識
status_alert_ignore_set=/api/test/timeout:408

# http callエラー通知で無視したstatus code infoとして認識
httpc_status_alert_ignore=408,500

# http callエラー通知で無視したurl:status codeの組み合わせをinfoとして認識
httpc_status_url_alert_ignore_set=/api/test/timeout:408

Alibaba Druid ConnectionPool追跡機能の追加

Alibaba Druid connection poolを追跡する機能を追加しました。

whatap.conf
druid_pool_enabled=false

netstat機能の追加

oshiライブラリを使用してnetstatを収集する機能を追加しました。ネットワークメトリクスのうち、packet、collision、drop、error、bpsのデータを収集します。

whatap.conf
oshi_netstat_enabled=false
debug_oshi_netstat_enabled=false

Fixed(バグ修正)

.xプラグインのint型の認識エラーを修正

x拡張子を使用するプラグインで、int型を認識しないエラーを修正しました。

バッチエージェントのgetResultSetエラーの修正

バッチエージェントのTraceSQL.getResultSetエラーを修正しました。

Http呼び出しエラーの時間設定のバグを修正

Http呼び出し時、エラー時間の最大値を0に設定してもエラーが表示するバグを修正しました。

sql追跡時、LocalDateを追跡できない問題

sqlリクエスト時、java.time.LocalDate型を追跡できない問題を修正しました。

エージェントログ出力時のエラーを修正

java.sql.Timestampタイプを使用してログを残す場合、エラーが発生する問題を修正しました。

クラスシグネチャー認証時のバグを修正

エージェント設定メニューでクラスシグネチャー表示の要求時に、java.lang.NullPointerExceptionが発生する問題を修正しました。

コンテナID抽出エラーを修正

コンテナのID抽出エラーを修正しました。