Splunk Observability Cloud に Go Lambda 関数をインストルメンテーションする 🔗
AWS Lambda for Splunk APM で Go 関数をインストルメンテーションするには、以下の手順に従います:
以下のコマンドを実行して、
otellambda
と Splunk OTel Go ディストリビューションをインストールします:go get -u go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda go get -u github.com/signalfx/splunk-otel-go/distro
関数のコードの中に、OpenTelemetryインストルメンテーションのラッパーを作成します。例:
package main import ( "context" "fmt" "github.com/aws/aws-lambda-go/lambda" "github.com/signalfx/splunk-otel-go/distro" "go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda" "go.opentelemetry.io/otel" ) func main() { distro.Run() flusher := otel.GetTracerProvider().(otellambda.Flusher) lambda.Start(otellambda.InstrumentHandler(HandleRequest, otellambda.WithFlusher(flusher))) } type MyEvent struct { Name string `json:"name"` } func HandleRequest(ctx context.Context, name MyEvent) (string, error) { return fmt.Sprintf("Hello %s!", name.Name), nil }
注釈
完全な例については、GitHub の OpenTelemetry Lambda tracing examples を参照してください。
必要な環境変数を設定します。Splunk OpenTelemetry Lambda レイヤーを設定する を参照してください。
詳細は、AWS Lambda 関数を Splunk Observability Cloud にインストルメンテーションする を参照してください。