Java Agent v2.2.0
リリース:2022-11-01
New Feature(新機能)
-
virtualアプリケーションでlogsinkデータを生成する機能を追加
-
logsinkのstdoutログもtxid情報に接続できるように機能を追加
-
2秒のデータ収集の機能を追加
whatap.conffast_perf_enabled=false
fast_perf_interval=2000
fast_perf_gc_enabled=true
fast_perf_os_enabled=true
debug_fast_perf_enabled=false収集データ
- 経過時間
- アクティブトランザクション
- gc情報:gc件数、gc経過時間、old generation gc件数、old generation gc経過時間
- OS情報
-
アクティブトランザクション件数によって通知を送信する機能を追加
whatap.conf# アクティブトランザクション通知の設定有無
too_many_actx_alert_enabled=false
# アクティブトランザクション通知の無視時間(ms)
too_many_actx_alert_silent_time=30000
# アクティブトランザクション通知の基準件数
too_many_actx_alert_count=50
# アクティブトランザクション通知メッセージの表示件数
too_many_actx_alert_msg_url_count=5
# アクティブトランザクション通知の基準時間
too_many_actx_alert_over_time=30000-
アクティブトランザクション基準件数は、
too_many_actx_alert_count >= (too_many_actx_alert_over_time / 5000)
として決定されます -
アクティブトランザクションの基準件数がそれ以上の場合は、
too_many_actx_alert_msg_url_count
のurl情報を通知メッセージに追加して通知を送信します。
-
-
プロファイルデバッグオプション:デバッグ対象パターンを登録した場合、プロファイルとエージェントログでスタックを確認できる機能を追加
whatap.confhook_method_debug_enabled=true
hook_method_debug_patterns= -
プラグイン利用クラスの追加
-
_
{AGENT_HOME}
/plugin/{...}
.x_ファイルで使用するHashTable
クラスを追加しました。 -
whatap.agent.api.Ref.h
を使用するとHashTable
を使用できます。ExampleClass hashTable = (Class) whatap.agent.api.Ref.h;
-
-
TTA BMT専用のクラスを追加:Javaエージェントのデモンストレーションに使用可能
Java Class# map
bmt.m.MyMap
# datasource
bmt.ds.MyDataSource
bmt.ds.MyConnection
# jdbc
bmt.jdbc.Config
bmt.jdbc.FakeBlob
bmt.jdbc.FakeClob
bmt.jdbc.FakeConnection
bmt.jdbc.FakeDatabaseMetaData
bmt.jdbc.FakeDriver
bmt.jdbc.FakeCallableStatement
bmt.jdbc.FakePreparedStatement
bmt.jdbc.FakeResultSet
bmt.jdbc.FakeStatement
bmt.jdbc.FakeSocket
bmt.jdbc.LockTracing// Connection Poolの追跡
// ConnectionPoolASM
target.put("bmt/ds/MyDataSource", MyDataSource.className);
// Connection Poolの追跡
// DBConCountCollectorThread
add(new MyDataSource());
// JDBC Connectionの追跡
// JDBCConnectionOpenASM
AsmUtil.add(reserved, "bmt/ds/MyDataSource", "getConnection()Ljava/sql/Connection;");
// JDBC Statementの追跡
// JDBCStatementASM
target.add("bmt/jdbc/FakeStatement");
// JDBC PreparedStatementの追跡
// JDBCPreparedStatementASM
target.add("bmt/jdbc/FakePreparedStatement");
// JDBC ResultSetの追跡
// JDBCResultSetASM
target.add("bmt/jdbc/FakeResultSet"); -
エラーステップ
-
プロファイルにエラーステップを追加する機能を追加
-
設定を追加してプロファイルにエラー関連情報を表示するステップを追加
whatap.confprofile_error_step_enabled=false
-
-
jmx設定を追加:任意のjmx情報を追加で表示する機能を追加
whatap.confperfx_tomcat_enabled=false
perfx_jmx_value_limit=100
perfx_jmx_tag_from_objectname_enabled=falsetomcat から jmx情報を収集し、メトリクス参照で test1、test2を確認するための設定は次のとおりです。
whatap.confperfx_jmx_enabled=true
perfx_jmx@test1=Catalina:type=Connector,*
perfx_jmx@test2=java.lang:type=GarbageCollector,*
perfx_jmx_ignore@test2=LastGcInfo
# perfx_debug_enabled=true
# perfx_jmx_tag_from_objectname_enabled=false -
oshiライブラリを使用して、プロセスのproc_mem_rssデータを追跡する機能を追加
whatap.confoshi_proc_mem_enabled=false
-
org.edb.jdbc.PgCallableStatement
をjdbc statement追跡する機能を追加 -
OracleプロシージャにSQLパラメータの追跡機能
-
オラクルプロシージャにSQLパラメータを追跡できる機能を追加しました。
-
CallableStatementでSQLパラメータを追跡できるように機能を追加しました。
-
-
Weblogicで
HttpURLConnection
のhttp呼び出しを行う場合、weblogic.net.http.HttpURLConnection
の使用を追跡する機能を追加しました。whatap.confHttpURLConnection_weblogic=true
-
sigarライブラリを利用して、プロセスのネイティブメモリデータ(proc_mem_rss)を収集する機能を追加
-
既存の30秒平均で収集したtpsデータを5秒平均で収集する機能を追加
whatap.confservice_metrics_spike_enabled=false
-
プロファイルデータの圧縮送信機能を追加
-
プロファイルデータが
profile_zip_max_buffer_size
サイズを超える場合、プロファイルデータを送信 -
キューにデータが蓄積されているか、または、
profile_zip_max_wait_time
の値を超えた場合は、プロファイルデータが送信されます -
プロファイルデータを送信する場合、キューのプロファイルデータが
profile_zip_min_size
サイズ未満の場合を除いて、プロファイルデータを圧縮送信
whatap.conf# プロファイルデータの圧縮有無
profile_zip_enabled=true
# プロファイルデータを持つキューのサイズ
# ZipProfileThread.javaが使用するRequestQueueサイズを決定
profile_zip_queue_size=1000
# プロファイルデータを送信する待ち時間
# 1000msが経つとプロファイルデータを転送
profile_zip_max_wait_time=1000
# プロファイルデータのバッファサイズ
# プロファイルデータが1MBを超える場合は、データを転送
profile_zip_max_buffer_size=1024*1024
# プロファイルデータの圧縮有無を決定する最小サイズ
# プロファイルデータが100byte未満の場合は圧縮しない
profile_zip_min_size=100
# プロファイルデータの圧縮デバッグ有無
# プロファイルデータ送信に関する情報(ZipPackのstatus、recordCount、bufferサイズ、プロファイルデータキューのサイズ)をエージェントログに出力
debug_profile_zip_enabled=false
# プロファイルデータの圧縮デバッグログの出力間隔
# プロファイルデータの圧縮デバッグオプションがオンになっている場合、5000ms間隔でプロファイルデータの転送関連情報をエージェントログに出力
debug_profile_zip_interval=5000 -
Change(アップデート)
-
logsinkデータ転送サイクルの
max_wait_time
のオプション名からlogsink_max_wait_time
に修正 -
プラグインで収集するCustomCounter機能を既存のCustomCounterTaskの代わりにCustomTaskLoaderに置き換えます。
whatap.confcustom_task_enabled=true
custom_task_jarfile={full_path} -
エージェント-proxyサーバーの時間差が10秒以上の場合、ログを出力するように機能を追加
-
経過時間の測定
-
トランザクションとプロファイル経過時間の測定時、システム時間の代わりにJVM時間を使用するように修正
-
経過時間を測定する場合、既存の
System.currentTimeMillis()
からSystem.nanoTime()
を使用するように修正
-
-
エージェント-proxyサーバーに時間差がある場合、エージェントログにサーバー間の時間差を表示するように修正
Agent log# 30秒以上差がある場合
"fatal warning time-reverse (時間差) ms"
# 30秒未満の差がある場合
"warning time-reverse (時間差) ms" -
ユーザーカウントのオプションをwclient_xx形式に修正し、古いオプション名を使用できますが、v2.2.0以降は新しいオプション名を使用することをお勧めします。
whatap.conf# 交替
trace_user_method=IP
wclient_trace_type=IP
# 交替
trace_user_jsession_key=JSESSIONID
wclient_jsession_key=JSESSIONID
# 交替
trace_user_header_key=token
wclient_header_key=token
# 交替
trace_user_cookie_limit=4000
wclient_cookie_limit=4000
# 交替
trace_user_cookie_domain=
wclient_cookie_domain=
# 交替
realtime_user_thinktime_max=300000
wclient_thinktime_max=300000
# 交替
trace_user_using_ip=true
wclient_using_ip=true
# 交替
user_header_ticket=
wclient_header_ticket=
# 追加
wclient_max_count=70000 -
ユーザー数に関するカウント設定を反映と組み込みweavingコンポーネントの再コンパイル
-
CounterPackの経過時間の計算に
System.nanoTime()
を使用するよう修正 -
ログ出力ロゴにリリースバージョンを含む
Logo_ ____ ______
| | / / /_/_ __/___ _____ ___ ___
| | /| / / __ \/ / / __ `/ __ \ | _ \|_ )
| |/ |/ / / / / / / /_/ / /_/ / | / / /
|__/|__/_/ /_/_/ \__,_/ .___/ |_|_\/___|
/_/
The Best Observability in Java -
Javaエージェントの統計収集の既定値を従来の5000から10000に修正、統計データの送信時に2秒ごとにチェック
whatap.confstat_tx_max_count=10000
-
性能メトリクスを収集するoshiライブラリバージョンを既存のoshi-core-5.4.1からoshi-core-6.1.6にアップデート
-
性能メトリクスを収集する
{AGENT_HOME}
のライブラリフォルダ名を変更-
sigarライブラリフォルダ名を変更:lib->lib3
-
oshiライブラリフォルダ名を変更:lib2 -> lib4
-
Fixed(バグ修正)
-
ジャバエージェントの組み込みプラグインのWebfluxウィービングプラグインのread-onlyであるHttpHeaders項目にマルチトランザクション関連ヘッダー(header)を追加する場合に発生するエラーを修正
webflux-5.1、webflux-5.2、webflux-5.3バージョンにすべて適用しました。
-
トランザクションとステップの経過時間が0未満の場合に発生するバグを修正
-
トランザクションとステップの経過時間が0未満の場合、経過時間が0と表示するバグを修正。
-
blocking_detect_count
件数処理のバグを修正