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.
Para monitor qualquer aplicação no Linux utilizando uma linguagem que possa importar biblioteca C, você deve:
- Crie uma configuração usando
newrelic_new_app_config()
, conecte-se ao daemon usandonewrelic_init()
e conecte seu aplicativo usandonewrelic_create_app()
. Para obter mais informações, consulte os procedimentos de instalação do C SDK. - Instrumento de transação manual usando o C SDK, conforme descrito neste documento.
A New Relic define uma transação fora da web como uma unidade lógica de trabalho em um aplicativo de software. Após o instrumento de transação manual em seu código-fonte adicionando funções do New Relic, você poderá visualizar os dados na páginaTransactions do New Relic. Você também pode instrumentar segmentos de uma transação e erros.
Instrumentar de transação
Para instrumentar uma transação para que você possa monitorá-la, envolva as funções do New Relic que iniciam e interrompem a instrumentação em torno da transação. A função que você usa depende se você deseja instrumento a web ou transação fora da web.
No exemplo a seguir, o aplicativo é criado após uma chamada para newrelic_create_app()
. Para obter mais informações, consulte os procedimentos de instalação do C SDK , bem como a documentação do C SDK libnewrelic.h
no GitHub.
Adicione o seguinte código imediatamente before à transação que você deseja monitor, fornecendo o parâmetro necessário.
Para transferência da web:
// Example code: newrelic_txn_t *txn; /* ... */ txn = newrelic_start_web_transaction(app, "NAME_YOUR_TRANSACTION");
Para transações fora da web:
// Example code: newrelic_txn_t *txn; /* ... */ txn = newrelic_start_non_web_transaction(app, "NAME_YOUR_TRANSACTION");
Adicione
newrelic_end_transaction()
imediatamente após a web ou transação fora da web que você deseja monitor, fornecendo um ponteiro para a transação,&txn
, como parâmetro.
Segmentos de instrumento
Depois de instrumentar uma transação usando o C SDK, você pode instrumentar segmentos nela. Por segmentos instrumentados, você pode monitor as funções e chamadas individuais dentro de uma transação.
Segments example
Você tem uma transação associada a um processo de checkout, que processa informações de envio e de cartão de crédito. Você pode instrumentar seu aplicativo para dividir essa transação em dois segmentos: um segmento para envio e um segmento para pagamento.
Você pode usar segmentos de instrumentos para monitor os seguintes tipos de chamadas:
- Serviços externos usando segmentos externos
- Segmentos personalizados para código arbitrário
- Datastores usando segmentos de armazenamento de dados
- consulta lenta trace (somente SQL banco de dados)
Para obter mais informações, consulte os procedimentos de instalação do C SDK , bem como a documentação do C SDK libnewrelic.h
no GitHub.
Erros de instrumento
Para utilizar o C SDK para monitor erros de transação, você deve instrumentar manualmente seu código-fonte adicionando a função newrelic_notice_error()
a ele.
Erros de transação e rastreamento de erros aparecem na páginaError analytics do New Relic. O C SDK relata o número total de erros e até 100 rastreamentos de erros por minuto. Você também pode visualizar, consultar e visualizar erros de transação como evento APM TransactionError
.
Dica
Para incluir chamadas de função no rastreamento de erros, use o sinalizador de vinculador -rdynamic
do GNU para vincular seus aplicativos ao compilar arquivos. O sinalizador do vinculador -rdynamic
fornece um rastreamento de erro mais significativo.
Para instrumentar erros na transação:
- Inicie uma transação.
- Registre um erro com
newrelic_notice_error()
, fornecendo o parâmetro necessário. - Finalize a transação, fornecendo o parâmetro necessário.
Para obter mais informações, consulte os procedimentos de instalação do C SDK , bem como a documentação do C SDK libnewrelic.h
no GitHub.
Evite problemas de agrupamento métrico
Quando uma conta ou aplicativo envia muitas métricas individuais que poderiam ser melhor gerenciadas em grupos, a New Relic usa o termo metric grouping issue ou MGI para descrever esta situação. Se o seu aplicativo enviar grandes quantidades de dados desnecessariamente para o New Relic, isso reduzirá a eficácia de gráficos, tabelas e relatórios.
Problemas de agrupamento métrico ocorrem mais comumente com transações da web, especialmente se o nome for baseado em URLs. Para ajudar a prevenir esta situação, veja questões de agrupamento métrico.