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

# Ajouter une télémétrie (BÊTA)

> Découvrez comment configurer la télémétrie .

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

Vous pouvez configurer la télémétrie pour votre application, qui agit comme un récepteur de journal pour transférer les données de journal à un fournisseur d'observabilité externe. Actuellement, seuls [Honeycomb](https://www.honeycomb.io/) et [Sentry](https://sentry.io/) sont pris en charge en tant que fournisseurs tiers.

## Créer et configurer des fichiers de composants de télémétrie

Dans le répertoire `app/` de votre projet, créez un répertoire de `telemetry/`, puis ajoutez-y un fichier de configuration `telemetry-hsmeta.json`.

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

Modifiez le fichier `telemetry-hsmeta.json` pour configurer votre fournisseur, enregistrer les paramètres de niveau, etc. Un fichier d'exemple est fourni ci-dessous, ainsi qu'un tableau détaillant chacun des champs disponibles.

<Warning>
  **Remarque** : par défaut, tous les types et niveaux de journal seront synchronisés avec votre fournisseur via les champs `logTypes` et `logLevels`, ce qui peut entraîner l'envoi d'un très grand volume de données. Il est fortement recommandé de commencer par configurer uniquement les types de journaux qui vous intéressent et de définir les niveaux de journal pour filtrer uniquement les erreurs.
</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"]
  }
}
```

| Champ          | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                |
| -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `uid`          | Chaîne  | un identifiant unique pour votre configuration de télémétrie. Cette valeur peut être définie sur n'importe quelle valeur, mais elle apparaîtra dans les paramètres de votre projet sur votre compte. Elle doit donc être différente des autres valeurs `uid` des autres composants de l'application.                                                                                       |
| `type`         | Chaîne  | le type de composant, qui devrait être `telemetry` dans ce cas.                                                                                                                                                                                                                                                                                                                            |
| `config`       | Objet   | un objet contenant les détails de configuration. Consultez les sous-propriétés répertoriées dans les lignes ci-dessous.                                                                                                                                                                                                                                                                    |
| `providerType` | Chaîne  | le nom de votre fournisseur de télémétrie tiers. Actuellement, seuls `SENTRY` et `HONEYCOMB` sont pris en charge.                                                                                                                                                                                                                                                                          |
| `datasetName`  | Chaîne  | un libellé qui sera associé à vos données de journal, si votre fournisseur prend en charge cette option.                                                                                                                                                                                                                                                                                   |
| `logTypes`     | Tableau | une liste des types de journaux envoyée à votre fournisseur externe. Par défaut, tous les logs sont propagés vers votre fournisseur. Les types de journaux disponibles incluent : `["CRM_LEGACY_CARD", "CRM_EXTENSIBILITY_CARD", "WEBHOOKS", "API_CALL", "APP_SETTINGS", "SERVERLESS_EXECUTION", "PROXY_EXECUTION", "EXTENSION_RENDER", "EXTENSION_LOG", "SERVERLESS_GATEWAY_EXECUTION"]`. |
| `logLevels`    | Tableau | une liste des niveaux de gravité selon lesquels filtrer les journaux. Les niveaux de journaux pris en charge sont :  `["ERROR", "WARNING", "INFO"]`                                                                                                                                                                                                                                        |

## Ajouter une authentification externe en tant que secret via l'ILC

En plus de créer le fichier de configuration `telemetry-hsmeta.json` ci-dessus, vous devrez également ajouter un secret qui correspond à la clé d'authentification de votre fournisseur :

* Si vous utilisez Sentry, vous ajouterez le DSN (Data Source Name) en tant que secret.
* Si vous utilisez Honeycomb, vous ajouterez une clé d'API en tant que secret.

### Localiser un DSN Sentry

Si vous utilisez Sentry, suivez les étapes ci-dessous pour obtenir votre DSN :

* Connectez-vous à votre [compte Sentry](https://sentry.io/auth/login/).
* Accéder aux paramètres de votre projet.
* Dans la section *Clés client* ou *DSN*, vous trouverez un DSN unique pour votre projet. Elle doit ressembler à ce qui suit :

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

### Trouver une clé d'API Honeycomb

Si vous utilisez Honeycomb comme fournisseur d'observabilité externe, une clé d'API est utilisée pour authentifier et transférer les données. Cette clé d'API est associée à votre compte et à votre projet Honeycomb spécifiques.

Pour générer une clé d'API Honeycomb :

* Connectez-vous à votre [compte Honeycomb](https://ui.honeycomb.io/login).
* Accéder aux paramètres de votre projet.
* Recherchez la section *Clés d'API* et générez une nouvelle clé.
* Copiez la clé d'API générée.

### Ajouter un secret en utilisant l'ILC HubSpot

Une fois que vous avez obtenu votre DSN Sentry ou votre clé d'API Honeycomb, exécutez la commande suivante pour ajouter la valeur en tant que secret. Lorsque le nom du secret vous est demandé, vous <u>devez</u> utiliser `TELEMETRY_SECRET` pour que les données de journal soient synchronisées correctement.

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