• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

非同期アプリケーションのトレース

NewGoroutine API を使用して非同期セグメントをトレースする機能は、 Go エージェント バージョン 2.6.0 以降で利用できます。バージョン 2.6.0 以降を使用していない場合は、Go エージェントを最新バージョンに更新してください。

NewGoroutine(ニューゴルーチン

Transaction.NewGoroutine() Transactionメソッドにより、トランザクションは複数のゴルーチンでセグメントを作成できます。

NewGoroutine Transactionへの新しい参照を返します。セグメントを作成する別のゴルーチンにTransactionを渡すときはいつでも、これを呼び出す必要があります。各セグメントを作成するゴルーチンには、独自のTransaction参照が必要です。他のゴルーチンが開始する前または後にこれを呼び出すかどうかは問題ではありません。

すべてのTransactionメソッドは、任意のTransaction参照で使用できます。いずれかのゴルーチンでEnd()が呼び出されると、 Transactionは終了します。

新しいTransaction参照を別のゴルーチンに直接渡す例:

go func(txn *newrelic.Transaction) {
defer txn.StartSegment("async").End()
time.Sleep(100 * time.Millisecond)
}(txn.NewGoroutine())

チャネルの新しいTransaction参照を別のゴルーチンに渡す例:

ch := make(chan *newrelic.Transaction)
go func() {
txn := <-ch
defer txn.StartSegment("async").End()
time.Sleep(100 * time.Millisecond)
}()
ch <- txn.NewGoroutine()
Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.