本文へスキップ

Go Agent v0.1.6

リリース:2021-11-23

ベータ版 - アップデート

google.golang.org/grpcライブラリに対応

Install guide

import (
"github.com/whatap/go-api/instrumentation/google.golang.org/grpc/whatapgrpc"
)

func main() {
...
// client
// Set the whatap interceptor to grpc
conn, err := grpc.Dial(fmt.Sprintf("%s:%d", *grpcHost, *grpcPort),
grpc.WithInsecure(),
grpc.WithBlock(),
grpc.WithUnaryInterceptor(whatapgrpc.UnaryClientInterceptor()),
grpc.WithStreamInterceptor(whatapgrpc.StreamClientInterceptor()))

//---------------------------

// server
// Set the whatap interceptor to grpc
grpcServer := grpc.NewServer(
grpc.UnaryInterceptor(whatapgrpc.UnaryServerInterceptor()),
grpc.StreamInterceptor(whatapgrpc.StreamServerInterceptor()))

...
}

参考例

設定

  • grpc_profile_enabled

    #Default : true#

    #Type : boolean#

    grpc情報の収集有無を設定します。

  • grpc_profile_stream_client_enabled

    #Default : true#

    #Type : boolean#

    client stream method情報の収集有無を設定します。

    false:stream method情報を収集しません。

  • grpc_profile_stream_server_enabled

    #Default : true#

    #Type : boolean#

    server stream method情報の収集有無を設定します。

    false:stream method情報を収集しません。

  • grpc_profile_ignore_method

    #Default : agent#

    #Type : String#

    指定されたメソッドを収集しません。複数指定の場合はコンマ(,)で区切ります。

  • grpc_profile_stream_method

    #Default : "" #

    #Type : String#

    指定されたstream methodを別のトランザクションとして構成します。複数指定の場合は、コンマ(,)で区切ります。長時間続くstream接続の場合は、methodそれぞれの呼び出しを単独トランザクションとして処理します。ヒットマップ、トランザクション検索でfull methodで検索できます。

  • grpc_profile_stream_identify

    #Default : false#

    #Type : boolean#

    Stream full methodをトランザクション名で収集し、同じfull methodのclientとserverを区別できるプレフィックスを追加します。(/Stream Client/[full method]/Stream Server/[full method])