> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AppSignal para Node.js

O AppSignal para [Node.js](https://nodejs.org/en/) ajuda você a aproveitar ao máximo sua aplicação Node.js, fornecendo as ferramentas necessárias para rastrear erros e monitorar a performance do código da sua aplicação.

O pacote suporta aplicações em JavaScript puro e TypeScript e pode instrumentar automaticamente vários frameworks e pacotes por meio de plugins opcionais. Outros frameworks e pacotes podem exigir alguma [instrumentação personalizada](/nodejs/3.x/instrumentation).

## OpenTelemetry

OpenTelemetry é um projeto open-source que facilita a instrumentação da coleta padronizada de dados de telemetria. Isso significa que você pode integrar facilmente seus dados com o AppSignal ou com outro fornecedor de sua escolha. Você não fica preso aos serviços de um único provedor. Como o OpenTelemetry é um projeto open-source, todos podem colaborar nas mesmas integrações base para fornecer instrumentação em benefício de todos. Atualmente, o OpenTelemetry suporta várias linguagens de programação populares, incluindo Node.js.

O OpenTelemetry é composto por múltiplos componentes: tracing, métricas e logs. Esses componentes ainda estão em desenvolvimento na maioria das linguagens de programação, sendo o tracing, em muitas linguagens, o componente mais estável. Suportamos o componente de tracing do OpenTelemetry em nossa integração com Node.js para oferecer melhor relatório de erros e medições de performance.

**[Saiba mais sobre o OpenTelemetry no site oficial do projeto.](https://opentelemetry.io/)**

## Bibliotecas suportadas

Nossa integração suporta as seguintes bibliotecas e frameworks:

* [Node.js Core](/nodejs/3.x/integrations/core)
* [Apollo Gateway](/nodejs/3.x/integrations/apollo-gateway)
* [BullMQ](/nodejs/3.x/integrations/bullmq)
* [Elasticsearch](/nodejs/3.x/integrations/elasticsearch)
* [Express](/nodejs/3.x/integrations/express)
* [Fastify](/nodejs/3.x/integrations/fastify)
* [GraphQL (como Apollo Server ou Yoga)](/nodejs/3.x/integrations/graphql)
* [Knex.js](/nodejs/3.x/integrations/knexjs)
* [Koa.js](/nodejs/3.x/integrations/koajs)
* [MongoDB](/nodejs/3.x/integrations/mongo)
* [Mongoose](/nodejs/3.x/integrations/mongoose)
* [MySQL (pacotes mysql e mysql2)](/nodejs/3.x/integrations/mysql)
* [NestJS](/nodejs/3.x/integrations/nestjs)
* [Next.js](/nodejs/3.x/integrations/nextjs)
* [PostgreSQL](/nodejs/3.x/integrations/pg)
* [Prisma](/nodejs/3.x/integrations/prisma)
* [Redis (pacotes redis e ioredis)](/nodejs/3.x/integrations/redis)
* [Remix](/nodejs/3.x/integrations/remix)
* [Restify](/nodejs/3.x/integrations/restify)

## Ambientes suportados

<Note>
  🔧 O suporte ao Node.js é definido em nossa [página de política de
  manutenção](/support/maintenance-policy).
</Note>

Node.js é um runtime incrivelmente flexível, o que permite que ele seja utilizado em diversos casos de uso diferentes. O AppSignal foi projetado principalmente para uso em um servidor, então há alguns cenários em que a integração com Node.js atualmente não é adequada:

* **Aplicações Electron:** Não recomendamos usar @appsignal/nodejs dentro de aplicações [Electron](https://www.electronjs.org/). Como projetamos o [agente](/appsignal/terminology#agent) para rodar em um servidor, ele não é útil atualmente neste ambiente. Isso também levaria a uma complexidade possivelmente indesejada em torno da compilação cruzada da extensão nativa.
* **Processos de curta duração:** Processos de curta duração, como ferramentas CLI, não são uma boa escolha para o agente, que precisa permanecer em execução por um período de tempo (pelo menos 60 segundos).
* **Funções serverless:** Funções serverless são projetadas para serem processos de curta duração, então também não são uma boa escolha para o agente.
* **Apps gerados estaticamente:** Alguns ambientes (por exemplo, [Gatsby.js](https://www.gatsbyjs.com/), [Svelte](https://svelte.dev/)) oferecem algum acesso às APIs do Node.js, mas, em última instância, compilam seu código para uma aplicação client-side, e portanto não são adequados para a biblioteca Node.js.

***Não entre em pânico!*** A [biblioteca @appsignal/javascript](/front-end/) não requer o agente e funcionará onde @appsignal/nodejs atualmente não funciona, porém apenas o rastreamento de erros é suportado no momento.
