<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ブログ on OpenTelemetry</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/</link><description>Recent content in ブログ on OpenTelemetry</description><generator>Hugo</generator><language>ja</language><atom:link href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/index.xml" rel="self" type="application/rss+xml"/><item><title>OpenTelemetry JavaScript SDK 3.0 のリリース</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-js-sdk-3-0/</link><pubDate>Fri, 06 Nov 2026 11:32:20 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-js-sdk-3-0/</guid><description>&lt;p&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/languages/js/"&gt;OpenTelemetry JavaScript&lt;/a&gt; は SDK 3.0（&lt;a href="https://github.com/open-telemetry/opentelemetry-js/releases/tag/v3.0.0" target="_blank" rel="noopener" class="external-link"&gt;安定版 v3.0.0 パッケージ&lt;/a&gt; および &lt;a href="https://github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.300.0" target="_blank" rel="noopener" class="external-link"&gt;実験的 v0.300.0 パッケージ&lt;/a&gt;）と API &lt;a href="https://github.com/open-telemetry/opentelemetry-js/releases/tag/api%2Fv1.10.0" target="_blank" rel="noopener" class="external-link"&gt;1.10.0&lt;/a&gt; をリリースしました。&lt;/p&gt;&#10;&lt;div class="td-alert td-alert--md alert alert-note" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;マイグレーションガイド&lt;/div&gt;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;破壊的変更の詳細については、&lt;a href="https://github.com/open-telemetry/opentelemetry-js/blob/44be44c2ed8a1e0fb0fd06a2142fca49c0ebbec3/doc/3.x/migration-guide.md" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry JS SDK 3.x マイグレーションガイド&lt;/a&gt;を参照してください。&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;h2 id="what-is-js-sdk-3x"&gt;JS SDK 3.x とは&lt;a class="td-heading-self-link" href="#what-is-js-sdk-3x" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;JS SDK 3.x は、&lt;a href="https://github.com/open-telemetry/opentelemetry-js" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;opentelemetry-js&lt;/code&gt; リポジトリ&lt;/a&gt;から公開されている &lt;code&gt;@opentelemetry/*&lt;/code&gt; JavaScript パッケージの新しいリリースを包含するもので、API パッケージおよび semantic-conventions パッケージは除きます。&#10;この新しいメジャーバージョンのパッケージバージョンは、安定版が &lt;code&gt;&amp;gt;=3.0.0&lt;/code&gt;、不安定版が &lt;code&gt;&amp;gt;=0.300.0&lt;/code&gt; です。&#10;パッケージの完全な一覧については&lt;a href="https://github.com/open-telemetry/opentelemetry-js/blob/44be44c2ed8a1e0fb0fd06a2142fca49c0ebbec3/doc/3.x/migration-guide.md" target="_blank" rel="noopener" class="external-link"&gt;マイグレーションガイド&lt;/a&gt;を参照してください。&lt;/p&gt;&#10;&lt;p&gt;加えて、&lt;a href="https://github.com/open-telemetry/opentelemetry-js-contrib/tree/3c07d44fc3d9d890fc659e653acde418ee081c51/packages" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;opentelemetry-js-contrib&lt;/code&gt; リポジトリのすべてのパッケージ&lt;/a&gt;が JS SDK 3.x にアップグレードされ、リリースされました。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/otel/versioning-and-stability/#sdk-support"&gt;OpenTelemetry のガイドライン&lt;/a&gt;に従い、安定版 SDK パッケージの 2.x バージョンは 3.0.0 リリースから1年間サポートされます。&lt;/p&gt;&#10;&lt;h2 id="what-has-changed"&gt;変更点&lt;a class="td-heading-self-link" href="#what-has-changed" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;サポートされる Node.js の最小バージョンが &lt;code&gt;&amp;gt;=22.15.0&lt;/code&gt; に引き上げられました。&lt;/strong&gt;&#10;これは、Node.js 18 および 20 のサポートが廃止されたことを意味します。&lt;/li&gt;&#10;&lt;li&gt;すべてのパッケージが&lt;a href="https://github.com/open-telemetry/opentelemetry-js/blob/44be44c2ed8a1e0fb0fd06a2142fca49c0ebbec3/doc/3.x/migration-guide.md#-dual-cjsesm-exports" target="_blank" rel="noopener" class="external-link"&gt;&lt;strong&gt;適切な ES Module（ESM）および CommonJS エクスポート&lt;/strong&gt;&lt;/a&gt;を提供するようになりました。&#10;これにより、ESM やバンドラーを使用するユーザーにとって使い勝手が大幅に向上します。&lt;/li&gt;&#10;&lt;li&gt;OTEP 4485 に基づく&lt;strong&gt;複合属性&lt;/strong&gt;のサポートが API の一部（スパン属性、ログレコード属性など）に追加されました。&#10;API の一部では単純属性のみサポートされています（リソース属性、メトリクス属性など）。&#10;詳細は&lt;a href="https://github.com/open-telemetry/opentelemetry-js/blob/44be44c2ed8a1e0fb0fd06a2142fca49c0ebbec3/doc/3.x/migration-guide.md#-support-for-complex-attribute-values" target="_blank" rel="noopener" class="external-link"&gt;マイグレーションガイドの解説&lt;/a&gt;を参照してください。&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;@opentelemetry/api-logs&lt;/code&gt; パッケージが &lt;code&gt;@opentelemetry/api&lt;/code&gt; に統合されました。&#10;&lt;strong&gt;ログシグナルが安定版になりました！&lt;/strong&gt;&#10;ログの安定化により、OpenTelemetry の3つのシグナル（トレース、メトリクス、ログ）すべてが JavaScript で安定版となりました。&#10;この安定化については別途ブログ記事を投稿する予定です。&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-js/blob/44be44c2ed8a1e0fb0fd06a2142fca49c0ebbec3/doc/3.x/migration-guide.md#-opentelemetrysdk-trace-base-package-removed" target="_blank" rel="noopener" class="external-link"&gt;複数のトレーシング SDK パッケージが統合&lt;/a&gt;され、&lt;code&gt;@opentelemetry/sdk-trace&lt;/code&gt; パッケージにまとめられました。&#10;これにより、紛らわしい API が排除され、他のシグナルの SDK との一貫性が確保されました。&lt;/li&gt;&#10;&lt;li&gt;多くの非推奨パッケージが削除されました。&#10;&lt;code&gt;@opentelemetry/propagator-jaeger&lt;/code&gt;、&lt;code&gt;@opentelemetry/exporter-jaeger&lt;/code&gt;、&lt;code&gt;@opentelemetry/shim-opentracing&lt;/code&gt;、&lt;code&gt;@opentelemetry/shim-opencensus&lt;/code&gt; などが含まれます。&#10;完全な一覧についてはマイグレーションガイドを参照してください。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;パブリックインターフェイスが変更されました。&lt;/strong&gt;&#10;いくつかのパブリック型やクラス名が名前変更または移動されました。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;em&gt;API&lt;/em&gt; パッケージ（&lt;code&gt;@opentelemetry/api&lt;/code&gt;）には破壊的変更はありません。&#10;また、&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/zero-code/js/"&gt;ゼロコード計装&lt;/a&gt;で説明されているように &lt;code&gt;@opentelemetry/auto-instrumentations-node&lt;/code&gt; パッケージを使用しているユーザーは変更の必要はありません。&lt;/p&gt;</description></item><item><title>Keycloak のオブザーバビリティへの道のり：プロジェクトメンテナーのためのガイド</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/devex-keycloak/</link><pubDate>Wed, 04 Nov 2026 14:02:54 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/devex-keycloak/</guid><description>&lt;p&gt;Developer Experience SIG では、進行中のシリーズの一環として、OpenTelemetry の実際のデプロイメントについて組織にインタビューを行い、実践的な教訓をより広いコミュニティと共有しています。&#10;この記事では CNCF プロジェクトである &lt;a href="https://www.keycloak.org/" target="_blank" rel="noopener" class="external-link"&gt;Keycloak&lt;/a&gt; を取り上げ、出荷するソフトウェアにネイティブな OpenTelemetry サポートを追加するプロジェクトメンテナーの視点から、その道のりを見ていきます。&lt;/p&gt;&#10;&lt;p&gt;Identity and Access Management（IAM）ソリューションが必要になったことがあるなら、Keycloak が候補に挙がった可能性は高いでしょう。&#10;Keycloak は広く使われているコミュニティ主導のオープンソース IAM システムで、OpenID Connect（OIDC）、OAuth 2.0、SAML などの業界標準プロトコルを通じて、人間と人間以外のユーザーの両方を認証し、アプリケーションを保護します。&lt;/p&gt;&#10;&lt;p&gt;Keycloak チームの &lt;a href="https://github.com/mabartos" target="_blank" rel="noopener" class="external-link"&gt;Martin Bartoš&lt;/a&gt; と &lt;a href="https://github.com/ahus1" target="_blank" rel="noopener" class="external-link"&gt;Alexander Schwartz&lt;/a&gt; がシステムの本番運用への準備を改善しようとしたとき、彼らは「すぐに使える」オブザーバビリティ体験を思い描いていました。&#10;&lt;a href="https://quarkus.io/" target="_blank" rel="noopener" class="external-link"&gt;Quarkus&lt;/a&gt; Java フレームワークを基盤として、高リスクな認証フローでユーザーが信頼できるネイティブテレメトリーを目標としていました。&#10;しかし、スムーズな OpenTelemetry 統合への道のりは、メンテナーの道のりが新しいシグナルの実装と同じくらい、アーキテクチャ上のトレードオフに関わるものであることを明らかにしました。&lt;/p&gt;&#10;&lt;h2 id="when-native-beats-agents-lessons-from-the-java-world"&gt;ネイティブがエージェントに勝るとき：Java の世界からの教訓&lt;a class="td-heading-self-link" href="#when-native-beats-agents-lessons-from-the-java-world" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;最初の明らかな一手は &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/zero-code/java/agent/"&gt;OpenTelemetry Java エージェント&lt;/a&gt;でした。&#10;これは起動時にアタッチしてバイトコードをオンザフライで書き換えることで、あらゆる JVM アプリにトレーシングを導入するゼロコードの方法です。&#10;これにより、チームは OpenTelemetry の機能をすばやく試すことができましたが、コストはすぐに現れました。&#10;Keycloak の場合、それまで瞬時に起動していたものがエージェントによって起動時間が数十秒遅くなりました。&#10;これは Keycloak に限った問題ではありません。&#10;エージェントはアプリケーションがロードするすべてのクラスをスキャンし、場合によっては変換する必要があり、エージェントのメンテナーも&lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/8629" target="_blank" rel="noopener" class="external-link"&gt;この起動オーバーヘッドがこのアプローチに固有のものであることを確認しています&lt;/a&gt;。&#10;ユーザーからは起動時間がおよそ3分の1増加したとの報告があります。&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;「OpenTelemetry Java エージェントにより機能を試すことはできましたが、Keycloak の起動が非常に遅くなりました」と Alexander Schwartz はインタビューで述べました。&#10;「即座のパフォーマンスと迅速なスケーリングが重要なセキュリティに敏感なアプリケーションにとって、起動時間に数十秒を追加することは、サポートしたいことではありませんでした。」&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;チームはネイティブの Quarkus 統合に移行しました。&#10;これにより、必要なテレメトリーを維持しながら高速な起動を保つことができました。&#10;同様にパフォーマンスに敏感なアプリケーションのメンテナーにとって、汎用エージェントよりもネイティブフレームワークサポートを優先する価値があります。&lt;/p&gt;&#10;&lt;h2 id="integrating-the-signals-metrics-and-traces"&gt;シグナルの統合：メトリクスとトレース&lt;a class="td-heading-self-link" href="#integrating-the-signals-metrics-and-traces" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Keycloak のオブザーバビリティへの道のりはメトリクスから始まり、すぐに価値をもたらしましたが、チームはまもなく、トレーシングこそが詳細な根本原因分析に欠けていた要素であることに気づきました。&#10;データベースや LDAP のボトルネックを伴う複雑なフローでは、トレーシングがリクエストがどこで停滞しているかを正確に特定するために必要なコンテキストを提供しました。&#10;これらのシグナルをリンクする力が最も明確になったのはエグゼンプラーで、これにより開発者はメトリクスのスパイクから代表的なトレースに直接ジャンプでき、99パーセンタイルのレイテンシーをトラブルシューティングする時間を劇的に短縮しました。&lt;/p&gt;</description></item><item><title>Kubernetes attributes processor が v1.0.0 マイルストーンに到達</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/k8s-attributes-processor-v1/</link><pubDate>Mon, 02 Nov 2026 12:22:04 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/k8s-attributes-processor-v1/</guid><description>&lt;p&gt;Kubernetes メタデータでテレメトリーを拡充する &lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/42e6adb99d409af1935536652e633d49c98e77cd/processor/k8sattributesprocessor#kubernetes-attributes-processor" target="_blank" rel="noopener" class="external-link"&gt;Kubernetes attributes processor&lt;/a&gt; が、正式に v1.0.0 へ移行しました！&#10;カスタムディストロで試すことができ、最新の opentelemetry-collector-contrib および opentelemetry-collector-k8s ディストロリリースの一部としても利用可能です。&lt;/p&gt;&#10;&lt;p&gt;v1.0.0 であることは、このコンポーネントがテスト、ベンチマーク、ドキュメント、テレメトリーの安定性に関する要件を含む &lt;a href="https://github.com/open-telemetry/opentelemetry-collector/blob/7d1c25d46b14cce04a820d92a4ce462bf7a04b0b/docs/component-stability.md#stable" target="_blank" rel="noopener" class="external-link"&gt;&amp;lsquo;stable&amp;rsquo; 安定性基準&lt;/a&gt;を満たすことが検証されたことを意味します。&#10;また、API の破壊なしに Go ライブラリとして、またはバイナリの一部として再配布できることも保証されます。&lt;/p&gt;&#10;&lt;p&gt;変更内容と移行期間の管理方法については、&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/42e6adb99d409af1935536652e633d49c98e77cd/processor/k8sattributesprocessor#semantic-conventions-compatibility" target="_blank" rel="noopener" class="external-link"&gt;移行ガイド&lt;/a&gt;をお読みください。&lt;/p&gt;&#10;&lt;h2 id="how-we-got-here-and-what-comes-next"&gt;ここまでの経緯と今後の展望&lt;a class="td-heading-self-link" href="#how-we-got-here-and-what-comes-next" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;2025年後半から、OpenTelemetry Collector SIG は OpenTelemetry プロジェクトの &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2025/stability-proposal-announcement/"&gt;&amp;ldquo;Stable by Default&amp;rdquo;&lt;/a&gt; の取り組みの一環として、&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44130" target="_blank" rel="noopener" class="external-link"&gt;複数のコンポーネントの安定化&lt;/a&gt;に取り組んできました。&#10;これらの取り組みは、Collector ライブラリフレームワークの安定性を提供し、v1 Collector ディストロを生み出すための&lt;a href="https://github.com/open-telemetry/opentelemetry-collector/issues/9375" target="_blank" rel="noopener" class="external-link"&gt;既存の取り組み&lt;/a&gt;を補完し、継続しています。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-collector-follow-up-survey-analysis/"&gt;Collector のアンケート&lt;/a&gt;に対するエンドユーザーのフィードバックのおかげで、最もよく使われているコンポーネントと、安定性と信頼性がユーザーの最優先事項であることがわかりました。&#10;これにより、どのコンポーネントに注力すべきかが明確になり、ユーザーの期待に応えることを目指す&lt;a href="https://github.com/open-telemetry/opentelemetry-collector/blob/7d1c25d46b14cce04a820d92a4ce462bf7a04b0b/docs/component-stability.md#stable" target="_blank" rel="noopener" class="external-link"&gt;厳格な基準&lt;/a&gt;に重点を置いた安定化へのロードマップも明確になりました。&lt;/p&gt;&#10;&lt;p&gt;これらの基準を満たすことは容易ではありません。&#10;コンポーネントの安定化には、そのコンポーネントが依存するセマンティック規約や仕様の一部の安定化も伴うため、Collector SIG は K8s Semantic Conventions SIG、System Semantic Conventions SIG、Prometheus Interoperability SIG などの他の SIG と緊密に協力しています。&lt;/p&gt;&#10;&lt;p&gt;K8s Semantic Conventions SIG は&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/blog/2026/k8s-semconv-rc/"&gt;この依存関係を早期に発見し&lt;/a&gt;、2025年11月に対応する K8s セマンティック規約を&lt;a href="https://github.com/open-telemetry/semantic-conventions/issues/3120" target="_blank" rel="noopener" class="external-link"&gt;安定化するための集中的な作業を開始しました&lt;/a&gt;。&#10;2026年3月にこれらのセマンティック規約はリリース候補の状態に達し、2026年6月に &lt;a href="https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.42.0" target="_blank" rel="noopener" class="external-link"&gt;Semantic Conventions v1.42.0 で安定版として出荷されました&lt;/a&gt;。&lt;/p&gt;&#10;&lt;p&gt;これにより、Kubernetes attributes processor は安定した K8s 属性でテレメトリーを拡充できるようになり、コンポーネントのテレメトリーが今後も安定し続けることが保証されました。&#10;コンポーネントを安定性要件に適合させるための&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/44483" target="_blank" rel="noopener" class="external-link"&gt;長期にわたる作業&lt;/a&gt;とともに、コンポーネントは&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/49274" target="_blank" rel="noopener" class="external-link"&gt;卒業プロセスを経ました&lt;/a&gt;。&#10;このコンポーネントをすでに本番環境で使用しているエンドユーザーと、再配布しているベンダーからの数週間にわたるコミュニケーションと承認を経て、コンポーネントは v1.0.0 として承認されました。&lt;/p&gt;</description></item><item><title>OpenTelemetry eBPF Instrumentation が v1.0.0 に到達</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/obi-v1-release/</link><pubDate>Sat, 31 Oct 2026 10:18:31 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/obi-v1-release/</guid><description>&lt;p&gt;OpenTelemetry eBPF Instrumentation（OBI）の v1.0.0 を発表できることを嬉しく思います。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/zero-code/obi/"&gt;OBI&lt;/a&gt; は、ソースコードを変更することなく、実行中の Linux アプリケーションに OpenTelemetry のオブザーバビリティを提供します。&#10;OBI は eBPF とランタイム固有の計装を組み合わせて、サービス、言語、フレームワークを横断してアプリケーションのメトリクスとトレースをキャプチャします。&#10;リクエストレート、エラー、レイテンシー、サービス依存関係から始めて、ニーズの拡大に応じてより深い可視性を構築できます。&lt;/p&gt;&#10;&lt;p&gt;このリリースは、&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/obi-goals/"&gt;2026年に設定したフラッグシップ目標&lt;/a&gt;を達成するものです。&#10;OBI の安定した基盤を確立するという目標です。&#10;これは、計装カバレッジの拡大、正確性の向上、リリースツールの強化、そしてユーザーが OBI を長期的に運用するために必要な互換性とテレメトリー移行プラクティスの構築に費やした1年間の成果を反映しています。&lt;/p&gt;&#10;&lt;p&gt;ユーザーにとって最も重要な変更は予測可能性です。&#10;アップグレード時に何が起こるかを把握し、何かが変わったときにどう進めばよいかを知ることができます。&lt;/p&gt;&#10;&lt;p&gt;OBI 1.0 は、Config v2、その生成スキーマ、ドキュメント化されたデプロイインターフェイス、サポート対象環境を含む、設定とデプロイに関する&lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/blob/v1.0.0-rc.2/VERSIONING.md" target="_blank" rel="noopener" class="external-link"&gt;ドキュメント化された互換性コミットメント&lt;/a&gt;を確立します。&lt;/p&gt;&#10;&lt;p&gt;テレメトリーに関しては、OBI と OpenTelemetry が進化する中での信頼性の高い移行パスがコミットメントです。&#10;OBI は、安定したセマンティック規約に従うテレメトリーと、規約がまだ策定中のテレメトリーを混在して出力します。&#10;後者は、規約の成熟に伴い変更される可能性があります。&#10;また、安定した規約に従うテレメトリーの実際の動作が規約に準拠していない場合、そのバグも修正します。&lt;/p&gt;&#10;&lt;p&gt;この進化を管理しやすくするために、OBI はテレメトリーを &lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/tree/v1.0.0-rc.2/schemas/obi" target="_blank" rel="noopener" class="external-link"&gt;Weaver 互換のスキーマレジストリ&lt;/a&gt;で記述しています。&#10;&lt;a href="https://github.com/open-telemetry/weaver" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry Weaver&lt;/a&gt; は、テレメトリーを定義、検証し、従うべき規約に照らしてレビューするのに役立ちます。&#10;公開された&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/otel/schemas/"&gt;テレメトリースキーマ&lt;/a&gt;は、変更を表現できる場合にバージョン間の変換を記述し、追加の対応が必要な変更についてはリリースノートと移行ガイダンスで説明します。&lt;/p&gt;&#10;&lt;p&gt;ダッシュボード、アラート、処理パイプラインを管理するチームにとって、これはアップグレードを計画し、意図的に適応するための手段を提供します。&#10;テレメトリーの進化に伴い、定義、ツール、ガイダンスを備えた、サポートされた前進パスを提供することが約束です。&lt;/p&gt;&#10;&lt;p&gt;この基盤には、プロジェクト全体にわたる大幅な進展が伴っています。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;アプリケーション依存関係のより広い可視性。&lt;/strong&gt;&#10;1.0 に至るリリースを通じて、OBI は MQTT、NATS、AMQP 1.0、MSSQL、Couchbase、Memcached、Aerospike を含むシステムへの計装を追加しました。&#10;多様なテクノロジースタックを運用するチームにとって、これは1つの計装アプローチでデータベースとメッセージングのアクティビティを理解する機会が増えることを意味します。&#10;&lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/blob/v1.0.0-rc.2/SUPPORT_MATRIX.md" target="_blank" rel="noopener" class="external-link"&gt;サポートマトリクス&lt;/a&gt;には、各プロトコルのカバレッジ、トレース伝搬機能、制限事項が記載されています。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;より良いトレースとより有用なサービス詳細。&lt;/strong&gt;&#10;&lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/tag/v0.14.0" target="_blank" rel="noopener" class="external-link"&gt;HTTP/2 と gRPC の伝搬の改善&lt;/a&gt;により、既存の接続、多重化されたトラフィック、個々のストリームコンテキストの処理が強化されました。&#10;フレームワークルートの検出は Django、FastAPI、Flask、Rails、.NET、いくつかの PHP フレームワークに拡大しました。&#10;ルートテンプレートは、一意の URL をそれぞれ別のメトリクス系列にすることなく、遅いエンドポイントを区別するのに役立ちます。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;自動計装からアプリケーション固有のインサイトへのパス。&lt;/strong&gt;&#10;OBI は、&lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/tag/v0.11.0" target="_blank" rel="noopener" class="external-link"&gt;サポートされている OpenTelemetry Go Trace API と Auto SDK の設定&lt;/a&gt;を通じて、アプリケーションが作成したスパンをキャプチャできます。&#10;Node.js でも、登録された SDK がないアプリケーション向けに&lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/tag/v0.12.1" target="_blank" rel="noopener" class="external-link"&gt;オプトインの手動スパンキャプチャ&lt;/a&gt;が追加されました。&#10;これらの機能により、開発者は OBI が周囲の自動計装を提供しつつ、ビジネスオペレーションに関する詳細を追加できます（ドキュメント化されたランタイム要件に従います）。&lt;/p&gt;</description></item><item><title>独自の Collector をビルドして必要なリソース検出器だけを含める</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/collector-with-less-dependencies/</link><pubDate>Sat, 31 Oct 2026 07:15:59 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/collector-with-less-dependencies/</guid><description>&lt;p&gt;独自の OpenTelemetry Collector ディストリビューションをビルドする理由は数多くあります。&#10;既存のディストリビューションは幅広く役立つように設計されているため、個々のデプロイメントで使用するよりもはるかに多くのコンポーネントが含まれています。&#10;独自にビルドすることで、必要なコンポーネントだけを選択し、独自のカスタムコンポーネントを追加し、本番環境で実行するバイナリに含まれるものを正確にコントロールできます。&lt;/p&gt;&#10;&lt;p&gt;私が独自のディストリビューションをビルドすることを好む理由のひとつは、配布するバイナリのサイズを制限し、含まれる依存関係を最小限に抑えるためです。&#10;依存関係が少なければ、バイナリは小さくなり、攻撃対象領域も小さくなり、脆弱性が公開された際に追跡すべきサードパーティモジュールも少なくなります。&#10;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/collector/extend/ocb/"&gt;OpenTelemetry Collector Builder（ocb）&lt;/a&gt;がこれを可能にします。YAML でマニフェストファイルを書いて必要なコンポーネントを選択すると、ocb がそれらをコンパイルして最終的なバイナリを生成します。&lt;/p&gt;&#10;&lt;h2 id="resource-detectors"&gt;リソース検出器&lt;a class="td-heading-self-link" href="#resource-detectors" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;コンポーネントを制限するのは素晴らしいことですが、あるユーザーが&lt;a href="https://github.com/open-telemetry/opentelemetry-collector/issues/16075" target="_blank" rel="noopener" class="external-link"&gt;最近報告した&lt;/a&gt;ように、リソース検出器は使わない依存関係でバイナリのサイズを肥大化させる可能性があります。&#10;リソース検出器は、プロセスが生成するテレメトリーに&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/otel/resource/sdk/#resource-detector"&gt;リソース属性を自動的に注入する&lt;/a&gt;ために使用されます。&#10;クラウド環境では、アプリケーションやサービスのデプロイメントに関するできるだけ多くの情報を取得したい場合に非常に有用です。&lt;/p&gt;&#10;&lt;p&gt;問題は、異なる環境（さまざまなクラウドプロバイダー、コンテナランタイムなど）の検出器がそれぞれ独自の依存関係を持ち込むことです。&#10;リソース検出プロセッサーのようなリソース検出をサポートするコンポーネントを選択すると、たとえ1つの環境でしか実行しない場合でも、すべての検出器がコンパイルされます。&lt;/p&gt;&#10;&lt;p&gt;さらに、Collector はバージョン v0.128.0 以降、内部テレメトリーに &lt;a href="https://github.com/open-telemetry/opentelemetry-configuration/" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry Configuration Schema&lt;/a&gt; のサポートを含んでいます。&#10;これは &lt;a href="https://pkg.go.dev/go.opentelemetry.io/contrib/otelconf/v0.3.0" target="_blank" rel="noopener" class="external-link"&gt;otelconf&lt;/a&gt; パッケージを介して行われており、このパッケージもリソース検出器をサポートしています。&#10;このパッケージは、リソース検出プロセッサーが含まれていなくても Collector にコンパイルされます。&#10;これまで、マニフェストには「これらの検出器だけが必要」と指定する方法がありませんでした。&lt;/p&gt;&#10;&lt;h2 id="using-go-build-flags"&gt;Go ビルドフラグの使用&lt;a class="td-heading-self-link" href="#using-go-build-flags" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;ocb は通常の Go プログラムを生成するため、標準的な Go ツールで結果をすでにトリミングできます。&#10;たとえば、&lt;code&gt;-ldflags=&amp;quot;-s -w&amp;quot;&lt;/code&gt; でデバッグ情報とシンボルテーブルを除去し、&lt;code&gt;-trimpath&lt;/code&gt; でローカルファイルシステムのパスを削除すれば、バイナリのサイズが小さくなります。&#10;これらはすでに ocb のデフォルトであり、必要に応じてコマンドラインフラグで上書きできます。&lt;/p&gt;&#10;&lt;p&gt;ただし、これらのフラグはコンパイルされたものを縮小するだけです。&#10;バイナリがまだインポートしているコードを除去することはできないため、リソース検出器の問題は解決しません。&#10;ビルドタグはビルドからコードを除外できますが、依存先のコードがビルドタグを提供している場合に限ります。&#10;幸い、&lt;a href="https://github.com/open-telemetry/opentelemetry-go-contrib/pull/9818" target="_blank" rel="noopener" class="external-link"&gt;otelconf&lt;/a&gt; と&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/47218" target="_blank" rel="noopener" class="external-link"&gt;リソース検出プロセッサー&lt;/a&gt;の両方への更新により、検出器をコンパイル時に除外できるようになりました。&#10;たとえば、以下の設定はシステムリソース検出器を除外します。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;dist&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;module&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;github.com/open-telemetry/opentelemetry-collector-releases/core&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;otelcol&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;description&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;OpenTelemetry Collector&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0.163.1&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;output_path&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;./_build&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;build_tags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;omit_detector_system&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;各検出器は &lt;code&gt;omit_&lt;/code&gt; フラグで無効化できます。これにより、Collector はデフォルトですべての検出器を含み続け、既存の動作との後方互換性を維持できます。&#10;これはエンドユーザーに大きな柔軟性を提供しますが、設定が煩雑になる可能性があります。&#10;以下は、現在利用可能なすべての検出器を無効化する例です。&lt;/p&gt;</description></item><item><title>API の安定性を維持しながら OpenTelemetry のセキュリティを強化する</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/security-versioning-policy/</link><pubDate>Sat, 31 Oct 2026 07:03:30 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/security-versioning-policy/</guid><description>&lt;p&gt;OpenTelemetry は、動作の変更が必要なセキュリティ修正に対応するため、&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/pull/5357" target="_blank" rel="noopener" class="external-link"&gt;クライアントバージョニングポリシー&lt;/a&gt;を更新しました。&#10;安定版の SDK および計装ライブラリやエクスポーターなどの Contrib コンポーネントは、既存のユーザーに影響する場合でも、限定的な範囲で必要なセキュリティ変更をマイナーリリースまたはパッチリリースで行えるようになりました。&#10;パブリック API の互換性は引き続き保護されます。&lt;/p&gt;&#10;&lt;p&gt;この目的は、ユーザーが現在使用しているメジャーバージョン内でセキュリティの改善を受けられるようにすることです。&#10;一部のアップグレードでは、設定や運用上の変更が必要になる場合があります。&#10;そのような場合、リリースノートで影響と対応方法を説明しなければなりません。&lt;/p&gt;&#10;&lt;h2 id="why-stability-needs-a-path-for-security-fixes"&gt;安定性にセキュリティ修正への道筋が必要な理由&lt;a class="td-heading-self-link" href="#why-stability-needs-a-path-for-security-fixes" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;私たちのエンジニアリングの価値観は&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/community/mission/#we-value-stability"&gt;「安定性を重視する」&lt;/a&gt;と述べています。&#10;この約束は重要です。アプリケーションやライブラリは OpenTelemetry に依存しており、オブザーバビリティツールのアップグレードは予測可能であるべきです。&lt;/p&gt;&#10;&lt;p&gt;しかし、変更されない動作がセキュリティ上の脆弱性となることがあります。&#10;たとえば、制限のないテレメトリーを受け入れると、攻撃者がアプリケーションの入力を過剰なメモリ使用に変えてしまう可能性があります。&#10;以前は受け入れていた入力を拒否するセーフガードは、すべてのアプリケーションが引き続きコンパイルできるとしても、動作を変更します。&lt;/p&gt;&#10;&lt;p&gt;明示的な例外規定がなければ、そのような緩和策には新しいメジャーバージョンが必要になる可能性があります。&#10;これは難しい選択を生みます。既存のリリースラインでリスクのある動作を維持するか、保護を得るためにユーザーにメジャーアップグレードを求めるかです。&#10;新しいポリシーは、明確な境界と移行情報を伴い、現在のメジャーバージョン内で緩和策を提供するための道筋を提供します。&lt;/p&gt;&#10;&lt;p&gt;AI はタイムリーなセキュリティ改善をより緊急なものにしています。&#10;英国国立サイバーセキュリティセンターの &lt;a href="https://www.ncsc.gov.uk/report/impact-ai-cyber-threat-now-2027" target="_blank" rel="noopener" class="external-link"&gt;AI とサイバー脅威の評価&lt;/a&gt;は、AI が脆弱性の研究と悪用を改善し、防御側が対応できる時間を短縮すると予測しています。&#10;ツールが攻撃者による脆弱性の発見と悪用を加速できる場合、微細な弱点でも注意に値します。&#10;OpenTelemetry にとって、これはセキュリティアップデートを実用的に導入できるようにする必要性を強化します。&lt;/p&gt;&#10;&lt;h2 id="what-can-change-in-a-security-release"&gt;セキュリティリリースで変更できること&lt;a class="td-heading-self-link" href="#what-can-change-in-a-security-release" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;セキュリティリスクへの対応が必要な場合、安定版の SDK および Contrib コンポーネントは、メジャーバージョンの変更なしに動作、設定のデフォルト値、またはサポートされる設定値を変更できます。&#10;これには、以前ドキュメント化されていた動作も含まれます。&#10;該当する修正はパッチリリースで提供できます。&lt;/p&gt;&#10;&lt;p&gt;例としては、証明書の検証の厳格化、安全でないプロトコルの無効化、テレメトリーに認証情報が表示されることの防止、またはサービス拒否のリスクを軽減するためのリソース制限の導入があります。&#10;緩和策の内容によっては、以前受け入れられていたデータや設定が拒否されたり、テレメトリーが切り詰められたり破棄されたりする可能性があります。&#10;無効な設定は、アプリケーションの初期化の失敗を引き起こすこともあります。&lt;/p&gt;&#10;&lt;p&gt;メモリ枯渇のリスクを軽減するための、仮想的な SDK の属性値制限を考えてみてください。&#10;アプリケーションは引き続きコンパイルできますが、大きすぎる値は切り詰められ、メモリ負荷が軽減される一方で、ダッシュボードに届く内容も変わります。&#10;この影響はインシデント発生時に重要です。&#10;このような変更は仕様に準拠し、セキュリティ上の利点、テレメトリーへの影響、および移行オプションを説明しなければなりません。&lt;/p&gt;&#10;&lt;h2 id="the-exception-has-firm-boundaries"&gt;例外規定には明確な境界がある&lt;a class="td-heading-self-link" href="#the-exception-has-firm-boundaries" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;すべての変更は、セキュリティリスクの緩和に必要な範囲に限定されなければなりません。&#10;既存のソースおよびバイナリ互換性の保証（SDK プラグインインターフェイスを含む）を維持し、OpenTelemetry のエラーハンドリング要件に準拠しなければなりません。&lt;/p&gt;&#10;&lt;p&gt;この例外規定を使用して、パブリック API の名前変更や削除、シグネチャの変更、設定パラメーターの名前変更や削除、セマンティック規約の再定義、またはシグナルの非推奨化および削除ルールの回避を行うことはできません。&#10;無関係な非互換の変更を含めることもできません。&#10;安定版の API パッケージは、同じメジャーバージョン内での互換性保証を維持します。&lt;/p&gt;&#10;&lt;h2 id="what-to-check-when-upgrading"&gt;アップグレード時の確認事項&lt;a class="td-heading-self-link" href="#what-to-check-when-upgrading" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;リリースノートはセキュリティ変更の一部です。&#10;リリースノートには、リスクと緩和策、影響を受ける動作と設定、変更前後の動作、新たに拒否される入力、切り詰めまたは破棄されるテレメトリー、および必要なユーザーアクションを記載しなければなりません。&#10;また、利用可能な移行パスとそのセキュリティへの影響についても記載しなければなりません。&lt;/p&gt;</description></item><item><title>KubeCon NA 2026で、OpenTelemetryのトークとアクティビティに参加しよう</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/kubecon-na/</link><pubDate>Sat, 31 Oct 2026 00:28:54 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/kubecon-na/</guid><description>&lt;p&gt;OpenTelemetry のプロジェクトメンテナー、ガバナンス委員会メンバー、および技術委員会メンバーは、2026年11月9日から12日にかけてソルトレイクシティで開催される &lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/?utm_source=opentelemetry&amp;amp;amp;utm_medium=website&amp;amp;amp;utm_content=blog" target="_blank" rel="noopener" class="external-link"&gt;KubeCon NA&lt;/a&gt; に参加できることを楽しみにしています。&#10;ぜひ&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/register/?utm_source=opentelemetry&amp;amp;amp;utm_medium=website&amp;amp;amp;utm_content=blog" target="_blank" rel="noopener" class="external-link"&gt;参加登録&lt;/a&gt;して、一緒に盛り上がりましょう！&lt;/p&gt;&#10;&lt;p&gt;KubeCon 期間中に予定されている OpenTelemetry 関連のすべてのイベントをご紹介します。&lt;/p&gt;&#10;&lt;h2 id="opentelemetry-contribfest"&gt;OpenTelemetry Contribfest&lt;a class="td-heading-self-link" href="#opentelemetry-contribfest" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;OpenTelemetry のメンテナーと一緒に &lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1294771" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry Contribfest&lt;/a&gt; に参加して、プロジェクトをより良いものにしましょう。&#10;さまざまなコントリビューションの機会から選ぶことができ、各プロジェクト領域のメンテナーが最初の一歩をサポートします。&#10;Contribfest は11月10日（火）11:30 - 12:50 に開催されます。&lt;/p&gt;&#10;&lt;h2 id="kubecon-talks-and-maintainer-sessions"&gt;KubeCon トークとメンテナーセッション&lt;a class="td-heading-self-link" href="#kubecon-talks-and-maintainer-sessions" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1289874" target="_blank" rel="noopener" class="external-link"&gt;⚡ Project Lightning Talk: Fluent Bit: The Evolution of High-Performance Telemetry Pipelines&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Eduardo Silva（Palo Alto Networks）&lt;br&gt; 11月9日（月）• 10:41 - 10:46&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1233585" target="_blank" rel="noopener" class="external-link"&gt;Your Agent Needs a Platform: Cloud Native Infrastructure for Multi-Agent AI Systems&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Soham Ghadge（GenbaNEXT）&lt;br&gt; 11月10日（火）• 11:30 - 12:00&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1249351" target="_blank" rel="noopener" class="external-link"&gt;Next Generation DevOps: Reshaping the Cloud Native DevOps Infinity Loop with AI&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Rey Lejano（Red Hat）&lt;br&gt; 11月10日（火）• 11:30 - 12:00&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1361545" target="_blank" rel="noopener" class="external-link"&gt;Demo Theater: All the Ways to Add OpenTelemetry Without Touching Your Code&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Michele Mancioppi（Dash0）&lt;br&gt; 11月10日（火）• 12:30 - 12:50&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1362463" target="_blank" rel="noopener" class="external-link"&gt;Demo Theater: Agent Observability: Evaluating and Guardrailing Responses in Real Time&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Greg Leffler（Splunk）&lt;br&gt; 11月10日（火）• 12:55 - 13:15&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1239823" target="_blank" rel="noopener" class="external-link"&gt;Tracing at Scale: Running a 16 Billion Spans/Hour Pipeline at Nubank&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Felipe Araujo &amp;amp; Kaynan Coelho（Nubank）&lt;br&gt; 11月10日（火）• 14:50 - 15:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1247277" target="_blank" rel="noopener" class="external-link"&gt;From Bytes to Traces: A Deep Dive into OpenTelemetry eBPF Instrumentation Internals&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Rafael Roquetto（Isovalent @ Cisco）、Mike Dame（Odigos）&lt;br&gt; 11月10日（火）• 14:50 - 15:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1243089" target="_blank" rel="noopener" class="external-link"&gt;The Prompt Layer: What Platform Engineering Has to Own Next&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Atulpriya Sharma（Improving）&lt;br&gt; 11月10日（火）• 14:50 - 15:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1241330" target="_blank" rel="noopener" class="external-link"&gt;Just Keep Swimming: Benchmarking OSS Agent Memory on Kubernetes with OpenTelemetry&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Henrik Rexed（Dynatrace）&lt;br&gt; 11月10日（火）• 15:40 - 16:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1250770" target="_blank" rel="noopener" class="external-link"&gt;The SRE Is Not Dead: What AI Taught Us about Missing Context in Kubernetes Incident Response&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Muhammed Yunas Chirayath（Best Buy）、Ajmal Ali kannu（Independent）&lt;br&gt; 11月10日（火）• 15:40 - 16:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1243292" target="_blank" rel="noopener" class="external-link"&gt;From Traceroute to OTel Traces: Modeling Network Paths with OpenTelemetry&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Antonio Jimenez Martinez（Cisco ThousandEyes）&lt;br&gt; 11月10日（火）• 15:40 - 16:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1248218" target="_blank" rel="noopener" class="external-link"&gt;Agents on the Platform: Four Perspectives on the Conversation We&amp;rsquo;re Already Having in Private&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Kasper Borg Nissen（Dash0）、Juraci Paixão Kröhling（OllyGarden）、Joseph Sandoval（Adobe）、Jed Salazar（Edera）、Alexa Griffith（Red Hat）&lt;br&gt; 11月10日（火）• 16:40 - 17:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1247991" target="_blank" rel="noopener" class="external-link"&gt;Not All Memory Is Equal: How To Properly Observe Memory Usage&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Braydon Kains（Google）、Roger Coll（Grafana Labs）&lt;br&gt; 11月10日（火）• 16:40 - 17:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1248216" target="_blank" rel="noopener" class="external-link"&gt;Two-Stage OTel Aggregation: Taming Istio Cardinality at 10k-Pod Scale&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Evelyn (Chungyu) Chen（Yahoo）&lt;br&gt; 11月10日（火）• 17:30 - 18:00&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1238630" target="_blank" rel="noopener" class="external-link"&gt;Verticalizing Platform Intelligence for Regulated Domains&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;William Rizzo（Mirantis）、Kasper Borg Nissen（Dash0）&lt;br&gt; 11月11日（水）• 11:00 - 11:30&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1249846" target="_blank" rel="noopener" class="external-link"&gt;OTel Blueprints: Prescriptive Patterns for Enterprise Observability&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Dan Gomez Blanco（New Relic）、Lukasz Ciukaj（Cisco Splunk）&lt;br&gt; 11月11日（水）• 11:00 - 11:30&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1249896" target="_blank" rel="noopener" class="external-link"&gt;Filter, Transform, Route: Mastering OTTL in the OpenTelemetry Collector&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Evan Bradley（Dynatrace）、Edmo Vamerlatti Costa（Elastic）、Jamie Danielson（honeycomb.io）、Tyler Helmuth（Grafana Labs）&lt;br&gt; 11月11日（水）• 11:00 - 12:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1246179" target="_blank" rel="noopener" class="external-link"&gt;Sample Smarter, Not Harder (Or Not At All!)&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Reese Lee（New Relic）、Juliano Costa（Datadog）&lt;br&gt; 11月11日（水）• 11:50 - 12:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1362631" target="_blank" rel="noopener" class="external-link"&gt;Demo Theater: ClickHouse Observability: Full-fidelity observability for AI agents and SREs&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Mike Shi（ClickHouse）&lt;br&gt; 11月11日（水）• 12:15 - 12:35&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1230983" target="_blank" rel="noopener" class="external-link"&gt;🪧 Poster Session: Many Agents, One Platform: Production Multi-Agent Apps on K8s with CNCF Building Blocks&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Daniel Oh（Red Hat）&lt;br&gt; 11月11日（水）• 13:20 - 14:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1244682" target="_blank" rel="noopener" class="external-link"&gt;🪧 Poster Session: Your GPU Dashboard Is Lying: Per-Tenant Blind Spots in MIG, MPS, and HAMi&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Saiyam Pathak（vCluster）、Saloni Narang（Kubesimplify）&lt;br&gt; 11月11日（水）• 13:20 - 14:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1244576" target="_blank" rel="noopener" class="external-link"&gt;GPU Observability with eBPF: From Kernel Hooks to Kubernetes Metrics&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Qasim Sarfraz &amp;amp; Michael Friese（Microsoft）&lt;br&gt; 11月11日（水）• 15:10 - 15:40&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1249409" target="_blank" rel="noopener" class="external-link"&gt;Battle-tested Autoscaling Paradigms with KEDA&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Jan Wozniak（Kedify）、Christian Melendez（AWS）&lt;br&gt; 11月11日（水）• 16:10 - 16:40&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1230227" target="_blank" rel="noopener" class="external-link"&gt;Zero-Trust Telemetry: Stopping AI-Powered Poisoning Attacks on Observability Pipelines&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Chad M. Crowell（Akamai）、Diana Todea（VictoriaMetrics）&lt;br&gt; 11月11日（水）• 16:10 - 16:40&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1250513" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry in Your Pocket&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Jason Plumb（Splunk）&lt;br&gt; 11月11日（水）• 16:10 - 16:40&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1363966" target="_blank" rel="noopener" class="external-link"&gt;Exploring Telemetry Quality&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Jacob Aronoff（Tero）&lt;br&gt; 11月11日（水）• 16:10 - 16:40&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1362689" target="_blank" rel="noopener" class="external-link"&gt;Demo Theater: Day 2 for Stateful Kubernetes: Data Services You Can See&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Brock Mowry &amp;amp; Tapas Mahanata（Tintri）&lt;br&gt; 11月11日（水）• 16:25 - 16:45&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1247513" target="_blank" rel="noopener" class="external-link"&gt;Composing Inference on Kubernetes: Gateway, Schedule, Serve, Observe&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Karena Angell（Red Hat）、Alex Chircop（Google）&lt;br&gt; 11月11日（水）• 17:00 - 17:30&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1230488" target="_blank" rel="noopener" class="external-link"&gt;Beyond Dashboards: A Semantic Layer for AI-Driven Observability in Kubernetes&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Pronnoy Goswami（NVIDIA）&lt;br&gt; 11月12日（木）• 11:00 - 11:30&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1362642" target="_blank" rel="noopener" class="external-link"&gt;Demo Theater: HTTP 200, Tool Failed: Taming MCP Agent Traffic with NGINX&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Ciara Stacke &amp;amp; Micheal Kingston（F5）&lt;br&gt; 11月12日（木）• 11:25 - 11:45&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1250076" target="_blank" rel="noopener" class="external-link"&gt;Hope Is Not a Rollout Strategy: Balancing (AI) Quality, Cost, and Risk Through Experimentation&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Todd Baert（Dynatrace）&lt;br&gt; 11月12日（木）• 11:50 - 12:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1336060" target="_blank" rel="noopener" class="external-link"&gt;Seeing Inside LLM Inference: Observability and Cost Visibility for llm-d on Kubernetes&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Nili Guy（IBM）、Guangya Liu（JPMorgan Chase）&lt;br&gt; 11月12日（木）• 11:55 - 12:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1246166" target="_blank" rel="noopener" class="external-link"&gt;The Race to Standardize AI Observability&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Liudmila Molkova（Google）、Trask Stalnaker（Microsoft）&lt;br&gt; 11月12日（木）• 13:50 - 14:20&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1237843" target="_blank" rel="noopener" class="external-link"&gt;From Black-Box to Auditable AI-Grid: A Deterministic Governance Layer with Hybrid Cloud&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Fatih E. Nar（Red Hat）、Andrew Hendrickson（FCC）&lt;br&gt; 11月12日（木）• 14:40 - 15:10&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1245970" target="_blank" rel="noopener" class="external-link"&gt;Fast and Furious: OTel Drift&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Laura Luttmer（Bindplane）&lt;br&gt; 11月12日（木）• 15:30 - 16:00&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/program/schedule/?id=1246551" target="_blank" rel="noopener" class="external-link"&gt;OpenFeature as a Control Plane for OpenTelemetry&lt;/a&gt;&lt;/strong&gt;&lt;br&gt;&#10;Simon Schrottner（Flagsmith）、Juliano Costa（Datadog）&lt;br&gt; 11月12日（木）• 15:30 - 16:00&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="maintainer-summit"&gt;メンテナーサミット&lt;a class="td-heading-self-link" href="#maintainer-summit" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;併設イベントの1日前、カンファレンスの2日前にあたる11月8日に開催されるメンテナーサミットは、プロジェクトの担い手たちが直接顔を合わせる貴重な機会です。&#10;OpenTelemetry 組織の&lt;a href="https://github.com/open-telemetry/community/blob/25f027532a6e9b503d6eb4dd3db0a98eb3b5f1cb/guides/contributor/membership.md?from_branch=main#member" target="_blank" rel="noopener" class="external-link"&gt;メンバー&lt;/a&gt;が集まり、コラボレーション、学習、アイデアの共有、問題解決、そしてプロジェクトの充実を図ります。&#10;詳細は&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/features-add-ons/maintainer-summit/?utm_source=opentelemetry&amp;amp;amp;utm_medium=website&amp;amp;amp;utm_content=blog#schedule" target="_blank" rel="noopener" class="external-link"&gt;フルスケジュール&lt;/a&gt;をご覧ください。&#10;今すぐ&lt;a href="https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/features-add-ons/maintainer-summit/?utm_source=opentelemetry&amp;amp;amp;utm_medium=website&amp;amp;amp;utm_content=blog" target="_blank" rel="noopener" class="external-link"&gt;サインアップ&lt;/a&gt;しましょう！&lt;/p&gt;</description></item><item><title>より高速で小さなチェックポイント: File Log レシーバーが protobuf を採用</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/filelog-protobuf-checkpoints/</link><pubDate>Thu, 29 Oct 2026 13:08:22 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/filelog-protobuf-checkpoints/</guid><description>&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/701867a218d0590a3e95c920388b7fb65aa3dd1d/receiver/filelogreceiver" target="_blank" rel="noopener" class="external-link"&gt;File Log レシーバー&lt;/a&gt;を &lt;code&gt;storage&lt;/code&gt; エクステンションと一緒に使っている場合、Collector はログファイルをポーリングするたびにチェックポイントを書き込みます。&#10;このチェックポイントは、レシーバーがどこまで読み取ったかを記憶するためのもので、再起動してもログの欠損や重複が発生しないようにします。&#10;長年にわたり、このチェックポイントのフォーマットは JSON でした。&lt;/p&gt;&#10;&lt;p&gt;OpenTelemetry Collector Contrib v0.164.0 以降、チェックポイントは常に protobuf で書き込まれます。&#10;ベンチマークでは、チェックポイントの保存は約5倍高速になり、読み込みは5倍超高速になり、チェックポイント自体のサイズは約35%小さくなりました。&lt;/p&gt;&#10;&lt;h2 id="why-checkpoints-were-worth-optimizing"&gt;なぜチェックポイントの最適化に価値があったのか&lt;a class="td-heading-self-link" href="#why-checkpoints-were-worth-optimizing" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;File Log レシーバーは、追跡するファイルごとに小さなレコードを保持しています。&#10;ファイルの先頭バイトから構築されたフィンガープリント、読み取りオフセット、レコード番号、ファイル属性、そして部分的な行をフラッシュするための状態です。&#10;ストレージが設定されている場合、このリスト全体がポーリングサイクルの終わりにシリアライズされてストレージエクステンションに書き込まれ、レシーバーの停止時にもう一度書き込まれます。&#10;読み戻されるのはレシーバーの起動時の一度だけです。&lt;/p&gt;&#10;&lt;p&gt;デフォルトの &lt;code&gt;poll_interval&lt;/code&gt; が 200 ms であるため、Collector が稼働している間は毎秒5回の書き込みが発生します。&#10;数百のコンテナログファイルがある Kubernetes ノードでは、書き込みのたびに数百のレコードがシリアライズされます。&lt;/p&gt;&#10;&lt;p&gt;2025年10月、あるユーザーが &lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/43266" target="_blank" rel="noopener" class="external-link"&gt;Issue を報告しました&lt;/a&gt;。&#10;&lt;code&gt;file_storage&lt;/code&gt; を使って Kubernetes ログを収集している Collector が、同様の処理を行う Fluent Bit と比べて著しく多くのリソースを消費していたのです。&#10;プロファイリングの結果、チェックポイントの JSON エンコードに驚くほどの CPU が使われていることが判明しました。&lt;/p&gt;&#10;&lt;h2 id="json-vs-protobuf"&gt;JSON と protobuf の比較&lt;a class="td-heading-self-link" href="#json-vs-protobuf" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;JSON は人がデータを読む必要がある場合に優れています。&#10;チェックポイントを読むのはレシーバーだけなので、JSON は不要なコストを払っていました。&lt;/p&gt;&#10;&lt;p&gt;最大のコストはファイルのフィンガープリント、つまり各ファイルの先頭 1,000 バイトです。&#10;JSON は生のバイト列を保持できないため、テキストに変換されていました。&#10;これによりサイズが約3分の1大きくなり、保存と読み込みのたびに変換をやり直す必要がありました。&#10;さらに、レコードごとに同じフィールド名が繰り返され、数値やタイムスタンプもテキストとして書き出されていました。&lt;/p&gt;</description></item><item><title>OpenTelemetry Go Logs API と SDK がリリース候補ステータスに到達</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/go-logs-api-sdk-rc/</link><pubDate>Tue, 20 Oct 2026 12:47:24 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/go-logs-api-sdk-rc/</guid><description>&lt;p&gt;OpenTelemetry Go &lt;code&gt;v1.47.0-rc.1&lt;/code&gt; がリリースされました。&#10;このリリースでは、Logs API と SDK がリリース候補（RC）に昇格しました。&#10;これは安定版 v1 の互換性保証を提供する前の最終段階です。&#10;設計は準備が整ったと考えており、互換性保証が発効する前に、コミュニティの皆さんに実際のアプリケーションやインテグレーションでテストしていただく必要があります。&lt;/p&gt;&#10;&lt;h2 id="what-is-included-in-the-release-candidate"&gt;リリース候補に含まれるもの&lt;a class="td-heading-self-link" href="#what-is-included-in-the-release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;RC は以下の2つのモジュールを対象としています。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;go.opentelemetry.io/otel/log&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;go.opentelemetry.io/otel/sdk/log&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;これらのモジュールは、安定性がベータ段階の v0.22.0からv1.47.0-rc.1 に移行します。&#10;このバージョンにより、バージョン番号をそろえている他の安定版 OpenTelemetry Go モジュールと整合します。&#10;ログエクスポーターおよび &lt;code&gt;logtest&lt;/code&gt; モジュールは引き続き実験的であり、この RC の安定性スコープには含まれません。&lt;/p&gt;&#10;&lt;p&gt;このリリースでは、ルートパッケージ &lt;code&gt;go.opentelemetry.io/otel&lt;/code&gt; に &lt;code&gt;Logger&lt;/code&gt;、&lt;code&gt;GetLoggerProvider&lt;/code&gt;、&lt;code&gt;SetLoggerProvider&lt;/code&gt; が追加されました。&#10;&lt;code&gt;go.opentelemetry.io/otel/log/global&lt;/code&gt; の同等の API は非推奨になりました。&#10;これにより、グローバルなロガーアクセスが、トレーサーやメーターで既に使用されているパターンと統一されます。&lt;/p&gt;&#10;&lt;p&gt;完全なリリースノートについては、&lt;a href="https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.47.0-rc.1" target="_blank" rel="noopener" class="external-link"&gt;リリース候補のリリース&lt;/a&gt;を参照してください。&lt;/p&gt;&#10;&lt;h2 id="the-journey-to-release-candidate"&gt;リリース候補への道のり&lt;a class="td-heading-self-link" href="#the-journey-to-release-candidate" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;現在の設計に向けた作業は、2023年後半の &lt;a href="https://github.com/open-telemetry/opentelemetry-go/pull/4725" target="_blank" rel="noopener" class="external-link"&gt;Logs API とブリッジのプロトタイプ&lt;/a&gt;から始まりました。&#10;このプロトタイプにはベンチマークと初期のブリッジが含まれており、API を確定する前に、その形状とコストの両方をテストできました。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.24.0" target="_blank" rel="noopener" class="external-link"&gt;最初の Logs API アルファ版&lt;/a&gt;は2024年2月に続き、&lt;a href="https://github.com/open-telemetry/opentelemetry-go/pull/5260" target="_blank" rel="noopener" class="external-link"&gt;最初の Logs SDK アルファ版&lt;/a&gt;は4月に登場しました。&#10;2024年5月には、&lt;a href="https://github.com/open-telemetry/opentelemetry-go/releases/tag/v1.27.0" target="_blank" rel="noopener" class="external-link"&gt;API と SDK を合わせた最初のベータリリース&lt;/a&gt;を公開しました。&#10;それ以来、進化する OpenTelemetry Logs 仕様に継続的に追従し、API を当初のブリッジ中心のユースケースから直接利用へと拡大し、レコード表現、処理、制限、ライフサイクル動作、パフォーマンスを改善してきました。&#10;最近の変更には、シグナル間で共通の &lt;a href="https://github.com/open-telemetry/opentelemetry-go/pull/8490" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;attribute.Value&lt;/code&gt; と &lt;code&gt;attribute.KeyValue&lt;/code&gt; 型&lt;/a&gt;の採用と、エクスポーターのバックプレッシャー下でより安全な動作を実現するための &lt;a href="https://github.com/open-telemetry/opentelemetry-go/pull/8620" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;BatchProcessor&lt;/code&gt; の再設計&lt;/a&gt;が含まれています。&lt;/p&gt;</description></item><item><title>バージョン付きメトリクス: hostmetrics に初のリリース候補メトリクスを導入</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/hostmetrics-process-scraper-rc/</link><pubDate>Sat, 17 Oct 2026 13:10:34 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/hostmetrics-process-scraper-rc/</guid><description>&lt;p&gt;OpenTelemetry Collector Contrib v0.160.0 では、hostmetrics レシーバーの process スクレイパーにリリース候補（RC）の process セマンティック規約メトリクスを出力する機能が追加されました。&#10;これは安定版 v1 の前の最終段階です。&#10;System SIG は約1年かけてこの作業を進めてきました。&#10;process メトリクスは良い状態になったと考えていますが、RC はコミュニティがそれを証明するために存在します。&#10;process メトリクスを収集している方は、新しいバージョン付き出力を試して、何が壊れるかを教えてください。&lt;/p&gt;&#10;&lt;h2 id="why-stabilizing-the-hostmetrics-receiver-was-blocked"&gt;hostmetrics レシーバーの安定化が妨げられていた理由&lt;a class="td-heading-self-link" href="#why-stabilizing-the-hostmetrics-receiver-was-blocked" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;process スクレイパーのメトリクスは OpenTelemetry セマンティック規約で変更されました。&#10;これらの規約に合わせるということは、ユーザーがすでに依存しているメトリクス名、型、属性を変更することを意味するため、単純に定義をその場で編集してリリースすることはできませんでした。&lt;/p&gt;&#10;&lt;p&gt;Collector における動作変更のための通常のツールはフィーチャーゲートですが、ゲートはすでに存在するコードパスを切り替えるだけです。&#10;必要だったのは、レガシーと RC のメトリクス定義の両方がコード内に同時に存在し、メトリクスごとに選択可能で、エンドユーザーが新しいメトリクスの使用をオプトインできることでした。&#10;理想的には、これをユーザーの設定スキーマに影響を与えずに行うことです。&lt;/p&gt;&#10;&lt;p&gt;この要件は設定スキーマ &lt;code&gt;metadata.yaml&lt;/code&gt; に突き当たります。&#10;このファイルは、レシーバーが出力するメトリクスと属性、およびそれらの出力方法を定義します。&#10;hostmetrics レシーバーの各スクレイパーはこのファイルを1つ持ち、&lt;a href="https://github.com/open-telemetry/opentelemetry-collector/tree/62cdad2ea133239380b44d20d84eb26e114779b6/cmd/mdatagen?from_branch=main" target="_blank" rel="noopener" class="external-link"&gt;mdatagen&lt;/a&gt; がこのファイルから出力コードを生成します。&#10;&lt;code&gt;&amp;lt;metric&amp;gt;&lt;/code&gt; の2つの定義が、名前は同じだが型や属性が異なる場合、1つのファイルに共存できません。&lt;/p&gt;&#10;&lt;p&gt;System SIG は、&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/45592" target="_blank" rel="noopener" class="external-link"&gt;バージョン付きメトリクスに関する GitHub イシュー&lt;/a&gt;で議論されたように、この問題を解決する2つの異なるアプローチに行き着きました。&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;レガシーメトリクスと RC メトリクスに2つの異なる設定スキーマを使用する。&lt;/li&gt;&#10;&lt;li&gt;レガシーメトリクスと RC メトリクスの両方を含む1つの設定スキーマを使用する。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;1つ目は、レガシーと RC のメトリクスを別々のスキーマに保持する方法です。&#10;これにより命名の競合は回避できましたが、&lt;code&gt;metadata.yaml&lt;/code&gt; の &lt;code&gt;metrics:&lt;/code&gt; ブロックはエンドユーザーが Collector の設定を書くために使用する &lt;code&gt;metrics:&lt;/code&gt; ブロックを生成するものです。&#10;そのため、2つのスキーマファイルは2つのユーザー設定ブロックを意味し、すべての既存ユーザーはアップグレード時か、レガシーブロックが最終的に削除される時点のいずれかで設定を編集しなければなりません。&lt;/p&gt;&#10;&lt;p&gt;2つ目は、両方の定義を1つのファイルに共存させ、mdatagen を更新して名前の競合を処理する方法です。&#10;これはユーザーにコストをかけず、コンポーネントメンテナーに単一の &lt;code&gt;metadata.yaml&lt;/code&gt; ファイルで作業できる環境を提供しますが、スクレイパーの作業を開始する前に、Collector のコアリポジトリで mdatagen 自体を変更する必要がありました。&lt;/p&gt;</description></item><item><title>2026年の Prometheus と OpenTelemetry の相互運用性：調査結果</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-prometheus-interoperability/</link><pubDate>Sat, 17 Oct 2026 01:32:42 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-prometheus-interoperability/</guid><description>&lt;p&gt;私たちは OpenTelemetry と Prometheus のユーザーを対象に、メトリクスの収集、処理、保存の方法を尋ねるサーベイを実施しました。&#10;目標は、憶測ではなく実際の利用データに基づいて、エコシステムがどこまで進んだか、そして相互運用性にいまだ摩擦が残っているかを理解することでした。&lt;/p&gt;&#10;&lt;h2 id="key-takeaways"&gt;主なポイント&lt;a class="td-heading-self-link" href="#key-takeaways" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2024/prometheus-compatibility-survey/"&gt;2024年のサーベイ&lt;/a&gt;以降、相互運用性は測定可能な改善を遂げました。&#10;使いやすさの平均評価は3.1から3.6に上昇しました。&#10;これは回答者の2人に1人がカテゴリを丸ごと1段階上に評価した場合に相当し、両者を一緒に使うのが難しいと感じた回答者の割合は29%から10%に減少しました。&lt;/li&gt;&#10;&lt;li&gt;インフラストラクチャの計装では、Prometheus エクスポーターが最も利用されている方法（72%）であり、OTel レシーバーが僅差で続いています（57%）。&#10;回答者のほぼ半数は、一方からもう一方に移行するのではなく、両方を同時に使用しています。&lt;/li&gt;&#10;&lt;li&gt;アプリケーションの計装では、OTel SDK が最も利用されている方法で65%、Prometheus SDK が52%であり、41%の回答者は OTel スタイルのアプリケーション計装のみを使用しています。&lt;/li&gt;&#10;&lt;li&gt;Prometheus リラベリングルール（54%）とオープンソースの OTel Collector（53%）が最も一般的な2つの処理ステップであり、回答者の65%はパイプライン内にベンダーの変換やカスタムビルドの Collector を含まない、一方または両方の「バニラスタック」を使用しています。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h2 id="demographics"&gt;人口統計&lt;a class="td-heading-self-link" href="#demographics" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;回答した186人のうち、81人が Prometheus 隣接バックエンド上のアクティブな OpenTelemetry メトリクスユーザーとしてスクリーニングを通過しました。&#10;また、エンドユーザーに焦点を当てるため、オブザーバビリティベンダーの従業員を除外しました。&#10;分析対象サンプルの特徴は以下のとおりです。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;回答者全員がアクティブな OpenTelemetry ユーザーです。&lt;/li&gt;&#10;&lt;li&gt;回答者全員が何らかの Prometheus 系ツールを使用しています。&#10;Prometheus そのもの（46%）、Thanos、Cortex、Grafana Mimir などのオープンソースの Prometheus 互換バックエンド（42%）、または PromQL 互換のベンダー製品（12%）です。&lt;/li&gt;&#10;&lt;li&gt;回答者のオブザーバビリティ成熟度は高いです。&#10;48%は自組織が「確立されたオブザーバビリティプラクティスを持っている」（エキスパート）と回答し、41%は「オブザーバビリティプラクティスを構築中」（中級）であり、初心者と自認しているのはわずか11%でした。&lt;/li&gt;&#10;&lt;li&gt;組織規模は大きい方に偏っています。&#10;42%が従業員1,000人以上、31%が100〜999人、15%が50〜99人、12%が50人未満と回答しています。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="ease-of-use-change-over-time"&gt;使いやすさの経時変化&lt;a class="td-heading-self-link" href="#ease-of-use-change-over-time" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;strong&gt;OpenTelemetry と Prometheus を一緒に使うのはどの程度簡単ですか、あるいは難しいですか？&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;今年は、2024年の同様のサーベイと同じ質問を行い、エンドユーザーが相互運用性に進歩を感じているかを確認しました。&lt;/p&gt;&#10;&lt;p&gt;平均評価は0.5ポイント上昇し、3.1から3.6になりました。&#10;これは回答者の2人に1人がカテゴリを丸ごと1段階上に移動した場合に相当します。&#10;最も明確な変化はスケールの「難しい」側にあります。&#10;両者を一緒に使うのが難しいと感じた回答者の割合は、2024年の水準のおよそ3分の1にまで低下しました。&#10;また、今年は「非常に難しい」を選んだ人はいませんでした。&lt;/p&gt;</description></item><item><title>OTLP と Prometheus で .NET メトリクスをデュアルエクスポートする</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/dual-dotnet-metrics-export-with-otlp-and-prometheus/</link><pubDate>Sat, 17 Oct 2026 01:28:55 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/dual-dotnet-metrics-export-with-otlp-and-prometheus/</guid><description>&lt;p&gt;多くのアプリケーションは、メトリクスを直接 &lt;a href="https://prometheus.io/" target="_blank" rel="noopener" class="external-link"&gt;Prometheus&lt;/a&gt; にエクスポートしています。&#10;Prometheus に馴染みがない方に向けて簡単に説明すると、カウンターやヒストグラムのようなメトリクスを保存するための時系列データベースです。&#10;Prometheus にメトリクスを保存するアプリケーションは、通常、連携の一環として広く使われている Prometheus クライアントを使用しています。&lt;/p&gt;&#10;&lt;p&gt;OpenTelemetry が &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-graduates/"&gt;CNCF の Graduated プロジェクト&lt;/a&gt;となった今、多くの企業がオブザーバビリティアーキテクチャにメトリクス以外のシグナルを追加するために、OpenTelemetry への移行を検討しています。&#10;ログとトレースは、アプリケーションの挙動をより深く理解するための一般的な追加シグナルです。&#10;プロファイルも、さらに深い理解を得るための4番目のテレメトリーシグナルとして注目を集めています。&lt;/p&gt;&#10;&lt;p&gt;ここで移行のハードルが生まれます。あるシステムから別のシステムへメトリクスを移行する際に、一括切り替えのイベントなしにどうすれば移行できるでしょうか。&#10;移行のリスクを軽減するには、一定期間メトリクスを両方のシステムにエクスポートし、「移行前」と「移行後」の状態を比較・検証できるインクリメンタルなアプローチが望ましいです。&#10;これにより、メトリクスの監視やアラートの駆動において、どちらのシステムでも本番環境の可視性が失われていないことを確認できます。&lt;/p&gt;&#10;&lt;h2 id="using-the-opentelemetry-prometheus-exporter-for-net"&gt;.NET 用 OpenTelemetry Prometheus エクスポーターの使用&lt;a class="td-heading-self-link" href="#using-the-opentelemetry-prometheus-exporter-for-net" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;.NET 用 OpenTelemetry Prometheus エクスポーターの&lt;a href="https://github.com/open-telemetry/opentelemetry-dotnet/releases/tag/coreunstable-1.18.0-beta.1" target="_blank" rel="noopener" class="external-link"&gt;最新リリース&lt;/a&gt;では、本番メトリクスでまさにこのアプローチを取ることができます。&#10;アプリケーションやフレームワークのコードで &lt;a href="https://learn.microsoft.com/dotnet/core/diagnostics/metrics-instrumentation" target="_blank" rel="noopener" class="external-link"&gt;.NET Meter クラス&lt;/a&gt;を使用してメトリクスを収集し、Prometheus と、&lt;a href="https://www.nuget.org/packages/OpenTelemetry.Exporter.OpenTelemetryProtocol" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;OpenTelemetry.Exporter.OpenTelemetryProtocol&lt;/code&gt;&lt;/a&gt; NuGet パッケージが提供する &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/otel/protocol/exporter/"&gt;OTLP エクスポーター&lt;/a&gt;などの別のエクスポーターの両方にエクスポートできます。&lt;/p&gt;&#10;&lt;p&gt;Prometheus エクスポーターは、事実上 OpenTelemetry SDK の上に構築された &lt;a href="https://prometheus.io/docs/instrumenting/clientlibs/" target="_blank" rel="noopener" class="external-link"&gt;Prometheus クライアントライブラリ&lt;/a&gt;であり、アプリケーション内に HTTP スクレイプエンドポイントを公開して、Prometheus サーバーが定期的にアプリケーションからメトリクスを収集できるようにします。&#10;このエクスポーターは OpenTelemetry の &lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/27b10516ad3a27c12a0ab5c63456ddc95766bc68/specification/metrics/sdk_exporters/prometheus.md" target="_blank" rel="noopener" class="external-link"&gt;Prometheus 仕様&lt;/a&gt;（&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/27b10516ad3a27c12a0ab5c63456ddc95766bc68/spec-compliance-matrix.md" target="_blank" rel="noopener" class="external-link"&gt;マトリクス&lt;/a&gt;）を実装し、&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/27b10516ad3a27c12a0ab5c63456ddc95766bc68/specification/compatibility/prometheus_and_openmetrics.md" target="_blank" rel="noopener" class="external-link"&gt;OpenMetrics との互換性&lt;/a&gt;を確保するために、&lt;a href="https://prometheus.io/docs/instrumenting/exposition_formats/" target="_blank" rel="noopener" class="external-link"&gt;ドキュメント化されたすべてのテキストエクスポジションフォーマット&lt;/a&gt;（まだ実験段階の &lt;a href="https://prometheus.io/docs/specs/om/open_metrics_spec_2_0/" target="_blank" rel="noopener" class="external-link"&gt;OpenMetrics 2.0&lt;/a&gt; を除く）を実装しています。&lt;/p&gt;&#10;&lt;pre class="mermaid"&gt;flowchart LR&#10; subgraph APP[&amp;#34;アプリケーション&amp;#34;]&#10; AC[&amp;#34;アプリケーションコード&amp;#34;]&#10; SDK[&amp;#34;OpenTelemetry SDK&amp;#34;]&#10; PE[&amp;#34;Prometheus エクスポーター&amp;#34;]&#10; OE[&amp;#34;OTLP エクスポーター（クライアント）&amp;#34;]&#10; EP[&amp;#34;GET /metrics HTTP エンドポイント（サーバー）&amp;#34;]&#10;&#10; AC --&amp;gt;|&amp;#34;メトリクスを生成&amp;#34;| SDK&#10; SDK --&amp;gt;|&amp;#34;メトリクスを供給&amp;#34;| PE&#10; PE --&amp;gt;|&amp;#34;text/plain としてメトリクスを提供&amp;#34;| EP&#10; SDK --&amp;gt;|&amp;#34;メトリクスを供給&amp;#34;| OE&#10; end&#10;&#10; P[&amp;#34;Prometheus（クライアント）&amp;#34;]&#10; OTB[&amp;#34;OpenTelemetry バックエンド（サーバー）&amp;#34;]&#10;&#10; P --&amp;gt;|&amp;#34;HTTP GET /metrics（スクレイプリクエスト）&amp;#34;| EP&#10; EP --&amp;gt;|&amp;#34;メトリクスレスポンス（テキスト形式）&amp;#34;| P&#10;&#10; OE --&amp;gt;|&amp;#34;OTLP エクスポートリクエスト&amp;#34;| OTB&#10; OTB --&amp;gt;|&amp;#34;OTLP レスポンス/確認応答&amp;#34;| OE&lt;/pre&gt;&#10;&lt;p&gt;.NET アプリケーションコードで &lt;code&gt;Meter&lt;/code&gt; クラスとともに &lt;code&gt;Counter&amp;lt;T&amp;gt;&lt;/code&gt;、&lt;code&gt;Gauge&amp;lt;T&amp;gt;&lt;/code&gt;、&lt;code&gt;Histogram&amp;lt;T&amp;gt;&lt;/code&gt; の計装のみを使用することで、.NET OpenTelemetry SDK と専用の Prometheus クライアントの両方を使わずにメトリクスを収集できます。&lt;/p&gt;</description></item><item><title>OTel-Native by Design - あらゆるオブザーバビリティスタックへのエクスポートが可能なプロダクトを作る</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-native-by-design/</link><pubDate>Sat, 17 Oct 2026 01:28:06 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/otel-native-by-design/</guid><description>&lt;p&gt;&lt;a href="https://github.com/danielgblanco" target="_blank" rel="noopener" class="external-link"&gt;Dan Gomez Blanco&lt;/a&gt;（New Relic）の協力のもと執筆。&lt;/p&gt;&#10;&lt;p&gt;セルフホスト型ソフトウェアや SaaS プロダクトを開発していると、ユーザーはいずれ&lt;strong&gt;ログ、トレース、メトリクス&lt;/strong&gt;を自身のオブザーバビリティスタックに送りたいと要望するようになります。&#10;コンプライアンスの順守やコスト管理、あるいはすべてのオブザーバビリティデータを一箇所に集約するためです。&lt;/p&gt;&#10;&lt;p&gt;ユーザーを組み込みのダッシュボードに囲い込んだり、エクスポート先を特定のベンダーに限定したりすることは、不必要な摩擦を生みます。&#10;かわりに、OpenTelemetry（OTel）互換のあらゆるバックエンドへのエクスポートをサポートすることが、ベンダーニュートラルかつ将来性のあるプラクティスであり、ユーザーにオブザーバビリティスタックを自由に選択できる環境を提供します。&lt;/p&gt;&#10;&lt;p&gt;この記事では、ユーザーが望むときにログ、トレース、メトリクスを OTel バックエンドにエクスポートできるよう、プロダクトを設計する方法を概説します。&lt;/p&gt;&#10;&lt;img src="https://deploy-preview-12558--opentelemetry.netlify.app/blog/2026/otel-native-by-design/cover.png" alt="OTLP 標準によるテレメトリーエクスポートを有効にすることで、ユーザーは自分が選んだプラットフォーム上でデータを所有・分析できるようになります。"&gt;&lt;h2 id="the-four-observability-signals"&gt;4つのオブザーバビリティシグナル&lt;a class="td-heading-self-link" href="#the-four-observability-signals" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;OpenTelemetry は4つのシグナルタイプを定義しており、すべて標準の &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/otlp/"&gt;OpenTelemetry Protocol（OTLP）&lt;/a&gt;で伝送されます。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/concepts/signals/logs/"&gt;ログ&lt;/a&gt;:&lt;/strong&gt; イベントレコード、リクエスト/アクセスログ、およびタイムスタンプとメタデータを含むアプリケーションログ。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/concepts/signals/traces/"&gt;トレース&lt;/a&gt;:&lt;/strong&gt; 分散トレースとスパンにより、ユーザーはサービス間のリクエストフローを確認し、ログと関連付けることができます。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/concepts/signals/metrics/"&gt;メトリクス&lt;/a&gt;:&lt;/strong&gt; カウンター、ゲージ、ヒストグラム（例: リクエストレート、レイテンシー、エラーレート）。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/concepts/signals/profiles/"&gt;プロファイル&lt;/a&gt;:&lt;/strong&gt; アプリケーションが実行中にどこでリソースを消費しているかを示すサンプル。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="td-alert td-alert--md alert alert-note" role="alert"&gt;&lt;div class="td-alert-heading alert-heading" role="heading"&gt;プロファイルはパブリックアルファ段階です&lt;/div&gt;&#10; &lt;div class="td-alert-body"&gt;&#10; &lt;p&gt;プロファイルは2026年3月26日に&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/profiles-alpha/"&gt;パブリックアルファ&lt;/a&gt;に入りました。&#10;シグナルとして、OpenTelemetry はプロファイルを現在の3つの主要なオブザーバビリティシグナルと並ぶものとして位置づけようとしており、コードベース全体のリソース使用パターンをキャプチャすることで、ユーザーが本番環境のインシデントをトラブルシュートする助けとなります。&lt;/p&gt;&#10;&lt;p&gt;このブログではログ、トレース、メトリクスにのみ焦点を当てていますが、プロファイルがどのような形になるか、そしてコミュニティがオブザーバビリティシステムでどのように活用するか、楽しみにしています。&lt;/p&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;同じエクスポートの仕組みが3つすべて（ログ、トレース、メトリクス）に適用されます。&#10;ユーザーが OTLP エンドポイントを設定し、テレメトリーをそこに&lt;strong&gt;プッシュ&lt;/strong&gt;できるようにします。&#10;プロダクトが生成するものに応じて、1つ、2つ、または3つすべてのシグナルをサポートできます。&lt;/p&gt;&#10;&lt;p&gt;OTel エクスポートをサポートする多くのプラットフォームは、少なくともトレースとログをサポートしており、メトリクスサポートを提供するプラットフォームも増えています。&#10;3つすべてを最初から設計しておけば、後からレトロフィットする必要がなくなります。&lt;/p&gt;&#10;&lt;h2 id="what-a-good-telemetry-system-looks-like"&gt;「良い」テレメトリーシステムとは&lt;a class="td-heading-self-link" href="#what-a-good-telemetry-system-looks-like" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;優れたエクスポートの仕組みには、サポートするすべてのシグナルに対していくつかの明確な特性があります。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;ベンダーニュートラル:&lt;/strong&gt; ユーザーは、ベンダーごとにカスタムインテグレーションを構築することなく、任意の OTel 互換エンドポイント、つまり &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/collector/"&gt;Collector インスタンス&lt;/a&gt;や &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/ecosystem/vendors/"&gt;OTLP を直接サポートする多くのバックエンド&lt;/a&gt;のいずれかを指定できます。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;大がかりなカスタム開発が不要:&lt;/strong&gt; 外部プラットフォーム（またはユーザーのツール）は、独自 API のかわりに標準の &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/languages/"&gt;OTel SDK&lt;/a&gt; と OTLP プロトコルを使ってインテグレーションできます。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;豊富なコンテキストの保持:&lt;/strong&gt; エクスポートされたデータには、メタデータ、タイムスタンプ、利用可能な場合のトレース/スパンの関連付け（例: トレース ID にリンクされたログレコード）が含まれるべきであり、ユーザーはコンテキストを失うことなく自身のバックエンドでデバッグと分析ができます。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;セマンティック規約のサポート:&lt;/strong&gt; &lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/semconv/"&gt;セマンティック規約&lt;/a&gt;への準拠は、テレメトリーデータの標準化を保証し、互換性のあるあらゆるバックエンドで容易に解釈できるようにします。&#10;また、ファーストパーティかサードパーティかを問わず、ソフトウェアシステムの動作を理解するためのエンドユーザーの認知的負荷を軽減します。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;サポートするシグナルに対してこれらの原則に沿った設計であれば、最新のプラットフォームがオブザーバビリティエクスポートについて考えるやり方と一致しています。&lt;/p&gt;</description></item><item><title>OpenTelemetry のエンティティイベントで何ができるのか</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/consuming-opentelemetry-entity-events/</link><pubDate>Mon, 12 Oct 2026 10:33:36 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/consuming-opentelemetry-entity-events/</guid><description>&lt;p&gt;メトリクス、ログ、トレースはシステムがどのように &lt;em&gt;振る舞うか&lt;/em&gt; を教えてくれます。&#10;しかし、実際に何が &lt;em&gt;存在する&lt;/em&gt; かについてはあまり語りません。&#10;どのホスト、インターフェイス、スイッチ、サービス、ボリュームが今そこにあるのか、そして決定的に重要なこととして、その全体像がこの1時間、1日、あるいは四半期でどう変わったのか。&#10;この動的なインベントリは、オープンなオブザーバビリティスタックにおいて盲点であり続けてきました。&lt;/p&gt;&#10;&lt;p&gt;OpenTelemetry の &lt;strong&gt;エンティティイベント&lt;/strong&gt; は、Entities SIG の成果であり、&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/otel/entities/data-model/"&gt;エンティティデータモデル&lt;/a&gt;に記述されています。&#10;これがその盲点を埋め始める要素です。&#10;エンティティイベントは &lt;em&gt;ストリーム&lt;/em&gt; です。&#10;興味深い問いは &lt;strong&gt;「届いたあとに何をするのか」&lt;/strong&gt; です。&#10;この記事では、オープンソースのコンシューマーを実例として、その問いへの一つの答えを紹介します。&lt;/p&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; エンティティデータモデルとその規約はまだ &lt;strong&gt;開発中&lt;/strong&gt; （安定版ではない）であり、進化を続けています。&#10;以下の属性名は例示として扱い、最新の仕様と照合してください。&#10;ここでの内容はエンティティイベントを活用する一般的な方法論であり、どのようなコンシューマーにも当てはまります。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 id="a-60-second-primer-on-entity-events"&gt;エンティティイベントの60秒入門&lt;a class="td-heading-self-link" href="#a-60-second-primer-on-entity-events" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;OpenTelemetry は &lt;em&gt;エンティティイベント&lt;/em&gt; を、エンティティセマンティック規約でアノテーションされた &lt;strong&gt;OTLP ログレコード&lt;/strong&gt; として運びます。&#10;各イベントはエンティティの型、識別属性、説明属性、およびライフサイクルを示すイベントタイプを持ちます。&#10;コンシューマーは &lt;code&gt;otel.entity.event.type&lt;/code&gt; の存在だけでレコードを分類できます。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# エンティティイベントのログレコード（例示）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LogRecord&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; Timestamp: 2026-05-26T08:00:00Z # プロデューサー側のタイムスタンプ&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; attributes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; otel.entity.event.type: entity_state # 観測された状態、または entity_delete&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; otel.entity.type: host&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; otel.entity.id: { host.name: web-server-1 } # 識別属性（マップ）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; otel.entity.attributes: { os.type: linux, host.arch: amd64 } # 説明属性（マップ）&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;プロデューサーがこれらを送信します。&#10;ホストエージェント、ネットワークエージェント、OTLP を話すものなら何でも構いません。&#10;コンシューマーの仕事は、このような一連の観測を &lt;em&gt;問い合わせ可能な&lt;/em&gt; ものに変えることです。&#10;その形はパイプラインです。&lt;/p&gt;</description></item><item><title>OBI によるゼロコードのトレースとログの相関</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/obi-trace-log-correlation/</link><pubDate>Mon, 12 Oct 2026 09:34:48 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/obi-trace-log-correlation/</guid><description>&lt;p&gt;ページャーが鳴ります。&#10;トレースを見ると、あるサービスでリクエストが失敗していることがわかります。&#10;答えはログの中にあるはずですが、&lt;em&gt;あの&lt;/em&gt; リクエストに属するログ行はどれでしょうか。&#10;サービスがトレースコンテキスト付きの構造化ログを採用していなければ、正直なところ、タイムスタンプで grep して祈るしかありません。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry eBPF Instrumentation（OBI）&lt;/a&gt;は、サービスがすでに出力しているログに、欠けていたトレースコンテキストを追加できるようになりました。&#10;アプリケーション側の変更は不要です。&#10;SDK も、ロギングライブラリの設定変更も、アプリケーションの再ビルドや再デプロイも必要ありません。&lt;/p&gt;&#10;&lt;p&gt;最初に制約を明確にしておきます。&#10;対象となるのは stdout または stderr に書き込まれたログ、つまりコンテナランタイムがキャプチャするストリームです。&#10;ログ行にアノテーションが付与されるのは、書き込み時点で OBI が処理中のリクエストに対してアクティブなトレースコンテキストを持っている場合です。&#10;ロールアウトするのは、OBI の設定変更と、ログパイプラインでの1行のフィルター追加です。&lt;/p&gt;&#10;&lt;p&gt;内部的には、OBI は eBPF を通じて、各スレッドがログ行を書き込む時点でどのリクエストを処理しているかをすでに把握しています。&#10;それがこの仕組みのすべてです。&#10;コンテナのロギングパイプラインがログ行を受け取る前に、相関フィールドが追加されます。&#10;この記事の残りでは、実際に何が変わるのか、この機能が環境に何を要求するのか、そして有効化する方法を説明します。&lt;/p&gt;&#10;&lt;h2 id="what-changes-during-an-incident"&gt;インシデント時に何が変わるか&lt;a class="td-heading-self-link" href="#what-changes-during-an-incident" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;アプリケーションが次のように書き込みます。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;level&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;INFO&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;payment authorized&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;&amp;#34;amount&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;コンテナログは次のようになります。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;level&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;INFO&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;payment authorized&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;amount&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;trace_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;4bf92f3577b34da6a3ce929d0e0e4736&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;span_id&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;00f067aa0ba902b7&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ID は OBI がそのリクエストのスパンで報告するものと同一なので、相関は双方向に機能します。&#10;失敗したトレースから &lt;code&gt;trace_id&lt;/code&gt; をコピーしてログ検索に貼り付ければ、そのリクエストのログ行だけが得られます。&#10;あるいは、不審なログ行から &lt;code&gt;trace_id&lt;/code&gt; をコピーしてトレースバックエンドに入力すれば、そのログが属するトレースに到達できます。&lt;/p&gt;&#10;&lt;p&gt;JSON ログ、NDJSON、プレーンテキストで機能します。&#10;自由形式のログ行には &lt;code&gt;key=value&lt;/code&gt; アノテーションが付きます。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;payment authorized trace_id=4bf92f3577b34da6a3ce929d0e0e4736 span_id=00f067aa0ba902b7&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ロガーが設定済みのフィールドのいずれかをすでに出力している場合、OBI はそれを保持し、欠けているフィールドのみを補完します。&lt;/p&gt;&#10;&lt;p&gt;小さなデモでのエンドツーエンドの例を示します。&#10;計装されていない Go の &lt;code&gt;frontend&lt;/code&gt; が計装されていない Go の &lt;code&gt;backend&lt;/code&gt; を呼び出し、それぞれがリクエストごとに1行の JSON をログ出力します。&#10;これに OBI と Jaeger を加えた合計4つのコンテナです。&#10;アプリケーションコードには OpenTelemetry SDK は一切ありません。&lt;/p&gt;</description></item><item><title>OpenTelemetry 計装エコシステムの探求</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/exploring-instrumentation-ecosystem/</link><pubDate>Mon, 12 Oct 2026 08:49:49 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/exploring-instrumentation-ecosystem/</guid><description>&lt;p&gt;OpenTelemetry には多くの構成要素があります。&#10;API、SDK、プロトコル、セマンティック規約、計装、そして Collector のようなツールです。&#10;API とプロトコルはテレメトリーの作成と交換の方法を定義し、計装はアプリケーション内部で実際に何が起きているかを観測してテレメトリーに変換します。&#10;セマンティック規約は、計装を書く人々に対して、観測対象を記述するための共通の方法を提供します。&lt;/p&gt;&#10;&lt;p&gt;このアプローチの優れた点は、まったく別々の作者が異なるライブラリを異なる言語で計装しても、同じ規約に従ったテレメトリーを生成できることです。&#10;HTTP リクエストは、どのライブラリやどの言語が生成したかに関係なく、HTTP リクエストとして見えます。&#10;ユーザーはその共通の理解に基づいて、クエリ、ダッシュボード、その他のツールを構築できます。&#10;規約に合意しさえすれば、すべてが整合するはずです。&lt;/p&gt;&#10;&lt;p&gt;しかし、まだそうはなっていません。&lt;/p&gt;&#10;&lt;p&gt;規約は進化し、ドメインの安定化には何年もかかります。&#10;HTTP は2019年6月に仕様に入りましたが、コア規約が安定版に達したのは2023年11月でした。&#10;データベースはほぼ同時期に始まり、安定版に達したのは2025年5月でした。&lt;/p&gt;&#10;&lt;figure&gt;&lt;img src="https://deploy-preview-12558--opentelemetry.netlify.app/blog/2026/exploring-instrumentation-ecosystem/semconv-timeline.png"&#10;&#9;&#9;&#9;alt="Timeline comparing two semantic convention domains. HTTP enters the specification in June 2019, its core conventions reach stable in November 2023, and legacy attributes are listed in December 2023. Database enters in May 2019, goes through an attribute migration in May 2024, reaches release candidate in October 2024, and reaches stable in May 2025."&gt;&lt;figcaption&gt;&#10;&#9;&#9;&#9;&lt;p&gt;HTTP とデータベースのセマンティック規約のタイムライン。仕様への導入からコア規約の安定化まで。&lt;/p&gt;</description></item><item><title>OTel デモを壊しました</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/we-broke-the-demo/</link><pubDate>Mon, 12 Oct 2026 08:43:29 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/we-broke-the-demo/</guid><description>&lt;p&gt;長い間デモを運用してきた方は、最近いくつかの構造的な変更に気づいたかもしれませんし、期待どおりに動作しなくなったことに怒りを覚えたかもしれません。&#10;その気持ちはよくわかりますし、十分に理解しています。&#10;残念ながら、既存のフローを壊さずに変更を行う方法はありませんでした。&lt;/p&gt;&#10;&lt;p&gt;以前のものは一部なくなりました。&#10;新しいサービスが追加されました。&#10;属性名が変更されました。&#10;カスタムメトリクスのダッシュボードを持っていた方は、すべてが壊れているはずです。&lt;/p&gt;&#10;&lt;p&gt;これは偶然ではありません。&lt;/p&gt;&#10;&lt;p&gt;OTel デモは常にリビングリファレンス実装であり、コミュニティが OTel で何ができるかを示す場所でした。&#10;しばらくすると、私たちが目指す方向の妨げになるものが蓄積されていきました。&#10;3.0 は、それを一掃する取り組みです。&#10;意図的に、短期的な痛みを伴うことを承知の上で、明確な目的を持って行いました。&lt;/p&gt;&#10;&lt;p&gt;以下が主な変更点です。&lt;/p&gt;&#10;&lt;h2 id="what-we-broke-and-why"&gt;何を壊したか（そしてなぜ）&lt;a class="td-heading-self-link" href="#what-we-broke-and-why" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;アップグレードするとすぐに影響を受ける変更が2つあります。&#10;1つはダッシュボードを壊し、もう1つはローカルやフォークでのデモの実行方法を壊します。&lt;/p&gt;&#10;&lt;h3 id="the-rename-nobody-wanted-but-everyone-needed"&gt;誰も望まなかったが全員が必要としていたリネーム&lt;a class="td-heading-self-link" href="#the-rename-nobody-wanted-but-everyone-needed" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;この変更はすべてのサービスに影響し、既存のダッシュボードやクエリを壊すため、独立したセクションにする価値があります。&#10;すべてのカスタムテレメトリー属性が &lt;code&gt;app.*&lt;/code&gt; から &lt;code&gt;demo.*&lt;/code&gt; にリネームされました。&lt;/p&gt;&#10;&lt;p&gt;すべてです。&#10;&lt;code&gt;app.product.id&lt;/code&gt; は &lt;code&gt;demo.product.id&lt;/code&gt; になりました。&#10;&lt;code&gt;app.order.id&lt;/code&gt; は &lt;code&gt;demo.order.id&lt;/code&gt; に。&#10;&lt;code&gt;app.payment.amount&lt;/code&gt; は &lt;code&gt;demo.payment.amount&lt;/code&gt; に。&#10;すべてのサービスにわたって同様です。&#10;しかし、なぜでしょうか。&lt;/p&gt;&#10;&lt;p&gt;2022年に OTel デモを始めた頃、&lt;code&gt;app.*&lt;/code&gt; は予約済みの属性ではなく、その名前空間ですべてのカスタム属性とメトリクスを構築していました。&#10;時が経ち、2023年に &lt;code&gt;app.*&lt;/code&gt; が&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/docs/specs/semconv/registry/attributes/app/"&gt;クライアントサイドアプリケーション（ウェブアプリやモバイルアプリなど）に関連する属性を表す&lt;/a&gt;ためにプロジェクトに追加されました。&lt;/p&gt;&#10;&lt;p&gt;しかし、それが2023年に導入されたのに、なぜデモはまだ使い続けていたのでしょうか。&lt;/p&gt;&#10;&lt;p&gt;主な理由は2つあると考えられます。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;それを支援するツールが必要でした。&lt;/li&gt;&#10;&lt;li&gt;タスクを手伝ってくれるコントリビューターがもっと必要でした。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;1つ目は、&lt;a href="https://github.com/martinjt" target="_blank" rel="noopener" class="external-link"&gt;Martin Thwaites&lt;/a&gt; が &lt;a href="https://github.com/open-telemetry/weaver" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry Weaver&lt;/a&gt; をデモに導入したことで解決されました。&#10;2つ目は、&lt;a href="https://www.cncf.io/blog/2026/03/31/sustaining-opentelemetry-moving-from-dependency-management-to-stewardship/" target="_blank" rel="noopener" class="external-link"&gt;Bloomberg メンターシップ&lt;/a&gt;を通じてデモのコントリビューターになった &lt;a href="https://github.com/fbourgey" target="_blank" rel="noopener" class="external-link"&gt;Florian Bourgey&lt;/a&gt; の協力で解決されました。&#10;これは、OTel デモが OTel エコシステム全体とどれほど密接に結びついているかを示しています。&lt;/p&gt;</description></item><item><title>環境変数によるコンテキスト伝搬の安定化にご協力ください</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/environment-variable-context-propagation/</link><pubDate>Mon, 12 Oct 2026 08:43:13 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/environment-variable-context-propagation/</guid><description>&lt;p&gt;トレースは常にネットワーク境界を越えるわけではありません。&#10;ワークフローランナーがシェルを起動し、シェルがビルドツールを立ち上げ、ビルドツールがテストプロセスを開始します。&#10;バッチ処理やデータ処理システムでも、同様の子プロセスのチェーンが作られます。&#10;これらの境界を越えてトレース情報を受け渡す共通の方法がなければ、各プロセスのスパンは別々のトレースに分かれてしまいます。&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/concepts/context-propagation/"&gt;コンテキスト伝搬&lt;/a&gt;に馴染みがない方に説明すると、これはあるサービスやプロセスから次のサービスやプロセスへ情報を運ぶ仕組みです。&#10;トレーシングにおいては、新しいスパンが同じトレースに参加できるようにするトレース ID やスパン ID が含まれます。&#10;また、バゲージも運ぶことができます。バゲージとは、下流の処理に渡されるアプリケーション定義のキーバリューペアです。&lt;/p&gt;&#10;&lt;p&gt;OpenTelemetry の仕様では、&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/eec6fadba46a5002f55ff88ce4405d58a1aa4aec/specification/context/env-carriers.md" target="_blank" rel="noopener" class="external-link"&gt;環境変数をコンテキスト伝搬のキャリアとして使用する&lt;/a&gt;ためのリリース候補が公開されました。&#10;プロトコルヘッダーやメッセージメタデータが利用できない場合に、プロパゲーターが環境変数を使ってトレースコンテキストやバゲージなどのデータをプロセス間で運ぶ方法を標準化するものです。&lt;/p&gt;&#10;&lt;p&gt;この仕様を Stable にする前に、言語実装者、ツール作者、プラットフォームエンジニア、そして実際の CI/CD、バッチ処理、コマンドラインのワークロードを運用しているユーザーからのフィードバックを求めています。&lt;/p&gt;&#10;&lt;h2 id="what-is-an-environment-variable-carrier"&gt;環境変数キャリアとは&lt;a class="td-heading-self-link" href="#what-is-an-environment-variable-carrier" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;キャリアとは、サービスやプロセス間で伝搬データを受け渡すために使われる媒体です。&#10;プロパゲーターは伝搬フィールドをキャリアに書き込み、受信側でそれを読み取ります。&#10;HTTP ヘッダーはよく知られたキャリアです。&#10;あるプロセスが別のプロセスを起動する場合、子プロセスの環境が同じ役割を果たすことができます。&#10;伝搬フィールドは子プロセスの起動前に書き込まれ、子プロセスの初期化時に読み取られます。&lt;/p&gt;&#10;&lt;p&gt;リリース候補では、この仕組みがプラットフォーム間で一貫して動作するためのルールを定義しています。&#10;仕様では、文字列のキーバリューキャリアと共に使われるプロパゲーターの型を &lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/ce9394dc3dd53bb182611d2f3ba1e8f53975e905/specification/context/api-propagators.md#textmap-propagator" target="_blank" rel="noopener" class="external-link"&gt;&lt;code&gt;TextMapPropagator&lt;/code&gt;&lt;/a&gt; と呼んでいます。&lt;/p&gt;&#10;&lt;p&gt;たとえば、W3C Trace Context と W3C Baggage プロパゲーターを使用する場合、伝搬フィールドは以下のような環境変数で表されます。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;TRACEPARENT=00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;TRACESTATE=vendorname=opaquevalue&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;BAGGAGE=build.id=42,repository.name=example&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-specification/blob/ce9394dc3dd53bb182611d2f3ba1e8f53975e905/specification/context/api-propagators.md#operations" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry Propagators API&lt;/a&gt; では、伝搬フィールドをキャリアに書き込むことを&lt;strong&gt;注入&lt;/strong&gt;、読み取ることを&lt;strong&gt;抽出&lt;/strong&gt;と呼びます。&lt;/p&gt;&#10;&lt;p&gt;プロセス内部では、OpenTelemetry は伝搬データを &lt;code&gt;Context&lt;/code&gt; に保持します。&#10;トレーシングの場合、そのデータには &lt;code&gt;SpanContext&lt;/code&gt; が含まれ、&lt;code&gt;Baggage&lt;/code&gt; も含まれることがあります。&#10;注入時に、プロパゲーターは現在の &lt;code&gt;Context&lt;/code&gt; からデータを読み取り、キャリアに書き込みます。&#10;抽出時には、キャリアを読み取り、そのデータを含む新しい &lt;code&gt;Context&lt;/code&gt; を返します。&lt;/p&gt;&#10;&lt;p&gt;環境変数キャリアはこれらの値を解釈しません。&#10;プレーンな文字列として扱います。&#10;フィールド名の選択、値の検証と解析は、設定されたプロパゲーターが引き続き担当します。&#10;これにより、キャリアは W3C フォーマットだけでなく、B3 のようなフォーマットでも使用できます。&lt;/p&gt;&#10;&lt;p&gt;環境変数名は HTTP ヘッダー名よりも制約が多いため、仕様では正規化アルゴリズムを定義しています。&#10;ASCII 文字を大文字に変換し、サポートされない文字をアンダースコアに置き換え、名前が数字で始まらないようにします。&#10;たとえば以下のようになります。&lt;/p&gt;</description></item><item><title>OpenTelemetry におけるメトリクスのカーディナリティ制限：実践ガイド</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/cardinality-limits-in-opentelemetry/</link><pubDate>Mon, 12 Oct 2026 08:43:02 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/cardinality-limits-in-opentelemetry/</guid><description>&lt;p&gt;OpenTelemetry のメトリクスは、本番環境で安全に使えるように設計されています。&#10;その安全性の一部を担っているのが、メトリクス SDK の&lt;strong&gt;カーディナリティ制限&lt;/strong&gt;です。&#10;この制限は、メトリクスが一意な属性の組み合わせを過剰に受け取ったときに、プロセスのメモリが際限なく増加するのを防ぎます。&lt;/p&gt;&#10;&lt;p&gt;この保護は有用ですが、多くのユーザーが予想しない結果をもたらします。&#10;メトリクスストリームがオーバーフローすると、合計値は正しいままですが、属性でフィルタリングまたはグループ化するクエリは過少にカウントされる可能性があります。&#10;これは、オーバーフローが始まる前には正しく見えていたダッシュボード、サービスレベル目標（SLO）、アラートに影響する可能性があります。&lt;/p&gt;&#10;&lt;p&gt;メトリクスのコンセプトドキュメントには、SDK の動作を詳しく説明する&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/concepts/signals/metrics/#cardinality-limits"&gt;カーディナリティ制限&lt;/a&gt;セクションが追加されました。&#10;この投稿は、そのドキュメントの運用面を補完するものです。&#10;制限が実際に何を意味するのか、オーバーフローした測定値のすべての属性がなぜ影響を受けるのか、適切な制限をどう選ぶか、すでに制限に達しているかどうかをどう確認するか、そして本番環境でどう監視するかを説明します。&lt;/p&gt;&#10;&lt;h2 id="the-basic-model"&gt;基本モデル&lt;a class="td-heading-self-link" href="#the-basic-model" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;メトリクスの測定値を記録するとき、&lt;code&gt;http.route=/checkout&lt;/code&gt;、&lt;code&gt;http.request.method=GET&lt;/code&gt;、&lt;code&gt;success=false&lt;/code&gt; などの属性を付与できます。&#10;SDK は属性値の完全なセットごとに測定値を集約します。&#10;一意な属性の組み合わせごとに、SDK がメモリ上で追跡する個別のデータポイントになります。&lt;/p&gt;&#10;&lt;p&gt;たとえば、このリクエストカウンターには4つの一意な組み合わせがあります。&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;code&gt;http.route&lt;/code&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;code&gt;success&lt;/code&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;カウント&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;/home&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;130&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;/home&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;/cart&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;50&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;/cart&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;false&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;このメトリクスストリームのカーディナリティは4です。&#10;&lt;code&gt;tenant_id&lt;/code&gt; のような高カーディナリティの属性を追加すると、組み合わせの数は非常に急速に増加します。&#10;これが SDK が制限を強制する理由です。&#10;デフォルトの集約カーディナリティ制限は、メトリクスストリームあたり2000の組み合わせです。&lt;/p&gt;&#10;&lt;p&gt;制限に達すると、追加の組み合わせは破棄されません。&#10;それらの値は &lt;code&gt;otel.metric.overflow=true&lt;/code&gt; でマークされた単一のオーバーフローデータポイントに集約されます。&#10;重要なのは、元の測定値の属性がオーバーフローデータポイントから削除されるという点です。&lt;/p&gt;&#10;&lt;p&gt;したがって、次の測定値がオーバーフローした場合：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{http.route=/checkout, success=false} 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;エクスポートされる値は次の一部となります：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;{otel.metric.overflow=true} 1&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;合計カウントは引き続き正しいです。&#10;リクエスト総数のクエリでは値を確認できます。&#10;しかし、&lt;code&gt;success=false&lt;/code&gt; のクエリではその値を確認できません。&#10;オーバーフローデータポイントは &lt;code&gt;success=false&lt;/code&gt; を持たないためです。&lt;/p&gt;&#10;&lt;p&gt;ここで覚えておくべきことがあります。&#10;オーバーフローは、高カーディナリティを引き起こした属性だけでなく、&lt;strong&gt;属性の組み合わせ全体&lt;/strong&gt;に影響します。&#10;真偽値の &lt;code&gt;success&lt;/code&gt; のような低カーディナリティの属性であっても、その測定値がオーバーフローに集約されると、フィルタリングやグループ化に対して信頼できなくなります。&lt;/p&gt;&#10;&lt;h2 id="the-production-implications"&gt;本番環境への影響&lt;a class="td-heading-self-link" href="#the-production-implications" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;カーディナリティ制限は、プロセスのメモリ保護メカニズムです。&#10;すべてのメトリクスの内訳がクエリ可能であることを一般的に保証するものではなく、バックエンドのカーディナリティ制限でもありません。&lt;/p&gt;</description></item><item><title>OpenTelemetry Java エージェント 3.0 がまもなく登場 — 今すぐプレビューしましょう</title><link>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/java-agent-3.0-preview/</link><pubDate>Sun, 11 Oct 2026 01:11:24 +0000</pubDate><guid>https://deploy-preview-12558--opentelemetry.netlify.app/ja/blog/2026/java-agent-3.0-preview/</guid><description>&lt;p&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation" target="_blank" rel="noopener" class="external-link"&gt;OpenTelemetry Java エージェント&lt;/a&gt;の &lt;strong&gt;&lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/tag/v2.32.0" target="_blank" rel="noopener" class="external-link"&gt;2.32.0 リリース&lt;/a&gt;&lt;/strong&gt; が公開されました。&#10;これは &lt;strong&gt;3.0&lt;/strong&gt; のリリース候補であり、&lt;strong&gt;2026年10月&lt;/strong&gt; のリリースを目標としています。&#10;3.0 までに一部の動作が変更される可能性はありますが、デフォルトになる前に今すぐ新しい動作をプレビューできます。&lt;/p&gt;&#10;&lt;p&gt;3.0 はテレメトリー、設定、計装のデフォルトを変更します。&#10;データベースとコードの規約は安定版のデフォルトになり、メッセージングはまだ実験的な新しい規約を採用し、一部のキャプチャ設定や計装のデフォルトも変更されます。&#10;&lt;a href="#what-to-check"&gt;確認すべきポイント&lt;/a&gt;では各領域について説明しています。&lt;/p&gt;&#10;&lt;p&gt;ご自身のダッシュボード、アラート、ダウンストリームパイプラインに対して試し、3.0 が確定する前に&lt;a href="https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues" target="_blank" rel="noopener" class="external-link"&gt;問題があればお知らせください&lt;/a&gt;。&lt;/p&gt;&#10;&lt;h2 id="try-the-preview"&gt;プレビューを試す&lt;a class="td-heading-self-link" href="#try-the-preview" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;以下の例では、環境変数と&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/zero-code/java/agent/declarative-configuration/"&gt;宣言的設定&lt;/a&gt;を示しています。&#10;Java エージェントでの宣言的設定のサポートは実験的です。&#10;試す場合は、&lt;a href="https://deploy-preview-12558--opentelemetry.netlify.app/ja/docs/zero-code/java/agent/declarative-configuration/#convert-your-existing-configuration"&gt;設定コンバーター&lt;/a&gt;と Ecosystem Explorer の&lt;a href="https://explorer.opentelemetry.io/java-agent/configuration/builder" target="_blank" rel="noopener" class="external-link"&gt;設定ビルダー&lt;/a&gt;を使って始められます。&#10;YAML ファイルは &lt;code&gt;-Dotel.config.file=/path/to/otel-config.yaml&lt;/code&gt; で渡してください。&lt;/p&gt;&#10;&lt;p&gt;環境変数を最初のタブに、宣言的設定を2番目のタブに表示しています。&#10;YAML スニペットは、既存の設定ファイルにマージするためのフラグメントです。&#10;リソース、エクスポーター、その他の設定はそのまま維持してください。&lt;/p&gt;&#10;&lt;h3 id="step-1-compare-old-and-new-telemetry"&gt;ステップ 1: 古いテレメトリーと新しいテレメトリーを比較する&lt;a class="td-heading-self-link" href="#step-1-compare-old-and-new-telemetry" aria-label="Heading self-link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;テストデプロイメントで開始し、プレビュー設定を有効にする前にベースラインのテレメトリーをキャプチャしてください。&#10;次に、アプリケーションに関連するドメインを選択します。&#10;アンブレラプレビューフラグをオフにした状態で、&lt;code&gt;/dup&lt;/code&gt; を追加すると、古い属性と新しい属性、およびデュアルエミッションがサポートされているメトリクスを同時に出力できます。&lt;/p&gt;&#10;&#10;&#10; &lt;ul class="nav nav-tabs" id="tabs-00-tablist-9f545ea80d874734" role="tablist"&gt;&#10; &lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link active"&#10; id="tabs-00-00-tab-9f545ea80d874734" data-bs-toggle="tab" data-bs-target="#tabs-00-00-9f545ea80d874734" role="tab"&#10; data-td-tp-persist="環境変数" aria-controls="tabs-00-00-9f545ea80d874734" aria-selected="true"&gt;&#10; 環境変数&#10; &lt;/button&gt;&#10; &lt;/li&gt;&lt;li class="nav-item"&gt;&#10; &lt;button class="nav-link"&#10; id="tabs-00-01-tab-9f545ea80d874734" data-bs-toggle="tab" data-bs-target="#tabs-00-01-9f545ea80d874734" role="tab"&#10; data-td-tp-persist="宣言的設定" aria-controls="tabs-00-01-9f545ea80d874734" aria-selected="false"&gt;&#10; 宣言的設定&#10; &lt;/button&gt;&#10; &lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;div class="tab-content" id="tabs-00-content-9f545ea80d874734"&gt;&#10; &lt;div class="tab-body tab-pane fade show active"&#10; id="tabs-00-00-9f545ea80d874734" role="tabpanel" aria-labelledby="tabs-00-00-tab-9f545ea80d874734" tabindex="0"&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;OTEL_INSTRUMENTATION_COMMON_V3_PREVIEW=false&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;OTEL_SEMCONV_STABILITY_OPT_IN=database/dup,code/dup&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;OTEL_SEMCONV_STABILITY_PREVIEW=messaging/dup&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10; &lt;div class="tab-body tab-pane fade"&#10; id="tabs-00-01-9f545ea80d874734" role="tabpanel" aria-labelledby="tabs-00-01-tab-9f545ea80d874734" tabindex="0"&gt;&#10; &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;instrumentation/development&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;general&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;stability_opt_in_list&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;database/dup,code/dup&amp;#39;&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;java&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;common&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;v3_preview&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;semconv_stability&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;preview&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;messaging/dup]&lt;/span&gt;&lt;span class="w"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;たとえば、&lt;code&gt;public&lt;/code&gt; スキーマを使用するよう設定された、データベース &lt;code&gt;orders&lt;/code&gt; への PostgreSQL JDBC 接続を考えてみましょう。&#10;デュアルエミッションを使用すると、スパンに両方のネーミングスキームを持たせることができます。&lt;/p&gt;</description></item></channel></rss>