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

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

Caso haja alguma divergência entre a versão em inglês e a traduzida, a versão em inglês prevalece. Acesse esta página para mais informações.

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últiplos goroutines.

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

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 outro 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 outro 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.