> ## 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.

# Installation OpenTelemetry pour Elixir

Assurez-vous d'[installer l'AppSignal collector](/opentelemetry/installation) avant de poursuivre avec ces instructions.

## Installer les paquets OpenTelemetry

Ajoutez le SDK OpenTelemetry et l'exportateur OTLP aux dépendances de votre application :

<CodeGroup>
  ```elixir Elixir theme={null}
  def deps do
    [
      # other dependencies...
      {:opentelemetry, "~> 1.3"},
      {:opentelemetry_api, "~> 1.2"},
      {:opentelemetry_exporter, "~> 1.6"},
    ]
  end
  ```
</CodeGroup>

Ajoutez également les paquets d'instrumentation OpenTelemetry pour les bibliothèques et frameworks utilisés par votre application. Par exemple, si vous utilisez Phoenix :

<CodeGroup>
  ```elixir Elixir theme={null}
  def deps do
    [
      # other dependencies...
      {:opentelemetry_phoenix, "~> 1.1"},
      {:opentelemetry_cowboy, "~> 0.2"},
      {:opentelemetry_ecto, "~> 1.2"}
    ]
  end
  ```
</CodeGroup>

Pour d'autres bibliothèques et frameworks, vous pouvez [trouver des paquets d'instrumentation OpenTelemetry dans le registre OpenTelemetry](https://opentelemetry.io/ecosystem/registry/?s=\&component=instrumentation\&language=elixir\&flag=all).

## Configurer OpenTelemetry dans votre application

Mettez à jour le fichier `config/config.exs` de votre application avec l'exportateur OpenTelemetry et la configuration AppSignal.

Veillez à mettre à jour les valeurs ci-dessous avec le nom de votre application AppSignal, l'environnement et la clé Push API, et à remplacer l'endpoint de l'exportateur par l'adresse de votre AppSignal collector si nécessaire.

<CodeGroup>
  ```elixir Elixir theme={null}
  # Replace these values with your AppSignal application name, environment
  # (autodetected from Mix) and push API key. These are used by the resource attributes
  # configuration below.
  name = "My app"
  push_api_key = "0000-0000-0000-0000"

  environment = if Kernel.function_exported?(Mix, :env, 0) do
    to_string(Mix.env())
  else
    "development"
  end

  # Set the name of the service that is being monitored. A common choice is the
  # name of the framework used. This is used to group traces and metrics in AppSignal.
  service_name = "My service name"

  # Replace `http://localhost:8099` with the address of your AppSignal collector
  # if it's running on another host.
  endpoint = "http://localhost:8099"

  {:ok, hostname} = :inet.gethostname()
  {revision, _exitcode} = System.cmd("git", ["log", "--pretty=format:%h", "-n 1"])

  config :opentelemetry,
    span_processor: :batch,
    traces_exporter: :otlp,
    resource: [
      {"appsignal.config.name", name},
      {"appsignal.config.environment", environment},
      {"appsignal.config.push_api_key", push_api_key},
      {"appsignal.config.revision", revision},
      {"appsignal.config.language_integration", "elixir"},
      {"appsignal.config.app_path", File.cwd!()},
      {"host.name", hostname},
      {"service.name", service_name}
    ]

  config :opentelemetry_exporter,
    otlp_protocol: :http_protobuf,
    otlp_endpoint: endpoint
  ```
</CodeGroup>

## Testez l'application !

Maintenant que tous les composants sont connectés, démarrez votre application et vérifiez si des données arrivent dans AppSignal. Consultez en particulier les pages [« Errors > Issue list »](https://appsignal.com/redirect-to/app?to=exceptions) et [« Performance > Traces »](https://appsignal.com/redirect-to/app?to=performance/traces).

Si après avoir suivi nos instructions d'installation vous ne voyez toujours pas de données dans AppSignal, [faites-le-nous savoir](mailto:support@appsignal.com?subject=OpenTelemetry%20issue) et nous vous aiderons à finaliser votre installation OpenTelemetry !
