本文へスキップ

Go Agent Release Notes

Latest Version: 0.6.1​


2026-06-24

v0.6.1

New yaml addルールを追加しました

  • ビルド時に同じパッケージに新しいファイルを自動生成します(既存ファイルは上書きしません)。
  • 以前のappend: true方式はaddルールに置き換えられました。既存のappend: true yamlはビルド時に案内メッセージとともにブロックされます。

New LLMモニタリングをサポートしました

  • Go LLM SDKをコード修正なしに自動計測します。LLM外部呼び出し・トークン使用量・応答遅延がダッシュボードに表示されます。
  • 対応SDK: sashabaranov/go-openai、cloudwego/eino-ext、anthropics/anthropic-sdk-go、openai/openai-go
  • whatap.confにllm_enabled=trueを追加すると有効化されます。
  • LLMアダプターを直接importする場合はgo get github.com/whatap/go-api/instrumentation/llm@latestを実行してください。

Feature Kafka(sarama)外部呼び出し収集

  • Kafka Producerの呼び出しが外部呼び出し統計に表示されます。

Changed ビルドコマンドを整理しました

  • 非推奨のinit / inject / generate / uninitサブコマンドと-wrap / -no-outputオプションを削除しました。

Changed fmtログ計測をデフォルト無効化しました

  • fmt.Print*計測はデフォルト無効です。enabled_packages: [fmt]で有効化できます。
  • 高頻度ログアプリでオーバーヘッドが発生する可能性があります。

Fixed 自動計測の安定性を改善しました

  • 既存のgRPCインターセプターが設定されたアプリの起動エラーを修正しました(既存インターセプターと共存して動作します)。
  • 特定のネストされたコードでのビルドエラーを修正しました。
  • 一部の状況でトランザクションが重複生成される問題を修正しました。

Fixed ログ計測のオーバーヘッドを改善しました

  • ログ収集が無効の場合でも発生していた不要なオーバーヘッドを削除しました。

2026-02-25

v0.5.4

New 外部モジュール自動計測

  • -external-moduleオプションでgo getで取得した社内モジュールも自動計測できます
whatap-go-inst --external-module=mycompany.com/internal/lib go build ./...

New net/http、fasthttpの自動検出パターン追加

  • http.Server{Handler}、http.Handle()、fasthttp.Server{Handler}の構造体リテラルパターンを自動検出してラッピングします

Feature フレームワークWrap関数追加

  • whataphttp.WrapHandler()、whatapfasthttp.WrapHandler()、whataplogrus.WrapLogger()など8つのWrap関数を追加

Changed logrus計測パターン変更

  • SetOutput方式からHook方式に変更し、アプリのlogrus出力設定と競合しないようにしました

Changed セキュリティ脆弱性の解消

  • データ中継エージェントのGoビルドバージョンを1.24.13にアップグレードし、OTLP関連の依存関係を削除することで108件のセキュリティ脆弱性を解消しました

Fixed 自動計測安定性の改善

  • 匿名関数(Cobra Commandなど)内のコード変換、structフィールド初期化内のframework.New()検出、空のmain()関数の処理、gorilla/mux forkの互換性問題を修正

2026-02-05

v0.5.3

Fixed Aerospike v6のClose()メソッドをラッピングする際にコンパイルエラーが発生する問題を修正

Fixed 同じ関数内でSaramaのNewConfig()を2回以上呼び出すと重複宣言エラーが発生する問題を修正

2026-02-04

v0.5.2

Fixed wrapモードでtagsフラグ値がビルドターゲットに変換される問題を修正

Fixed go install時にバージョン情報がdevと表示される問題を修正

2026-01-25

v0.5.1

Feature パッケージレベルのhttp.Clientおよびclient.Do()パターンの分散トレース対応

Fixed go-redis v7が誤って検出される問題を修正(v8/v9のみサポート)

2026-01-22

v0.5.0

New Go 1.18バージョン要求

go-apiモジュールの最小Goバージョンが1.17から1.18に引き上げられました。Go 1.18のGenerics機能を活用したWrap関数実装のために必要です。

注意

Go 1.17以下のバージョンではgo-api v0.5.0を使用できません。

New 自動計測ツールwhatap-go-inst

Go ASTベースのソースコード自動計測CLIツールをサポートします。ソースコードを直接修正せずにビルド時点でモニタリングコードを自動挿入します。

# インストール
go install github.com/whatap/go-api-inst/cmd/whatap-go-inst@latest

# 使用
whatap-go-inst init
go get github.com/whatap/go-api@latest
go mod tidy
whatap-go-inst go build ./...

サポートライブラリ

  • Web: Gin, Echo, Fiber, Chi, Gorilla Mux, net/http, FastHTTP
  • DB: database/sql, sqlx, GORM
  • Redis: Redigo, go-redis (v8, v9)
  • NoSQL: MongoDB, Aerospike
  • メッセージキュー: Sarama (IBM/Shopify)
  • RPC: gRPC, Kubernetes client-go
  • ログ: log, logrus, zap

New Active Stack機能

実行中のトランザクションのgoroutineスタックをリアルタイムで収集し、ボトルネック区間を分析できます。

active_stack_enabled=true   # デフォルト: true
active_stack_second=10 # 収集間隔(秒)
active_stack_count=100 # 最大収集数

New トランザクション連携ログ収集(TraceLogWriter)

ログ出力時に現在のgoroutineのトランザクション情報を自動的に連携します。

import "github.com/whatap/go-api/logsink"

log.SetOutput(logsink.GetTraceLogWriter(os.Stderr))
  • goroutine IDベースのトランザクションコンテキスト自動連携
  • 既存のGetWriterHookStderr()との互換性維持

New サポートライブラリ追加

ライブラリパッケージwhatapモジュール
go-redis v9github.com/redis/go-redis/v9whatapgoredis
go-redis v8github.com/go-redis/redis/v8whatapgoredis
sqlxgithub.com/jmoiron/sqlxwhatapsqlx
MongoDBgo.mongodb.org/mongo-driverwhatapmongo
Aerospikegithub.com/aerospike/aerospike-client-gosql.Wrap
fmt.Printfmtwhatapfmt

Feature 汎用Wrap[T]関数(Go 1.18 Generics)

Go 1.18のGenericsを活用した汎用Wrap関数を追加しました。

result := trace.Wrap(ctx, "operation", func() int {
return doSomething()
})
  • trace.Wrap[T], trace.WrapError[T], trace.WrapVoid
  • sql.Wrap[T], httpc.Wrap[T], method.Wrap[T]

Feature DB接続追跡(StartOpen)

データベース接続時点をモニタリングします。(SQL_TYPE_DBC)

  • whatapgorm, whatapredigo, whatapgoredis, whatapsql, whatapsqlx

Feature HTTPクライアントmtraceヘッダー対応

マルチトランザクション追跡のためのmtraceヘッダーを自動的に追加します。

Changed goroutine IDベースのトランザクション追跡改善

contextがnilの場合でもgoroutine IDを使用してTraceContextを見つけられるように改善しました。go.use_goroutine_id_enabledの既定値がfalseからtrueに変更され、contextが渡されない環境でもSQLとHTTPトランザクション連携が正常に動作します。

Fixed LineBuffer.Append()バグ修正

ログ収集時にLineBuffer.Append()関数で発生していたバグを修正しました。

Fixed deprecated mongo.NewClient削除

whatapmongoでdeprecatedされたmongo.NewClientをmongo.Connectに変更しました。

Fixed URLパス"/"空白変換バグ修正

filepath.Join使用により"/"パスが空白に変換される問題を修正しました。

2025-11-19

v0.4.6

Fixed エージェント名パターンの環境変数処理バグを修正

  • object_name設定で{env.環境変数名}パターンが正常に動作しなかった問題を修正しました。
# 設定例
object_name={env.SERVER_NAME}-{pid}

# 環境変数: SERVER_NAME=web-server-01
# 結果: エージェント名 web-server-01-12345

Feature ログStdout出力

コンテナ環境でログをstdoutでも確認できます。

log_stdout_enabled=true  # デフォルト: false

Feature プロセスIDパターンサポート

エージェント名にプロセスIDを含めることができます。同じサーバーで複数のプロセスを実行する際に便利です。

object_name=myapp-{pid}
# 結果: myapp-12345

Feature HTTPステータスコード別統計

HTTPステータスコード別にトランザクション統計を収集します。

5秒統計

  • HTTPステータスコード別count/time集計
  • 200/400/500番台ステータス別バケット集計
  • 個別ステータスコード別詳細集計

5分統計

  • URL + Statusの組み合わせでcount/time/error集計
  • 5分ごとにサーバーへ送信

設定オプション

tx_status_meter_enabled=true      # 5秒統計(デフォルト: true)
stat_txstatus_enabled=true # 5分統計(デフォルト: true)
stat_txstatus_max_count=10000 # 最大項目数

Feature KubernetesコンテナID連携

Kubernetes環境でコンテナIDを正確に連携できます。

動作方式

  • Go Agentが実行されるとコンテナIDをcontainer.confファイルに生成します
  • 生成されたコンテナIDを使用してKubernetesモニタリングと連携します
# Deployment YAMLに環境変数を追加
env:
# Go Agent実行ファイルパス
- name: WHATAP_GO_AGENT_PATH
value: /usr/whatap/agent/whatap_agent_static

# コンテナIDが保存されるパス
- name: WHATAP_CONTAINER_CONF_PATH
value: /usr/whatap/agent

2025-09-12

v0.4.5

Fixed トランザクション収集エラーを修正

  • エラーメッセージを収集する過程でエラーが発生し、トランザクションが正常に収集されない問題を修正
  • 問題となるオプションの既定値をfalseに変更
  • txtext_txname_enabled=false
  • txtext_error_enabled=false
  • v0.4.4を使用している場合、これらのオプションを無効にすることで問題を解決可能

2025-09-08

v0.4.4

Fixed Docker環境で複数コンテナのCPUコア収集(メータリング情報)が重複計算される問題を修正

  • メータリング情報を伝達する過程で他のデータと混合される問題を修正
  • Linux UUIDを基準に重複計算が防止されない不具合を修正

2024-10-16

v0.4.3

Fixedos.Stdout、os.Stderrログ収集エラーを修正

  • trace.Init関数でログ収集機能を有効にするように修正します。 できるだけ他のログライブラリよりも先に実行できるように変更します。

  • os.Stdout、os.Stderrをラッピングしたio.Writerが使用できる関数を追加しました。

2024-09-06

v0.4.2

Fixedライブラリーファイルが存在しないため発生するコンパイルエラーの修正

2024-08-28

v0.4.1

New Standard outputのログ収集機能を追加

Newエージェント設定ファイル(whatap.conf)より環境変数を優先処理するオプションを追加

  • 既存のエージェント設定はwhatap.conf、環境変数の順に適用します。

  • use_env_first(既定値false)オプションを設定するとwhatap.confファイルの設定よりも環境変数を優先します。

    whatap.conf
    use_env_first=true
  • WHATAP_USE_ENV_FIRST=true形式で環境変数を利用して設定できます。

Changed次のエージェントオプションの既定値を修正

  • TCP read timeoutの時間を30秒から120秒に変更します。

    whatap.conf
    net_so_time=120000
  • TCP write bufferの値を8Mbから2Mbに変更します。

    whatap.conf
    net_write_buffer_size=2*1024*1024

FixedOKIND環境変数の認識エラーを修正

OKINDまたはWHATAP_OKIND環境変数としてokindを設定できます。

2024-06-19

v0.4.0

New linux aarch64対応

Changed既存paramkey.txt代わりにsecurity.confファイルを使用

既存security.confファイルのparamkeyキー値を使用します。 既定値は、ランダム値ではなくWHATAPに指定するように変更します。 WHATAP指定されると、キーの入力なしで復号化できます。

Changed SQL文の正規化オプション設定の変更

  • SQL文でパラメータを分離して、正規化する機能を常に有効にします。 trace_sql_normalize_enabledオプションを常にtrueに設定します。

  • 既に正規化オプションを無効に(正規化の中止設定)した状態であれば、正規化してパラメータを別表記する設定を有効にします。

    • profile_sql_param_enabledオプションをtrueに設定します。
    • 正規化されたパラメータを、別に暗号化して収集します。
    • security.confのparamkeyに復号化してデータを確認できます。

Changedモニタリングの中止機能を変更

  • trace.Init()関数の呼び出しがない場合(コメントと削除)、モニタリング機能を開始しません。

  • enabledオプション設定(true): 情報収集機能を中止します。 エージェントの内部バックグラウンドモジュールは保持されます。

  • shutdownオプション設定(true): すべてのエージェント機能を中止します。 再起動するには、shutdownオプションをtrueに変更して、アプリケーションを再起動する必要があります。

FixedエージェントがインストールされたサーバーのIPを、127.0.0.1に収集する問題を修正、WhaTapサーバーとTCPが接続されたLocal address IP情報として収集

2024-03-14

v0.3.3

Fixed go.modのreplace構文を削除(github.com/whatap/golibモジュールのreplace構文を削除)

Fixedサンプルソースのビルドエラーを修正(github.com/whatap/go-api-example)

2024-03-06

v0.3.2

Changedログモニタリングファイル名に日付形式の変数を使用するように修正

Python strftime()使用を基準に修正します。 例、20240101: %Y%m%d

Fixed gRPCヘッダー収集エラーを修正

2024-01-24

v0.3.1

Fixed whatap.onodeオプション設定後、名前ではなくハッシュ(数字)値のみ表記されるエラーを修正

Fixed Ubuntu 14バージョンでwhatap-agent.serviceファイルが認識されないエラーを修正

2024-01-10

v0.3.0

FeatureマルチトランザクショントレースでTrace context(W3C) に対応

Trace contextに対応するOpenTelmetryとマルチトランザクショントレースの連携に対応します。

Changed SQL、Method、HTTP callのリソース指標の収集を修正

トランザクション開始時点のリソース(cpu、memory)と、各スタッフ開始時点のリソースの違いを収集します。

Changed設定ファイル(whatap.conf)がない場合、新たに生成するよう修正

FixedアクティブTX一覧から外部呼び出し累積件数が累積時間として誤って収集されるエラーを修正

FixedLinux環境でwhatap-agentサービス(whatap-agent.service)実行エラーを修正