IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

Introduction

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 18 janvier 2026

La création de documents PDF dynamiques, basés sur des données et enrichis est une exigence typique dans de nombreux secteurs du développement logiciel moderne. Les entreprises dépendent fortement de leur capacité à générer rapidement des PDF de haute qualité, que ce soit pour créer des factures, des rapports ou de la documentation. Cependant, suivre et comprendre l'efficacité des processus de production de PDF devient essentiel pour préserver la santé des applications et garantir la satisfaction des utilisateurs à mesure qu'elles deviennent plus compliquées et à grande échelle.

Cet article vise à discuter de la manière dont les développeurs peuvent améliorer les opérations de génération de PDF et fournir des informations importantes sur les performances des applications en utilisant les fonctionnalités d'IronPDF et d'OpenTelemetry.NET. Nous explorerons les caractéristiques et les avantages des deux technologies et montrerons comment elles peuvent fonctionner ensemble harmonieusement pour optimiser la création et la surveillance des PDF dans les applications .NET.

Qu'est-ce qu'OpenTelemetry ?

OpenTelemetry est un cadre d'observabilité neutre vis-à-vis des fournisseurs, créé spécialement pour les applications cloud-native. L'instrumentation automatique d'OpenTelemetry fournit une API unique pour recueillir des informations de télémétrie, y compris des logs, des traces et des métriques. Grâce à ces données exhaustives, les développeurs peuvent résoudre efficacement les problèmes, identifier les goulots d'étranglement en matière de performances et obtenir une compréhension complète du comportement du programme. OpenTelemetry prend en charge à la fois l'instrumentation automatique et manuelle pour une collecte de données de télémétrie complète et flexible.

Éléments clés d'OpenTelemetry

  • API : Pour instrumenter les applications et générer des données de télémétrie, OpenTelemetry spécifie un ensemble standardisé d'API. Cela simplifie la procédure d'instrumentation et garantit la cohérence entre différents langages de programmation.
  • Kits de développement logiciel (SDK) : Pour l'instrumentation des applications, OpenTelemetry propose des SDK adaptés à certains langages. Les développeurs peuvent facilement intégrer la fonctionnalité OpenTelemetry dans leurs projets .NET à l'aide du SDK .NET.
  • Exportateurs : Ces composants sont chargés de transmettre les données de télémétrie collectées aux systèmes back-end afin qu'elles puissent être stockées et analysées. De nombreux exportateurs de systèmes backend largement utilisés, tels que Zipkin (traçage), Prometheus (métriques) et Jaeger (traçage), sont pris en charge par OpenTelemetry.
  • Instrumentation automatique : cette méthode simplifie le processus pour les applications .NET Core . Les bibliothèques OpenTelemetry peuvent automatiquement capturer des données pour des opérations courantes au sein de votre application web ou service. Cela élimine les modifications manuelles de code, rationalisant ainsi le processus d'intégration.
  • Instrumentation manuelle : Pour un contrôle précis de la collecte de données, OpenTelemetry fournit une API robuste pour l'instrumentation manuelle. Cette approche vous permet de capturer des métriques et des traces spécifiques liées à la logique unique de votre application. Elle est particulièrement utile pour les applications .NET Framework ou dans des scénarios où l'instrumentation automatique ne couvre pas vos besoins spécifiques.

Avantages de l'utilisation d'OpenTelemetry dans .NET

L'intégration d'OpenTelemetry dans vos applications .NET offre plusieurs avantages :

  • Neutralité vis-à-vis des fournisseurs : OpenTelemetry offre flexibilité et pérennise votre application en s'intégrant sans effort à divers systèmes backend. Votre code d'instrumentation n'a pas besoin d'être modifié pour changer de systèmes de backend.
  • Approche standardisée : L'instrumentation des différentes zones de votre application est facilitée par l'API uniforme. Les développeurs peuvent utiliser la même API pour collecter des logs, des traces et des métriques, ce qui réduit la lisibilité et la maintenance du code.
  • Analyse approfondie des performances : OpenTelemetry offre une multitude de données (métriques, traces et journaux) pour une analyse complète des performances. Vous pouvez identifier des opportunités d'optimisation et déterminer la source sous-jacente des problèmes grâce à cette perspective globale.
  • Dépannage amélioré : les développeurs peuvent détecter et corriger plus facilement les problèmes en suivant le cheminement des requêtes à travers votre application grâce aux données de traçage détaillées capturées par OpenTelemetry.
  • Évolutivité améliorée : la complexité de votre application n'entravera pas la capacité d'OpenTelemetry à évoluer. De nouvelles fonctionnalités ou services peuvent être facilement instrumentés sans nécessiter de modifications de code importantes.

Créer et configurer OpenTelemetry

Configurer OpenTelemetry dans l'application ASP.NET

OpenTelemetry doit être configuré dans votre application ; pour les applications ASP.NET Core, cela se fait généralement dans la méthode ConfigureServices de votre fichier Startup.cs. Voici une illustration de la configuration d'un exportateur Jaeger :

using OpenTelemetry.Trace;
using OpenTelemetry.Exporter.Jaeger;
using OpenTelemetry.Resources;

public void ConfigureServices(IServiceCollection services)
{
    // Configure OpenTelemetry
    services.AddOpenTelemetry().WithTracing(builder =>
    {
        // Configure Jaeger exporter. The 'serviceName' can be read from environment variables
        builder
            .SetResourceBuilder(
                ResourceBuilder.CreateDefault()
                    .AddService("YourServiceName"))
            .AddAspNetCoreInstrumentation()
            .AddJaegerExporter(opt =>
            {
                opt.AgentHost = "localhost"; // Jaeger agent host
                opt.AgentPort = 14250; // Jaeger agent port
            });
    });
    // Other service configurations...
}

Remplacez "YourServiceName" par le nom réel de votre service. Ajustez l'hôte et le port de l'agent Jaeger selon vos options de configuration Jaeger.

Ajouter le middleware OpenTelemetry

Vous devez inclure le middleware OpenTelemetry dans les applications ASP.NET Core pour obtenir l'instrumentation automatique des requêtes HTTP entrantes. Dans la méthode Configure de votre fichier Startup.cs, ajoutez le middleware :

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    // Add Prometheus metrics middleware if using Prometheus
    app.UseHttpMetrics();
    // Other middleware configurations...
}

Commencer le traçage

Après avoir tout configuré, OpenTelemetry commencera à suivre les requêtes HTTP entrantes et à envoyer automatiquement des informations de télémétrie au backend Jaeger configuré.

Vérifier et surveiller

Vous pouvez vérifier les traces dans votre backend Jaeger pour confirmer qu'OpenTelemetry fonctionne correctement. Ouvrez l'interface utilisateur de Jaeger (généralement disponible à http://localhost:16686 pour l'interface utilisateur de Jaeger) et recherchez les traces associées à votre service.

Choisir un système de backend (optionnel)

OpenTelemetry n'est pas indispensable pour l'instrumentation de base, mais il s'intègre à d'autres systèmes d'exploitation de backend pour stocker et traiter les données de télémétrie. Les options populaires sont constituées des systèmes d'exploitation officiellement pris en charge :

  • Jaeger (traces)
  • Prometheus (métriques)
  • Zipkin (traces)

Commencer

Qu'est-ce qu'IronPDF ?

Le populaire package .NET IronPDF vous permet de créer, modifier et rendre des documents PDF au sein de programmes .NET. Les fonctions de travail avec les PDF sont nombreuses et incluent la conversion de pages HTML en PDF, l'extraction de texte et d'images de fichiers PDF, l'ajout de texte, d'images et de formes aux documents PDF préexistants, et la production de PDF à partir de contenu HTML, de photos ou de données brutes.

Deux des principaux avantages d'IronPDF sont sa facilité d'utilisation et sa simplicité. Les développeurs peuvent commencer à créer des PDF dans leurs projets .NET sans effort grâce à son API intuitive et à sa documentation complète. L'efficacité et la rapidité d'IronPDF sont des caractéristiques supplémentaires qui aident les développeurs à créer des documents PDF de haute qualité rapidement et efficacement.

Quelques-uns des avantages d'IronPDF :

  • Production de PDF à partir de HTML, d'images et de données brutes
  • Extraction de texte et d'images à partir de fichiers PDF
  • Incorporer des filigranes, des en-têtes et des pieds de page dans des fichiers PDF
  • Les fichiers PDF sont protégés par un cryptage et un mot de passe
  • La capacité de signer électroniquement et de remplir des formulaires

Installer le package NuGet

Plusieurs packages NuGet sont disponibles pour différents composants d'OpenTelemetry. Selon vos besoins, vous pouvez installer les packages requis. Pour envoyer des données de télémétrie à un backend d'observabilité (tel que Jaeger, Zipkin ou Prometheus), vous aurez au moins besoin du package OpenTelemetry, des packages d'instrumentation pour votre framework d'application (comme ASP.NET Core), et d'un package d'exporteur. Assurez-vous également que le package IronPDF est installé dans votre projet. Pour l'installer, utilisez la console du gestionnaire de packages NuGet :

Install-Package OpenTelemetry
Install-Package OpenTelemetry.Instrumentation.AspNetCore
Install-Package OpenTelemetry.Exporter.Jaeger
Install-Package IronPdf
PowerShell

Utiliser OpenTelemetry avec IronPDF

Ouvrez le fichier Startup.cs de votre application ASP.NET Core pour accéder à la méthode ConfigureServices. Pour configurer IronPDF, incluez le code suivant.

using IronPdf;

public void ConfigureServices(IServiceCollection services)
{
    // Configure IronPDF
    services.AddSingleton<HtmlToPdf>();
    // Other service configurations...
}

Ce code garantit qu'une instance de HtmlToPdf est créée et utilisée par l'application uniquement en configurant le service HtmlToPdf d'IronPDF en tant que singleton.

Vous pouvez suivre et observer les processus de génération de PDF dans vos applications .NET en intégrant OpenTelemetry.NET avec IronPDF. Examinons en profondeur l'exemple de code, en passant en revue chaque étape :

using Microsoft.AspNetCore.Mvc;
using OpenTelemetry.Trace;
using System.Diagnostics;
using Microsoft.Extensions.Logging;
using IronPdf;

namespace DemoWebApplication.Controllers
{
    [ApiController]
    [Route("[controller]")]
    public class DemoController : ControllerBase
    {
        private readonly HtmlToPdf _htmlToPdf;
        private readonly ILogger<DemoController> _logger;
        private readonly Tracer _tracer;

        public DemoController(ILogger<DemoController> logger, HtmlToPdf htmlToPdf, TracerProvider tracerProvider)
        {
            _tracer = tracerProvider.GetTracer("Demo");
            _htmlToPdf = htmlToPdf;
            _logger = logger;
        }

        [HttpGet]
        public FileContentResult Generate()
        {
            // Define the PDF file name
            string fileName = "Sample.pdf";

            // Generate PDF from HTML content
            _logger.LogInformation("Generating PDF...");
            var pdfBytes = GeneratePdf("Hello, IronPDF!");

            // Return the PDF as a file result
            return new FileContentResult(pdfBytes, "application/pdf")
            {
                FileDownloadName = fileName
            };
        }

        private byte[] GeneratePdf(string htmlContent)
        {
            // Start a tracing activity for PDF generation
            using (var activity = _tracer.StartActiveSpan("PDF Generation"))
            {
                var pdfDocument = _htmlToPdf.RenderHtmlAsPdf(htmlContent);

                // Log PDF generation
                _logger.LogInformation("PDF generated successfully.");

                return pdfDocument.BinaryData;
            }
        }
    }
}

Dans cet exemple :

  • Nous injectons le HtmlToPdf, ILogger et TracerProvider dans le DemoController.
  • La méthode Generate démarre un téléchargement de fichier, retournant un PDF créé dynamiquement avec le contenu " Hello, IronPDF ! ".
  • La méthode GeneratePdf utilise le HtmlToPdf.RenderHtmlAsPdf pour rendre le PDF et génère les données binaires du PDF.
  • Le code utilise OpenTelemetry pour tracer le processus de génération de PDF et enregistre les données de traçage.

Sortie PDF générée à partir du code source ci-dessus :

OpenTelemetry .NET (Comment ça marche pour les développeurs) : Figure 1 - Résultat généré à partir du code ci-dessus avec IronPDF et OpenTelemetry

Ci-dessous se trouve l'écran de la trace générée à partir de l'interface utilisateur de Jaeger :

OpenTelemetry .NET (Comment ça marche pour les développeurs) : Figure 2 - Trace de sortie générée à partir de l'interface utilisateur Jaeger

Conclusion

OpenTelemetry est un outil révolutionnaire pour l'optimisation des performances et la surveillance de la santé des applications .NET. Il offre aux développeurs une compréhension approfondie du fonctionnement interne de leurs applications en fournissant une méthode neutre vis-à-vis des fournisseurs et standardisée pour la collecte, l'analyse et l'exportation des données de télémétrie (métriques, traces et logs).

En intégrant OpenTelemetry.NET avec IronPDF, les développeurs peuvent améliorer les flux de travail de création de PDF et obtenir des informations sur les performances de leurs applications. En tirant parti de l'implémentation OpenTelemetry.NET pour instrumenter manuellement les processus de génération de PDF, les développeurs peuvent suivre les chemins d'exécution, surveiller les métriques de performance et identifier les zones nécessitant une optimisation. De plus, la collecte et l'analyse centralisées des métriques de surveillance sont rendues possibles en exportant les données de télémétrie vers des plateformes d'observabilité, permettant aux développeurs de préserver la santé de leurs applications et d'offrir une expérience utilisateur sans faille.

L'intégration de l'implémentation OpenTelemetry.NET et de l'IronPDF peut améliorer les flux de travail des développeurs pour la création de PDF et garantir la scalabilité, les performances et la fiabilité dans les applications .NET. L'intégration de ces technologies aide les développeurs à répondre aux besoins du développement logiciel moderne et à produire des résultats exceptionnels, que ce soit pour créer des factures, des rapports ou de la documentation.

Lorsqu'IronPDF est acheté en tant que package, il est proposé à un prix raisonnable et comprend une licence à vie. Le package offre une grande valeur à seulement $999, qui est un coût unique pour de nombreux systèmes. Il offre un support technique en ligne en continu aux titulaires de licence. Veuillez visiter le site Web Iron Software pour plus de détails sur les frais. Explorez les produits d'Iron Software pour en savoir plus sur les solutions qu'ils proposent.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise