OpenTelemetry JavaScript SDK 2.0 のリリース
Blog posts are not updated after publication. This post is more than a year old, so its content may be outdated, and some links may be invalid. Cross-verify any information before relying on it.
うれしいニュースです。 OpenTelemetry JavaScript の SDK 2.0 がリリースされました!
マイグレーションガイド
破壊的変更の詳細については、マイグレーションガイドを参照してください。 OpenTelemetry JS SDK 2.x へのアップグレード
JS SDK 2.x とは
JS SDK 2.x は、opentelemetry-js リポジトリから公開されている @opentelemetry/* JavaScript パッケージの新しいリリースを包含するもので、API パッケージおよび semantic-conventions パッケージは除きます。
この新しいメジャーバージョンのパッケージバージョンは、安定版が >=2.0.0、不安定版が >=0.200.0 です。
パッケージの完全な一覧についてはマイグレーションガイドを参照してください。
変更点
概要は以下のとおりです。
- サポートされる Node.js の最小バージョンが
^18.19.0 || >=20.6.0に引き上げられました。 これは、Node.js 14 および 16 のサポートが廃止されたことを意味します。 - サポートされる TypeScript の最小バージョンが 5.0.4 に引き上げられました。
- トランスパイルされた TypeScript のコンパイルターゲットが ES2022 に引き上げられました(ES2017 から)。
- パブリックインターフェイスが変更されました。
- 2.x / 0.200.x への移行に関する注意事項は、アップグレードガイドを参照してください。
詳細は以下のとおりです。
- Node.js のサポートバージョン
- TypeScript のサポートバージョン
- ES2022 コンパイルターゲット
- ブラウザでの
window.OTEL_*サポートの廃止 @opentelemetry/resourcesの API 変更@opentelemetry/coreの API 変更- トレーシング SDK の API 変更
@opentelemetry/sdk-metricsの API 変更- リソースディテクターの実装者向け
@opentelemetry/resourcesの変更 - その他の変更
なぜこの変更が行われたのか
以下の領域で破壊的変更を許容することで、最大の恩恵が得られると考えていました。
- 最適化: クラスと名前空間を削除し、より効果的なミニファイとツリーシェイキングを可能にする。
- より良いツーリングとサポート: 古いランタイムとツールバージョンを廃止し、ESM サポートの強化を活用し、ドキュメントを簡素化する。
- 開発速度: コードの複雑さを軽減し、非推奨フィールドを削除することで、機能開発とメンテナンス作業を迅速化する。
これは、毎年新しい SDK メジャーリリースを行うという目標の始まりでもあります。
2.0 の理由についてのより詳しい説明は、イシュー #4083 を参照してください。
参加するには
- v2.0.0 と v0.200.0 のリリースを試して、フィードバックを提供してください。
- コントリビューションの詳細については、コントリビューションガイドを確認してください。
- SIG ミーティングに参加してください。
- Slack でコラボレーションしてください。