• 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ú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.