Créer des traces et métriques personnalisées

Traces et métriques personnalisées utilisant l’instrumentation Zero-code .NET.

L’instrumentation Zero-code configure un TracerProvider et un MeterProvider afin que vous puissiez ajouter votre propre instrumentation manuelle. En utilisant à la fois l’instrumentation automatique et manuelle, vous pouvez mieux instrumenter la logique et les fonctionnalités de vos applications, clients et frameworks.

Traces

Pour créer vos traces personnalisées manuellement, suivez ces étapes :

  1. Ajoutez la dépendance System.Diagnostics.DiagnosticSource à votre projet :

    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />
    
  2. Créez une instance ActivitySource :

    private static readonly ActivitySource RegisteredActivity = new ActivitySource("Examples.ManualInstrumentations.Registered");
    
  3. Créez une Activity. Optionnellement, définissez des tags :

    using (var activity = RegisteredActivity.StartActivity("Main"))
    {
       activity?.SetTag("foo", "bar1");
       // votre logique pour l'activité Main
    }
    
  4. Enregistrez votre ActivitySource dans OpenTelemetry.AutoInstrumentation en définissant la variable d’environnement OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES. Vous pouvez définir la valeur soit à Examples.ManualInstrumentations.Registered soit à Examples.ManualInstrumentations.*, ce qui enregistre tout le préfixe.

Métriques

Pour créer vos métriques personnalisées manuellement, suivez ces étapes :

  1. Ajoutez la dépendance System.Diagnostics.DiagnosticSource à votre projet :

    <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="8.0.0" />
    
  2. Créez une instance Meter :

    using var meter = new Meter("Examples.Service", "1.0");
    
  3. Créez un Instrument :

    var successCounter = meter.CreateCounter<long>("srv.successes.count", description: "Number of successful responses");
    
  4. Mettez à jour la valeur de l’Instrument. Optionnellement, définissez des tags :

    successCounter.Add(1, new KeyValuePair<string, object?>("tagName", "tagValue"));
    
  5. Enregistrez votre Meter avec OpenTelemetry.AutoInstrumentation en définissant la variable d’environnement OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES :

    OTEL_DOTNET_AUTO_METRICS_ADDITIONAL_SOURCES=Examples.Service
    

    Vous pouvez définir la valeur soit à Examples.Service soit à Examples.*, ce qui enregistre tout le préfixe.

Lectures complémentaires


Dernière modification August 27, 2025: [fr] Translation of Zero Code .NET docs (#7359) (75b13ed5)