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

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

## Installer les gems OpenTelemetry

Utilisez Bundler pour ajouter le SDK OpenTelemetry, l'exportateur OTLP et les paquets d'instrumentation au Gemfile de votre application :

<CodeGroup>
  ```sh Shell theme={null}
  bundle add opentelemetry-sdk opentelemetry-exporter-otlp opentelemetry-instrumentation-all
  ```
</CodeGroup>

Le paquet `opentelemetry-instrumentation-all` installe des instrumentations pour la plupart des frameworks et bibliothèques. Vous pouvez consulter [une liste des frameworks et bibliothèques instrumentés dans les dépendances du paquet sur RubyGems](https://rubygems.org/gems/opentelemetry-instrumentation-all/versions/0.74.0). Vous pouvez également [trouver des instrumentations supplémentaires pour les frameworks et bibliothèques dans le registre OpenTelemetry](https://opentelemetry.io/ecosystem/registry/?s=\&component=instrumentation\&language=ruby\&flag=all).

## Configurer OpenTelemetry dans votre application

Ajoutez ce fichier `appsignal.rb` à votre application avec l'exportateur OpenTelemetry et la configuration AppSignal. Ensuite, requérez ce fichier dans votre application.

Pour les applications Rails, ajoutez-le à un initialiseur Rails comme `config/initializers/appsignal.rb`.

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>
  ```ruby Ruby theme={null}
  require "socket"
  require "opentelemetry/sdk"
  require "opentelemetry/instrumentation/all"
  require "opentelemetry-exporter-otlp"

  # Replace these values with your AppSignal application name, environment
  # and push API key. These are used by the resource attributes configuration below.
  name = "My app"
  push_api_key = "0000-0000-0000-0000"

  environment = defined?(Rails) ? Rails.env.to_s : "development"

  # 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/v1/traces"

  revision = `git rev-parse --short HEAD`.strip

  OpenTelemetry::SDK.configure do |c|
    c.resource = OpenTelemetry::SDK::Resources::Resource.create(
      "appsignal.config.name" => name,
      "appsignal.config.environment" => environment,
      "appsignal.config.push_api_key" => push_api_key,
      "appsignal.config.revision" => revision,
      "appsignal.config.language_integration" => "ruby",
      "appsignal.config.app_path" => Dir.pwd,
      "host.name" => Socket.gethostname,
    )
    c.service_name = service_name

    c.add_span_processor(
      OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
        OpenTelemetry::Exporter::OTLP::Exporter.new(
          :endpoint => endpoint,
          :compression => "none"
        )
      )
    )

    c.use_all
  end
  ```
</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 !
