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

# Adicionar telemetria (BETA)

> Saiba como configurar a telemetria.

<style>
  {`
    .table-key, .table-key div, .table-key p {
      margin: 0;
      font-size: 14px;
    }
    code {
      text-wrap:nowrap!important;
    }
    `}
</style>

Você pode configurar a telemetria para seu aplicativo, que funciona como um coletor de registros para enviar dados de registro para um provedor de observabilidade externo. Atualmente, apenas [Honeycomb](https://www.honeycomb.io/) e [Sentry](https://sentry.io/) são suportados como provedores de terceiros.

## Criar e configurar arquivos de componentes de telemetria

No diretório `app/` do seu projeto, crie um diretório `telemetry/` e, em seguida, adicione um arquivo de configuração `telemetry-hsmeta.json` dentro dele.

```shell theme={null}
└── src/
    └── app/
        └── telemetry/
            └── telemetry-hsmeta.json
```

Edite o arquivo `telemetry-hsmeta.json` para definir o provedor, as configurações em nível de registro e muito mais. Um arquivo de exemplo é fornecido abaixo, bem como uma tabela que detalha cada um dos campos disponíveis.

<Warning>
  **Observação**: por padrão, todos os tipos e níveis de registro serão sincronizados com seu provedor através dos campos `logTypes` e `logLevels`, o que pode resultar em um volume muito elevado de dados enviados. É altamente recomendado que você comece configurando somente os tipos de registro nos quais está interessado e definindo-os para filtrar somente erros.
</Warning>

### telemetry-hsmeta.json

```json theme={null}
{
  "uid": "telemetry",
  "type": "telemetry",
  "config": {
    "providerType": "SENTRY",
    "datasetName": "my-app-telemetry",
    "logTypes": ["API_CALL", "EXTENSION_LOG", "EXTENSION_RENDER", "DATA_FETCH"],
    "logLevels": ["ERROR", "WARN", "INFO"]
  }
}
```

| Campo          | Tipo   | Descrição                                                                                                                                                                                                                                                                                                                                                                      |
| -------------- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `uid`          | String | Um identificador exclusivo para sua configuração de telemetria. Isso pode ser definido com qualquer valor, mas aparecerá nas configurações do projeto em sua conta, portanto, deve ser diferente de outros valores `uid` de outros componentes do aplicativo.                                                                                                                  |
| `type`         | String | O tipo de componente, que deve ser `telemetry` neste caso.                                                                                                                                                                                                                                                                                                                     |
| `config`       | Objeto | Um objeto contendo os detalhes de configuração da função sem servidor. Veja as subpropriedades listadas nas linhas abaixo.                                                                                                                                                                                                                                                     |
| `providerType` | String | O nome do provedor de telemetria de terceiros. Atualmente, apenas `SENTRY` e `HONEYCOMB` são suportados.                                                                                                                                                                                                                                                                       |
| `datasetName`  | String | Um rótulo que será associado aos seus dados de registro, se seu provedor suportar essa opção.                                                                                                                                                                                                                                                                                  |
| `logTypes`     | Matriz | Uma lista de tipos de registro enviados ao provedor externo. Por padrão, todos os registros são propagados para o provedor. Os tipos de registro disponíveis incluem: `["CRM_LEGACY_CARD", "CRM_EXTENSIBILITY_CARD", "WEBHOOKS", "API_CALL", "APP_SETTINGS", "SERVERLESS_EXECUTION", "PROXY_EXECUTION", "EXTENSION_RENDER", "EXTENSION_LOG", "SERVERLESS_GATEWAY_EXECUTION"]`. |
| `logLevels`    | Matriz | Uma lista de níveis de severidade pelos quais filtrar os registros. Os níveis de registro compatíveis são:  `["ERROR", "WARNING", "INFO"]`                                                                                                                                                                                                                                     |

## Adicionar autenticação externa como um segredo via CLI

Além de criar o arquivo de configuração `telemetry-hsmeta.json` acima, você também precisará adicionar um segredo que corresponda à chave de autenticação do seu provedor:

* Se você estiver usando o Sentry, adicionará o DSN (Data Source Name) como segredo.
* Se você estiver usando o Honeycomb, adicionará uma Chave de API como segredo.

### Localize um DSN do Sentry

Se você estiver usando o Sentry, siga as etapas abaixo para obter seu DSN:

* Faça login em sua [Conta do Sentry](https://sentry.io/auth/login/).
* Navegue até as configurações do projeto.
* Na seção *Chaves do cliente* ou *DSN*, você encontrará um DSN exclusivo para seu projeto. Deve se parecer com o seguinte:

```
https://sentry-key@sentry-identifier.ingest.us.sentry.io/project-id
```

### Localizar uma Chave de API Honeycomb

Se você estiver usando o Honeycomb como provedor de observabilidade externo, uma Chave de API é usada para autenticar e encaminhar dados. Esta Chave de API está associada à sua conta e projeto específico do Honeycomb.

Para gerar uma chave de API do Honeycomb:

* Faça login em sua [Conta do Honeycomb](https://ui.honeycomb.io/login).
* Navegue até as configurações do projeto.
* Localize a seção *Chaves de API* e gere uma nova chave.
* Copie a chave de API gerada.

### Adicionar um segredo usando a CLI da HubSpot

Depois de obter o DSN do Sentry ou o Chave de API do Honeycomb, execute o comando a seguir para adicionar o valor como um segredo. Quando for solicitado a fornecer o nome do segredo, você <u>deverá</u> usar `TELEMETRY_SECRET` para que os dados de registro sejam sincronizados corretamente.

```shell theme={null}
hs app secrets add
```
