• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

Cette traduction automatique est fournie pour votre commodité.

En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.

Créer un problème

tracer une application asynchrone

La possibilité de trace des segments asynchrones avec l'API NewGoroutine est disponible à partir de la version 2.6.0 d'agent Go. Si vous ne disposez pas de la version 2.6.0 ou supérieure, mettez à jour votre agent Go vers la dernière version.

NewGoroutine

La méthode Transaction.NewGoroutine() Transaction permet aux transactions de créer des segments dans plusieurs goroutines.

NewGoroutine renvoie une nouvelle référence au Transaction. Cela doit être appelé à chaque fois que vous passez le Transaction à un autre goroutine qui crée des segments. Chaque goroutine créant un segment doit avoir sa propre référence Transaction . Peu importe que vous appeliez ceci avant ou après que l'autre goroutine ait commencé.

Toutes les méthodes Transaction peuvent être utilisées dans n'importe quelle référence Transaction . Le Transaction se terminera lorsque End() sera appelé dans n'importe quel goroutine.

Exemple de passage d'une nouvelle référence Transaction directement à une autre goroutine:

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

Exemple de passage d'une nouvelle référence Transaction sur un canal vers un autre goroutine:

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

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