IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

Introdução

Curtis Chau
Curtis Chau
Updated: 18 de janeiro de 2026

A criação de documentos PDF dinâmicos, ricos em dados e com grande volume de informações é uma exigência comum em muitos setores do desenvolvimento de software moderno. As empresas dependem muito da sua capacidade de gerar PDFs de alta qualidade rapidamente, seja para criar faturas, relatórios ou documentação. No entanto, monitorar e compreender a eficácia dos processos de produção de PDFs torna-se essencial para preservar a integridade dos aplicativos e garantir a satisfação do usuário à medida que se tornam mais complexos e de grande escala.

Este artigo tem como objetivo discutir como os desenvolvedores podem aprimorar as operações de geração de PDFs e fornecer informações importantes sobre o desempenho do aplicativo, utilizando os recursos do IronPDF e do OpenTelemetry .NET. Vamos explorar as características e vantagens de ambas as tecnologias e mostrar como elas podem funcionar em harmonia para otimizar a criação e o monitoramento de PDFs em aplicações .NET .

O que é OpenTelemetry?

O OpenTelemetry é uma estrutura de observabilidade independente de fornecedor, criada especialmente para aplicativos nativos da nuvem. A instrumentação automática do OpenTelemetry fornece uma API única para coletar informações de telemetria, incluindo logs, rastreamento e métricas. Com o uso desses dados abrangentes, os desenvolvedores podem depurar problemas com eficácia, identificar gargalos de desempenho e obter uma compreensão completa do comportamento do programa. O OpenTelemetry oferece suporte à instrumentação automática e manual para uma coleta de dados de telemetria abrangente e flexível.

Componentes principais do OpenTelemetry

  • API: Para instrumentar aplicações e gerar dados de telemetria, o OpenTelemetry especifica um conjunto padronizado de APIs. Isso simplifica o procedimento de instrumentação e garante consistência entre diversas linguagens de programação.
  • SDKs: Para instrumentação de aplicações, o OpenTelemetry oferece SDKs específicos para determinadas linguagens. Os desenvolvedores podem incorporar facilmente a funcionalidade do OpenTelemetry em seus projetos .NET com a ajuda do SDK do .NET .
  • Exportadores: Essas partes são responsáveis ​​por transmitir os dados de telemetria coletados para os sistemas de back-end, para que possam ser armazenados e analisados. O OpenTelemetry oferece suporte a diversos exportadores de sistemas de backend amplamente utilizados, como Zipkin (rastreamento), Prometheus (métricas) e Jaeger (rastreamento).
  • Instrumentação automática: Este método simplifica o processo para aplicações .NET Core . As bibliotecas OpenTelemetry podem capturar automaticamente dados para operações comuns em seu aplicativo ou serviço web. Isso elimina modificações manuais no código, simplificando o processo de integração.
  • Instrumentação manual: Para um controle preciso da coleta de dados, o OpenTelemetry oferece uma API robusta para instrumentação manual. Essa abordagem permite capturar métricas e rastreamentos específicos relacionados à lógica exclusiva do seu aplicativo. É particularmente útil para aplicações .NET Framework ou cenários onde a instrumentação automática não atende às suas necessidades específicas.

Benefícios de usar o OpenTelemetry no .NET

A integração do OpenTelemetry em suas aplicações .NET oferece diversas vantagens:

  • Neutralidade de fornecedores: O OpenTelemetry oferece flexibilidade e prepara sua aplicação para o futuro, integrando-se facilmente a uma variedade de sistemas de back-end. Seu código de instrumentação não precisa ser alterado para trocar de sistema de backend.
  • Abordagem padronizada: A instrumentação de diversas áreas da sua aplicação é facilitada pela API uniforme. A mesma API pode ser usada pelos desenvolvedores para coletar logs, rastreamentos e métricas, resultando em um código mais fácil de ler e manter.
  • Análise de desempenho detalhada: O OpenTelemetry oferece uma grande quantidade de dados (métricas, rastreamentos e registros) para uma análise de desempenho abrangente. Com essa perspectiva abrangente, você pode identificar áreas para otimização e determinar a origem dos problemas.
  • Melhor resolução de problemas: os desenvolvedores podem detectar e corrigir problemas com mais facilidade, acompanhando o fluxo de solicitações em seu aplicativo usando os dados de rastreamento detalhados que o OpenTelemetry captura.
  • Escalabilidade aprimorada: a complexidade da sua aplicação não impedirá a capacidade de escalabilidade do OpenTelemetry. Novos recursos ou serviços podem ser facilmente implementados sem a necessidade de grandes modificações no código.

Criar e configurar o OpenTelemetry

Configure o OpenTelemetry em uma aplicação ASP.NET.

O OpenTelemetry precisa ser configurado em sua aplicação; para aplicativos ASP.NET Core, isso geralmente é feito no método ConfigureServices do seu arquivo Startup.cs. Esta é uma ilustração de uma configuração do exportador 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...
}

Substitua "YourServiceName" pelo nome real do seu serviço. Ajuste o host e a porta do agente Jaeger de acordo com suas opções de configuração do Jaeger.

Adicionar Middleware OpenTelemetry

Você precisa incluir o middleware OpenTelemetry em aplicativos ASP.NET Core para obter a instrumentação automática de solicitações HTTP recebidas. No método Configure do seu arquivo Startup.cs, adicione o middleware:

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

Comece a rastrear

Após a configuração inicial, o OpenTelemetry começará a rastrear as solicitações HTTP recebidas e a enviar informações de telemetria para o backend Jaeger configurado automaticamente.

Verificar e monitorar

Você pode verificar os registros no seu backend Jaeger para confirmar se o OpenTelemetry está funcionando corretamente. Abra a interface de usuário do Jaeger (geralmente disponível em http://localhost:16686 para UI do Jaeger) e procure por traços associados ao seu serviço.

Escolha um sistema de backend (opcional)

O OpenTelemetry não é imprescindível para instrumentação básica, mas integra-se com outros sistemas operacionais de backend para armazenar e processar dados de telemetria. As opções mais populares consistem nos sistemas operacionais oficialmente suportados:

  • Jaeger (rastreamento)
  • Prometeu (métricas)
  • Zipkin (traçado)

Começando

O que é o IronPDF?

O popular pacote .NET IronPDF permite criar, editar e renderizar documentos PDF em programas .NET . As funções para trabalhar com PDFs são numerosas e incluem converter páginas HTML em PDFs, extrair texto e imagens de PDFs, adicionar texto, imagens e formas a documentos PDF preexistentes e produzir PDFs a partir de conteúdo HTML, fotos ou dados brutos.

Duas das principais vantagens do IronPDF são a sua facilidade de uso e simplicidade. Graças à API intuitiva e à documentação completa, os desenvolvedores podem começar a criar PDFs em seus projetos .NET sem esforço. A eficiência e a velocidade do IronPDF são características adicionais que ajudam os desenvolvedores a criar documentos PDF de alta qualidade de forma rápida e eficiente.

Algumas das vantagens do IronPDF:

  • Produção de PDFs a partir de HTML, imagens e dados brutos
  • Extrair texto e imagens de arquivos PDF
  • Incorpore marcas d'água, cabeçalhos e rodapés em arquivos PDF. Os arquivos PDF são protegidos por criptografia e senha.
  • A possibilidade de assinar e preencher formulários eletronicamente.

Instale o pacote NuGet

Vários pacotes NuGet estão disponíveis para diferentes componentes do OpenTelemetry. Dependendo das suas necessidades, você pode instalar os pacotes necessários. Para enviar dados de telemetria para um backend de observabilidade (como Jaeger, Zipkin ou Prometheus), você precisará, no mínimo, do pacote OpenTelemetry, de pacotes de instrumentação para a estrutura do seu aplicativo (como ASP.NET Core) e de um pacote exportador. Além disso, certifique-se de que o pacote IronPDF esteja instalado em seu projeto. Para instalá-lo, utilize o Console do Gerenciador de Pacotes NuGet :

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

Utilizando OpenTelemetry com IronPDF

Abra o arquivo Startup.cs do seu aplicativo ASP.NET Core para acessar o método ConfigureServices. Para configurar o IronPDF, inclua o código a seguir.

using IronPdf;

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

Este código garante que uma instância de HtmlToPdf seja criada e usada pelo aplicativo apenas configurando o serviço HtmlToPdf do IronPDF como um singleton.

Você pode rastrear e observar os processos de geração de PDF em seus aplicativos .NET integrando o OpenTelemetry .NET ao IronPDF. Vamos examinar o exemplo de código em detalhes, analisando cada etapa passo a passo:

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;
            }
        }
    }
}

Neste exemplo:

  • Nós injetamos o HtmlToPdf, ILogger, e TracerProvider no DemoController.
  • O método Generate inicia um download de arquivo, retornando um PDF criado dinamicamente com o conteúdo "Hello, IronPDF!".
  • O método GeneratePdf usa o HtmlToPdf.RenderHtmlAsPdf para renderizar o PDF e gera os dados binários do PDF.
  • O código utiliza o OpenTelemetry para rastrear o processo de geração do PDF e registra os dados de rastreamento.

Resultado em PDF gerado a partir do código-fonte acima:

OpenTelemetry .NET (Como Funciona Para Desenvolvedores): Figura 1 - Saída gerada a partir do código acima utilizando IronPDF e OpenTelemetry

Abaixo está a captura de tela do rastreamento gerado pela interface do usuário do Jaeger:

OpenTelemetry .NET (Como Funciona Para Desenvolvedores): Figura 2 - Rastreio de saída gerado a partir do Jaeger UI

Conclusão

O OpenTelemetry é um divisor de águas para a otimização do desempenho e o monitoramento da integridade de aplicações .NET . Isso proporciona aos desenvolvedores uma compreensão completa do funcionamento interno de seus aplicativos, oferecendo um método padronizado e independente de fornecedores para coletar, analisar e exportar dados de telemetria (métricas, rastreamentos e registros).

Ao integrar o OpenTelemetry .NET com o IronPDF, os desenvolvedores podem aprimorar os fluxos de trabalho para a criação de PDFs e obter informações sobre o desempenho de seus aplicativos. Ao utilizar a implementação OpenTelemetry .NET para instrumentar manualmente os processos de geração de PDFs, os desenvolvedores podem rastrear os caminhos de execução, monitorar as métricas de desempenho e identificar regiões que precisam de otimização. Além disso, a coleta e análise centralizadas de métricas de monitoramento são viabilizadas pela exportação de dados de telemetria para plataformas de observabilidade, permitindo que os desenvolvedores preservem a integridade de seus aplicativos e ofereçam uma experiência de usuário impecável.

A integração da implementação OpenTelemetry .NET com o IronPDF pode aprimorar os fluxos de trabalho dos desenvolvedores na criação de PDFs e garantir escalabilidade, desempenho e confiabilidade em aplicações .NET . A integração dessas tecnologias ajuda os desenvolvedores a atender às necessidades do desenvolvimento de software moderno e a produzir resultados excelentes, seja na criação de faturas, relatórios ou documentação.

Quando adquirido em pacote, o IronPDF tem um preço justo e inclui uma licença vitalícia. O pacote oferece um ótimo valor por apenas $999, que é uma taxa única para muitos sistemas. Oferece aos titulares de licença suporte técnico online 24 horas por dia, 7 dias por semana. Por favor, visite o site da Iron Software para obter mais detalhes sobre a cobrança. Explore os produtos da Iron Software para saber mais sobre as soluções que ela oferece.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.