.NETヘルプ Opentelemetry C#(開発者向けの動作方法) Jacob Mellor 更新日:2025年7月28日 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる Grokで開く このページについてGrokに質問する 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る OpenTelemetryは、トレース、メトリクス、ログなどのテレメトリデータをアプリケーションから収集、処理、エクスポートするためのツール、API、SDKのセットです。 このチュートリアルは、初心者がOpenTelemetryをC#アプリケーションに統合する方法を理解するのに役立ち、.NETアプリケーションを効果的に監視するための組み込みメトリクス収集に焦点を当てています。 さらに、C#でのPDF生成のためのIronPDFライブラリについて学びます。 OpenTelemetryの紹介 OpenTelemetryは、アプリケーションからさまざまなデータを収集するための統一された方法を提供します。 .NET開発者にとって、OpenTelemetryを統合することは、アプリケーションの監視をより密接に行い、リアルタイムでのパフォーマンスを理解し、問題を迅速に特定することを意味します。 OpenTelemetryのインスツルメンテーションライブラリは、.NETアプリのトレーシングとメトリクス収集を自動的に有効にします。 OpenTelemetryフレームワークで収集されたメトリクスにより、開発者は.NETランタイム環境に関する貴重な洞察を得ることができます。 OpenTelemetry .NET実装は、.NET Coreや.NET Frameworkを含む.NETランタイムをサポートしています。 標準化されたテレメトリデータ収集のためのOpenTelemetryプロトコルに準拠しています。 環境のセットアップ 始めるには、マシンに.NET SDKがインストールされている必要があります。Visual Studioを使用している場合は、.NET SDKが同梱されている可能性があります。 コマンドラインを開いて次のコマンドを実行することで、現在 for .NET SDKバージョンを確認できます: dotnet --version 次に、以下のコマンドを実行して新しい.NET Webプロジェクトを作成します: dotnet new web -o MyTelemetryApp cd MyTelemetryApp dotnet new web -o MyTelemetryApp cd MyTelemetryApp SHELL このコマンドは、ディレクトリMyTelemetryAppに新しいASP.NET Coreプロジェクトを作成します。 OpenTelemetryの統合 必要なパッケージの追加 最初に、プロジェクトに必要なOpenTelemetryパッケージを追加します。 ターミナルを開いてプロジェクトディレクトリに移動します。 次に、NuGet Package Manager CLIを使用して以下のパッケージをインストールします: dotnet add package OpenTelemetry -Version <version> dotnet add package OpenTelemetry.Extensions.Hosting -Version <version> dotnet add package OpenTelemetry.Instrumentation.AspNetCore -Version <version> dotnet add package OpenTelemetry.Exporter.Console -Version <version> dotnet add package OpenTelemetry -Version <version> dotnet add package OpenTelemetry.Extensions.Hosting -Version <version> dotnet add package OpenTelemetry.Instrumentation.AspNetCore -Version <version> dotnet add package OpenTelemetry.Exporter.Console -Version <version> SHELL を各パッケージの最新バージョンに置き換えます。 アプリケーションでのOpenTelemetryの設定 必要なパッケージを追加した後、アプリケーションでOpenTelemetryを設定する必要があります。 これには、OpenTelemetry SDKを設定し、収集するテレメトリデータを指定することが含まれます。 OpenTelemetryは、.NETアプリケーションとのシームレスな統合のためのインスツルメンテーションライブラリを提供します。 プロジェクトのStartup.csファイルを開き、以下のコードスニペットのようにConfigureServicesメソッドを修正して、OpenTelemetryを含めます: public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddOpenTelemetryTracing(builder => { builder.AddAspNetCoreInstrumentation() .AddHttpClientInstrumentation() .AddConsoleExporter(); }); } public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddOpenTelemetryTracing(builder => { builder.AddAspNetCoreInstrumentation() .AddHttpClientInstrumentation() .AddConsoleExporter(); }); } $vbLabelText $csharpLabel このコードスニペットは、ASP.NET CoreアプリケーションおよびHTTPクライアントからのテレメトリデータを収集し、コンソールにエクスポートするためのOpenTelemetryの設定方法を示しています。 AddAspNetCoreInstrumentationメソッドは、ASP.NET Coreアプリへの着信HTTPリクエストのインスツルメンテーションを自動的に有効にします。 メトリクスの収集 メトリクスを収集するには、OpenTelemetry Metrics APIを設定する必要があり、トレースではなくメトリクスに焦点を当てます。 public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddOpenTelemetryMetrics(builder => { builder.AddAspNetCoreInstrumentation() .AddHttpClientInstrumentation() .AddConsoleExporter(options => options.Targets = ConsoleExporterOutputTargets.Console); }); } public void ConfigureServices(IServiceCollection services) { services.AddControllers(); services.AddOpenTelemetryMetrics(builder => { builder.AddAspNetCoreInstrumentation() .AddHttpClientInstrumentation() .AddConsoleExporter(options => options.Targets = ConsoleExporterOutputTargets.Console); }); } $vbLabelText $csharpLabel このセットアップにより、ASP.NET CoreおよびHTTPクライアントのインスツルメンテーションから組み込みメトリクスを収集し、コンソールにエクスポートして簡単に表示できます。 カスタムメトリクスの作成 OpenTelemetryは多くの有用なメトリクスを自動的に収集しますが、アプリケーションに特化したカスタムメトリクスを収集したい場合もあります。 インスツルメンテーションライブラリが提供する拡張メソッドを使用することで、テレメトリを自動的に収集するだけでなく、開発者により詳細なメトリクス制御を提供します。 これを実現するには、コードを手動でインスツルメントしてカスタムメトリクスを作成し記録することができます。 var meter = new Meter("MyCustomMetrics", "1.0"); var counter = meter.CreateCounter<int>("custom_request_count", description: "Counts custom requests"); app.Use((context, next) => { counter.Add(1, new KeyValuePair<string, object>("path", context.Request.Path)); return next(); }); var meter = new Meter("MyCustomMetrics", "1.0"); var counter = meter.CreateCounter<int>("custom_request_count", description: "Counts custom requests"); app.Use((context, next) => { counter.Add(1, new KeyValuePair<string, object>("path", context.Request.Path)); return next(); }); $vbLabelText $csharpLabel このコードスニペットは、アプリケーションへのリクエストをカウントし、各メトリクスにリクエストパスをタグ付けするカスタムメトリクスを作成する方法を示しています。 OpenTelemetryが提供する拡張メソッドを活用することで、開発者はテレメトリデータ収集プロセスをより詳細に制御できます。 統合テスト コマンドラインまたはVisual Studioを使用してアプリケーションを実行します。 ウェブブラウザのURLにアクセスするか、curlのようなツールを使用して、アプリケーションにいくつかリクエストを行います。 コンソール出力に、トレースやメトリクスを含むテレメトリデータが表示されるはずです。 curl http://localhost:5000 curl http://localhost:5000 SHELL IronPDF の紹介 IronPDFは、C#開発者向けの強力なライブラリであり、.NETアプリケーション内で直接PDFドキュメントの生成、操作、レンダリングを可能にします。 この機能は、レポート、請求書、またはHTMLを使用してWebアプリケーションからのドキュメントベースの出力、サービス、デスクトップアプリの生成に特に便利です。IronPDFとOpenTelemetryを組み合わせることで、開発者はアプリケーション内のPDF生成プロセスのパフォーマンスと信頼性を監視し、スムーズなユーザーエクスペリエンスを確保できます。 IronPDF は HTML から PDF への変換に秀でており、元のレイアウトとスタイルを正確に保存します。 これは、レポート、請求書、ドキュメントなどの Web ベースのコンテンツから PDF を作成するのに最適です。 HTML ファイル、URL、または生の HTML 文字列のサポートにより、IronPDF は高品質な PDF ドキュメントを簡単に生成します。 using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } using IronPdf; class Program { static void Main(string[] args) { var renderer = new ChromePdfRenderer(); // 1. Convert HTML String to PDF var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"; var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent); pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf"); // 2. Convert HTML File to PDF var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath); pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf"); // 3. Convert URL to PDF var url = "http://ironpdf.com"; // Specify the URL var pdfFromUrl = renderer.RenderUrlAsPdf(url); pdfFromUrl.SaveAs("URLToPDF.pdf"); } } $vbLabelText $csharpLabel IronPDFのセットアップ 最初に、.NETプロジェクトにIronPDFを追加する必要があります。 これをNuGet Package Managerを使用して行うことができます。 ターミナルを開いてプロジェクトディレクトリに移動します。 次に、IronPDFをインストールするために、以下のコマンドを実行します: dotnet add package IronPDF dotnet add package IronPDF SHELL IronPDFでPDFを生成し、OpenTelemetryで監視する 以下は、簡単なPDFドキュメントを生成し、OpenTelemetryを使用して操作を監視する例です。 以下の例は、前述のようにアプリケーションでOpenTelemetryを設定したことを前提としています。 using IronPdf; using OpenTelemetry.Trace; public class PdfService { private readonly Tracer _tracer; public PdfService(Tracer tracer) { _tracer = tracer; } public void GeneratePdf() { // Create a new activity for this operation using var activity = _tracer.StartActivity("Generate PDF"); // Simulate adding some attributes related to the operation activity?.SetTag("pdf.size", "A4"); activity?.SetTag("pdf.content", "Hello World"); try { // Initialize the PDF generator var renderer = new ChromePdfRenderer(); // Generate a PDF from HTML var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Save the PDF to a file var outputPath = "output.pdf"; pdf.SaveAs(outputPath); // Log success activity?.SetTag("pdf.status", "Success"); activity?.SetTag("pdf.outputPath", outputPath); } catch (Exception ex) { // Log any exceptions that occur during PDF generation activity?.SetTag("pdf.status", "Error"); activity?.SetTag("pdf.error", ex.Message); throw; } } } using IronPdf; using OpenTelemetry.Trace; public class PdfService { private readonly Tracer _tracer; public PdfService(Tracer tracer) { _tracer = tracer; } public void GeneratePdf() { // Create a new activity for this operation using var activity = _tracer.StartActivity("Generate PDF"); // Simulate adding some attributes related to the operation activity?.SetTag("pdf.size", "A4"); activity?.SetTag("pdf.content", "Hello World"); try { // Initialize the PDF generator var renderer = new ChromePdfRenderer(); // Generate a PDF from HTML var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); // Save the PDF to a file var outputPath = "output.pdf"; pdf.SaveAs(outputPath); // Log success activity?.SetTag("pdf.status", "Success"); activity?.SetTag("pdf.outputPath", outputPath); } catch (Exception ex) { // Log any exceptions that occur during PDF generation activity?.SetTag("pdf.status", "Error"); activity?.SetTag("pdf.error", ex.Message); throw; } } } $vbLabelText $csharpLabel この例では、PDFドキュメントを生成するためのメソッドGeneratePdfを含む新しいサービスクラスPdfServiceを作成します。 HTMLをPDFドキュメントとしてレンダリングするために、IronPDFのChromePdfRendererクラスを使用します。 OpenTelemetryを使用して、この操作を監視するために"Generate PDF"という新しいアクティビティを開始します。 PDF生成プロセスに関する追加のコンテキストを提供するために、PDFのサイズ、コンテンツタイプ、出力パスなどのカスタムタグをアクティビティに追加します。 また、同じアクティビティ内でエラーを適切にログに記録するために例外をキャッチします。 結論 .NETアプリケーションにOpenTelemetryを統合すると、アプリケーションのパフォーマンスと動作に関する貴重なテレメトリデータを収集できます。 このチュートリアルで説明されている手順に従って、.NET Webアプリケーションの基本的なトレースとメトリクス収集を設定しました。 テレメトリデータを外部のモニタリングツールにエクスポートしたり、トレースやメトリクスに加えてログを収集したりするなど、OpenTelemetryの高度な機能を探求してさらに実験してください。 IronPDFは、その完全な機能を試すためにIronPDFの無料トライアルを提供しています。 ライセンスは$399からです。 よくある質問 C#開発におけるOpenTelemetryの目的は何ですか? OpenTelemetryは、トレース、メトリクス、ログなどのテレメトリーデータを収集、処理、エクスポートするための統一されたアプローチを提供し、開発者がリアルタイムでアプリケーションのパフォーマンスを監視し、理解することを可能にします。 C#アプリケーションにOpenTelemetryを統合し始めるにはどうすればよいですか? 最初にNuGetを介して必要なOpenTelemetryパッケージをインストールし、次に'Startup.cs'の'ConfigureServices'メソッドを変更してOpenTelemetryのトレーシングとメトリクスを含めることでアプリケーションを設定します。 C#でのOpenTelemetryの環境をセットアップするために必要な手順は何ですか? .NET SDKがマシンにインストールされていることを確認します。dotnet --versionをコマンドラインで実行してインストールを確認できます。 HTMLコンテンツを使用してC#でPDFを生成するにはどうすればよいですか? IronPDFライブラリのChromePdfRendererクラスを使用してHTMLをPDFドキュメントとしてレンダリングし、その後SaveAsメソッドを使用して生成されたPDFを保存できます。 C#アプリケーションでPDF生成プロセスを監視するにはどうすればよいですか? OpenTelemetryのTracerを使用してPDF生成のアクティビティを作成し、モニタリングのためにプロセスに関する関連情報をログに記録するカスタムタグを追加します。 カスタムメトリクスとは何で、C#でOpenTelemetryと共にどのように使用できますか? カスタムメトリクスは、OpenTelemetryのMeterとCounterクラスを使用してコードに手動でインストルメンテーションを施すことにより収集できるアプリケーション固有のデータポイントです。 C#で信頼性の高いPDF生成を確保するにはどうすればよいですか? IronPDFライブラリを使用してPDFドキュメントを生成、操作、およびレンダリングします。IronPDFは、アプリケーションで高品質なPDF出力を確保するための堅牢な機能を提供します。 C#でのPDF生成を支援するライブラリに利用可能なライセンスオプションはありますか? IronPDFは、$399から始まるライセンスで試用版を提供しており、開発者がその完全な機能を探求することができます。 C#アプリケーションでOpenTelemetry統合をテストするにはどうすればよいですか? アプリケーションを実行し、Webブラウザやcurlのようなツールを使用してリクエストを行い、その後、コンソールに出力されたトレースやメトリクスなどのテレメトリーデータを観察します。 Jacob Mellor 今すぐエンジニアリングチームとチャット 最高技術責任者(CTO) ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。彼の主要なIronPDFとIron Suite .NETライブラリは、世界中で3000万以上のNuGetインストールを達成し、彼の基礎となるコードは世界中で使用されている開発者ツールに力を与え続けています。25年の商業経験と41年のコーディングの専門知識を持つJacobは、次世代の技術リーダーを指導しながら、エンタープライズグレードのC#、Java、Python PDFテクノロジーにおけるイノベーションの推進に注力しています。 関連する記事 更新日 2026年2月20日 CLIの簡素化と.NETの橋渡し:Curl DotNetとIronPDFを使う Jacob Mellorは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリ、CurlDotNetでこのギャップを埋めました。 詳しく読む 更新日 2025年12月20日 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む 更新日 2025年12月20日 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む C# Span(開発者向けの動作方法)C# WebRTC(開発者向けの動...
更新日 2026年2月20日 CLIの簡素化と.NETの橋渡し:Curl DotNetとIronPDFを使う Jacob Mellorは、.NETエコシステムにcURLの親しみやすさをもたらすために作成されたライブラリ、CurlDotNetでこのギャップを埋めました。 詳しく読む
更新日 2025年12月20日 RandomNumberGenerator C# RandomNumberGenerator C#クラスを使用すると、PDF生成および編集プロジェクトを次のレベルに引き上げることができます 詳しく読む
更新日 2025年12月20日 C# String Equals(開発者向けの仕組み) 強力なPDFライブラリであるIronPDFと組み合わせることで、switchパターンマッチングは、ドキュメント処理のためのよりスマートでクリーンなロジックを構築できます 詳しく読む