AVISO DE EOL
A partir de abril de 2022, não ofereceremos suporte ao recurso C SDK. Para obter mais detalhes, consulte nossa postagem no Fórum de suporte.
O C SDK da New Relic monitora seu aplicativo e microsserviços para ajudá-lo a identificar e resolver problemas de desempenho. Aplicativo C executado a partir de um arquivo binário nativo compilado. Para monitor a transação, você deve instrumentar manualmente seu código adicionando métodos New Relic a ele.
Este guia ajuda você a decidir qual método usar. O código do método, os parâmetros obrigatórios e os exemplos residem na documentação C SDK da New Relic no GitHub.
Certifique-se de que sua personalização seja segura para threads
O C SDK oferece suporte à instrumentação de aplicativos multithread, mas deve ser inicializado antes da instrumentação de vários threads. Ao chamar qualquer uma das funções a seguir, certifique-se de que elas sejam called on the main thread antes de qualquer outra função do C SDK ser chamada:
Monitor transação
Antes de instrumentar manualmente seu código para monitor a transação:
- Verifique a compatibilidade e os requisitos do C SDK para seu aplicativo.
- Certifique-se de estar usando a versão mais recente da biblioteca C SDK e atualize conforme necessário.
Se você quiser... | Utilize este método... |
---|---|
Comece a cronometrar a transação da web | |
Comece a cronometrar uma transação fora da web | |
Pare de cronometrar uma transação |
|
Impedir que uma transação seja reportada à New Relic |
Métodos específicos de tempo usando segmentos
Se uma transação já estiver visível no New Relic, mas você não tiver dados suficientes sobre um método específico que foi chamado durante essa transação, você poderá instrumentar segmentos. Por exemplo, se você quiser cronometrar um método que possui lógica complexa, poderá criar um segmento para cada um dos métodos na transação.
Para instrumentar um método em uma transação existente, crie segmentos para qualquer um dos seguintes:
- Serviços externos
- Funções ou outros blocos arbitrários de código (usando segmentos personalizados)
- Armazenamentos de dados
- Consulta lenta trace (somente armazenamentos de dados SQL)
Se você quiser... | Utilize este método... |
---|---|
Comece a cronometrar um segmento |
|
Pare de cronometrar um segmento |
|
Segmentos pais manualmente |
Isto é útil, por exemplo, com um processo assíncrono quando você deseja visualizar um segmento como filho da chamada de nível superior da transação. Para obter mais informações, consulte a documentação de criação manual de segmentos no GitHub. |
Os segmentos são registrados na transação ativa. Ao adicionar um segmento a uma transação ativa, você precisa de acesso ao newrelic_txn_t*
ou ponteiro de transação, retornado por newrelic_start_web_transaction()
ou newrelic_start_non_web_transaction()
.
Aprimore os metadados de uma transação
Você pode gerenciar os metadados que a New Relic reporta para transação. Isto é útil quando você deseja um nível diferente de detalhe para sua transação. Por exemplo:
Se você estiver enfrentando um problema de agrupamento métrico, poderá alterar os nomes padrão da sua transação para torná-los mais identificáveis.
Se você deseja criar
para sua transação, você pode adicionar um atributo personalizado.
Se você quiser... | Utilize este método... |
---|---|
Adicione metadados (como o nome da conta do seu cliente ou nível de assinatura) à sua transação | Adicione atributo personalizado à sua transação com base no tipo: |
Instrumentar chamadas para serviços externos
Use estes métodos para coletar dados sobre as conexões do seu aplicativo com outros aplicativos ou banco de dados:
Se você quiser... | Utilize este método... |
---|---|
Veja o caminho que uma solicitação percorre ao percorrer um sistema distribuído | Siga os procedimentos para ativar o distributed tracing por instrumento. |
Cronometrar uma chamada para um recurso externo (como um serviço externo, servidor de banco de dados ou fila de mensagens) | Siga os procedimentos para Instrumentar chamadas para segmentos externos. |
Coletar ou log erros
O C SDK detecta erros automaticamente. Se você quiser alterar a forma como ele relata erros ao New Relic, altere a configuração do coletor de erros.
Se você quiser... | Utilize este método... |
---|---|
Defina níveis de registro para seu aplicativo | Use |
Informar um erro |
Envie dados personalizados do seu aplicativo
Para registrar dados personalizados com o C SDK, você pode usar qualquer um dos seguintes métodos:
Custom events:
Na New Relic, dados de eventos são um tipo de dados fundamental. Os dados do evento representam um registro de um único evento em um determinado momento. Isto é útil para visualizar ou consultar detalhes específicos.
Custom event attributes:
Para incluir metadados adicionais sobre o evento, você pode adicionar pares de valores principais (atributo personalizado) ao seu evento personalizado.
Custom metrics:
métrica de fração de tempo data é a medida estatística de dados que o New Relic agrega para que você possa visualizá-los na interface do usuário e mapeá-los. Normalmente, os dados métricos têm um período de retenção mais longo do que os dados de eventos.
Aqui estão algumas maneiras de usar seus dados personalizados. Para obter detalhes de código e exemplos dessas opções, consulte a documentação global do New Relic no GitHub.
Se você quiser... | Utilize este método... |
---|---|
Crie um evento personalizado para preencher com timestamp e atributo. | |
Timestamp e adicione o evento personalizado à transação atual para que você possa consultá-lo ou visualizá-lo. | |
Aprimore seu evento personalizado com metadados adicionais. | Adicione evento personalizado atributo ao seu evento personalizado com base no tipo: |
Descarte um evento personalizado após ele ter sido criado, mas antes de sua transação terminar, para evitar relatá-lo à New Relic. | Isso é necessário para liberar a memória alocada para seu evento personalizado indesejado, a fim de evitar vazamentos em seu programa. |
Relate uma duração de desempenho personalizada que você pode pesquisar ou traçar. |
Monitor desktop browser performance
Para monitor o desempenho do browser de desktop para seu aplicativo, instale o agente do browser usando o método copiar/colar.
Alterar definições de configuração
Normalmente, as configurações padrão da configuração do seu aplicativo não precisam ser alteradas. No entanto, quando necessário, você pode ajustar algumas configurações. Para obter mais informações, consulte a documentação de configuração do C SDK.