• /
  • EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Aplicación de traza asincrónica

La capacidad de trazar segmentos asincrónicos con la API NewGoroutine está disponible a partir de la versión 2.6.0 de Go Agent. Si no tiene la versión 2.6.0 o superior, actualice su agente Go a la última versión.

NewGoroutine

El método Transaction.NewGoroutine() Transaction permite que la transacción cree segmentos en múltiples goroutine.

NewGoroutine devuelve una nueva referencia al Transaction. Esto debe llamarse cada vez que pase Transaction a otra goroutine que cree segmentos. Cada goroutine de creación de segmentos debe tener su propia referencia Transaction . No importa si llamas a esto antes o después de que haya comenzado la otra goroutine.

Todos los métodos Transaction se pueden utilizar en cualquier referencia Transaction . El Transaction finalizará cuando se llame End() en cualquier goroutine.

Ejemplo de pasar una nueva referencia Transaction directamente a otra goroutine:

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

Ejemplo de pasar una nueva referencia Transaction en un canal a otra goroutine:

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

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