webpara requisições webfrontendpara JavaScript de front-endbackgroundpara jobs em segundo plano

A imagem acima mostra exemplos de gráficos com vários namespaces, dividindo uma API GraphQL e o namespace Web.
Configurando namespaces
Os namespaces são definidos pelo código do seu aplicativo. Com pequenos helpers, você pode personalizar o namespace de uma ação. Este guia ensinará como dividir as requisições em diferentes namespaces. Para este guia, criaremos um namespace “admin” e um namespace “critical” para jobs em segundo plano.Configurações por linguagem
Ruby
No Rails, podemos usar o callbackbefore_action para chamar um método antes que uma requisição seja tratada. No exemplo de código abaixo, criamos um before_action que chama o método set_appsignal_namespace. Neste método, chamamos o método helper Appsignal.set_namespace para configurar “admin” como o namespace para esta requisição. Isso também funciona se outros controllers forem subclasses do AdminController.
Appsignal.monitor. Ele aceita o namespace como um argumento de palavra-chave.
set_namespace para configurar o namespace da transação, como no exemplo abaixo:
Uma nota sobre a localização do helper
Os helpersset_namespace usados neste guia podem ser chamados em qualquer ação que faça parte de uma amostra do AppSignal. Recomendamos chamar isso o mais cedo possível na requisição ou job em segundo plano, para que a transação seja configurada com o namespace fornecido antes que qualquer erro ocorra. Caso contrário, se ocorrer um erro ou qualquer outra coisa que pare o processo, a transação será enviada ao AppSignal antes que o helper set_namespace seja chamado, e a amostra será reportada sob o namespace padrão.
Leia mais
Elixir
Em controllers Phoenix, usamos umplug para chamar uma função antes que a requisição seja tratada pelo Phoenix. No exemplo de código abaixo, usamos plug para chamar a função set_appsignal_namespace (linha 5). Nesta função, chamamos o helper Appsignal.Span.set_namespace para configurar o namespace para esta requisição (linha 10).
Appsignal.Span.set_namespace deve ser chamado no início da função antes de qualquer outro código, como na linha 4 do exemplo de código abaixo:
Uma nota sobre a localização do helper
Os helpersset_namespace usados neste guia podem ser chamados em qualquer ação que inicie uma transação do AppSignal. Recomendamos chamar isso o mais cedo possível na requisição ou job em segundo plano, para que a transação seja configurada com o namespace fornecido antes que qualquer erro ocorra. Caso contrário, se ocorrer um erro—ou qualquer outra coisa que pare o processo—a transação será enviada ao AppSignal antes que o código set_namespace seja chamado e será reportada sob o namespace padrão.
Leia mais
- Documentação do método helper
Appsignal.Span.set_namespace - Elixir Namespace Decorator
- Elixir Namespace Instrumentation Helper
Node.js
Em aplicativos Node.js, o AppSignal funciona com o OpenTelemetry, que usa spans para rastrear metadados, como a qual namespace um span pertence. Use a função helpersetNamespace como no exemplo abaixo para definir o namespace para o trace do span ativo.
PHP
Em aplicativos PHP, o AppSignal funciona com o OpenTelemetry, que usa spans para rastrear metadados, como a qual namespace um span pertence. Use o método helperAppsignal::setNamespace para definir o namespace para o trace do span ativo.
Python
Em aplicativos Python, o AppSignal funciona com o OpenTelemetry, que usa spans para rastrear metadados, como a qual namespace um span pertence. Use a função helperset_namespace como no exemplo abaixo para definir o namespace para o trace do span ativo.
JavaScript de front-end
Em aplicativos JavaScript de front-end, o AppSignal funciona com spans para rastrear metadados, como o namespace de um span. Ao criar este span, chamesetNamespace com um valor String do nome do namespace desejado, conforme demonstrado no exemplo abaixo:
Go
Em aplicativos Go, o AppSignal funciona com o OpenTelemetry, que usa spans para rastrear metadados, como a qual namespace um span pertence. Em qualquer span no trace, defina um atributoappsignal.namespace com um valor String do novo namespace.
appsignal.namespace forem encontrados, o span com o timestamp mais novo prevalece.
Leia mais sobre como a instrumentação personalizada funciona em Go.
Java
Em aplicativos Java, o AppSignal funciona com o OpenTelemetry, que usa spans para rastrear metadados, como a qual namespace um span pertence. Em qualquer span no trace, defina um atributoappsignal.namespace com um valor String do novo namespace.
appsignal.namespace forem encontrados, o span com o timestamp mais novo prevalece.
Leia mais sobre como a instrumentação personalizada funciona em Java.