• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Aplicativo trace assíncrono

A capacidade de trace segmentos assíncronos com a API NewGoroutine está disponível a partir da versão 2.6.0 do agente Go. Se você não tiver a versão 2.6.0 ou superior, atualize seu agente Go para a versão mais recente.

NewGoroutine

O método Transaction.NewGoroutine() Transaction permite que a transação crie segmentos em múltiplas goroutines.

NewGoroutine retorna uma nova referência para Transaction. Isso deve ser chamado sempre que você passar o Transaction para outra goroutine que cria segmentos. Cada goroutine criadora de segmento deve ter sua própria referência Transaction . Não importa se você chama isso antes ou depois do início da outra goroutine.

Todos os métodos Transaction podem ser usados em qualquer referência Transaction . O Transaction terminará quando End() for chamado em qualquer goroutine.

Exemplo passando uma nova referência Transaction diretamente para outra goroutine:

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

Exemplo passando uma nova referência Transaction em um canal para outra 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.