🔄beeline-migration
- プラグイン
- honeycomb
- ソース
- GitHub で見る ↗
説明
Honeycomb Beelines(サポート終了)から OpenTelemetry への移行に関するステップバイステップガイドです。 **次のような場合に使用:** 「Beelines から移行したい」「Beeline から OpenTelemetry にアップグレードしたい」「OTel に移行したい」「Beelines を置き換えたい」「Beeline のサポート終了について」「Beeline EOL について」「Beeline から OTel に切り替えたい」「Go/Python/Node/Java/Ruby の Beeline を移行したい」「W3C トレースヘッダー(分散トレースの追跡情報)について」「W3C プロパゲーション(トレース情報の伝播)について」「OpenTelemetry への段階的な移行」、または Honeycomb Beelines から OpenTelemetry SDK への移行に関するいかなるご質問
原文を表示
Step-by-step guide for migrating from Honeycomb Beelines (End of Life) to OpenTelemetry instrumentation. Trigger phrases: "migrate from Beelines", "upgrade from Beeline to OpenTelemetry", "migrate to OTel", "replace Beelines", "Beeline end of life", "Beeline EOL", "switch from Beeline to OTel", "migrate Go Beeline", "migrate Python Beeline", "migrate Node Beeline", "migrate Java Beeline", "migrate Ruby Beeline", "W3C trace headers", "W3C propagation", "incremental migration to OpenTelemetry", or any request about migrating from Honeycomb Beelines to OpenTelemetry SDKs.
ユースケース
- ✓Beelinesからの移行を検討するとき
- ✓OpenTelemetryへのアップグレードを進めるとき
- ✓言語別のBeeline移行方法を知りたいとき
- ✓W3Cトレースヘッダーについて理解したいとき
- ✓トレース情報の伝播方法を確認するとき
本文(日本語訳)
Honeycomb Beeline から OpenTelemetry への移行ガイド
Honeycomb Beeline(現在はサポート終了)から OpenTelemetry(分散トレース計測の標準規格)への移行手順です。
現在の状況
Honeycomb Beeline はサポート終了となり、アーカイブされました。新しい計測はすべて OpenTelemetry を使用してください。既存の Beeline ユーザーは、できるだけ早く移行してください。
移行戦略
2段階の移行方式により、サービスごとに段階的に移行でき、分散トレース(複数のサービス間での処理追跡)が途切れません。
フェーズ1:全サービスで W3C トレース伝播を有効化
OpenTelemetry への移行を始める前に、すべてのサービスが W3C トレースヘッダー(トレース情報を運ぶデータ形式)に対応している必要があります。これにより Beeline と OpenTelemetry のサービスがトレース情報を共有できます。
- 各 Beeline を W3C ヘッダー対応の最小バージョン以上にアップグレード
- 各 Beeline で W3C 伝播形式を設定
- W3C 対応でデプロイ
- 確認:サービス間でトレースが正しくリンクしていることを確認
W3C対応の Beeline 最小バージョン:
| 言語 | 最小バージョン |
|---|---|
| Go | 1.4.0 |
| Java | 1.7.0 |
| Node.js | 3.2.2 |
| Python | 2.18.0 |
| Ruby | 2.8.0 |
フェーズ2:各サービスを OpenTelemetry に移行(1つずつ)
すべてのサービスが W3C ヘッダーに対応したら:
- 移行するサービスを選択(依存関係が少ないサービスから始める)
- Beeline SDK を OpenTelemetry SDK に置き換え
- OTLP エクスポーター(データ送信先)を Honeycomb に向ける
- 自動計測ライブラリを追加
- Beeline のカスタム計測を OpenTelemetry で再実装
- デプロイして、トレースが正しくつながっていることを確認
- 次のサービスで繰り返す
重要ルール:フェーズ2を開始する前に、フェーズ1をすべてのサービスで完了させてください。
W3C 伝播設定
Go Beeline
beeline.Init(beeline.Config{
HTTPPropagationHook: propagation.W3C,
})
Python Beeline
beeline.init(
http_trace_propagation_hook=beeline.propagation.w3c.http_trace_propagation_hook,
http_trace_parser_hook=beeline.propagation.w3c.http_trace_parser_hook,
)
Node.js Beeline
const beeline = require("honeycomb-beeline")({
httpTraceParserHook: beeline.w3c.httpTraceParserHook,
httpTracePropagationHook: beeline.w3c.httpTracePropagationHook,
});
Java と Ruby の設定については、${CLAUDE_PLUGIN_ROOT}/skills/beeline-migration/references/w3c-propagation.md を参照してください。
サービス移行チェックリスト
Beeline から OpenTelemetry に移行する各サービスについて:
- [ ] Beeline が W3C に対応している(フェーズ1完了)
- [ ] OpenTelemetry SDK と OTLP エクスポーターパッケージをインストール
- [ ] OTLP エンドポイントと Honeycomb 認証ヘッダーを設定
- [ ]
OTEL_SERVICE_NAMEを既存のサービス名と同じにする - [ ] 自動計測ライブラリを追加(HTTP、データベースなど)
- [ ] カスタムスパン(トレース内の処理単位)を移行:
startSpan()→tracer.start_span() - [ ] カスタム属性を移行:
addField()→span.set_attribute() - [ ] Beeline への依存を削除
- [ ] デプロイして確認:Beeline と OpenTelemetry のサービス間でトレースがリンクしている
- [ ] Honeycomb でカスタム属性が表示されることを確認
移行安全性チェックリスト
-
フェーズ2を始める前に、すべてのサービスでフェーズ1を完了させてください — 伝播形式が混在すると、サービス間でトレースがつながりません
-
OTEL_SERVICE_NAMEを Beeline のサービス名と同じに保ってください — Honeycomb はこれをデータセット名として使用しており、変更すると新しいデータセットにデータが分散します -
Beeline SDK を削除する前に、すべての
addField()の呼び出しを監査してください — 各呼び出しに対応するspan.set_attribute()を OpenTelemetry で実装して、クエリの検索項目を保持する必要があります -
OpenTelemetry の自動計測フィールド名を Beeline のフィールド名と比較してください — OpenTelemetry は異なる属性名を使う場合があります(例:
http.request.methodとrequest.method)。ダッシュボードやサービスレベル目標が古い名前を参照している場合は更新が必要です
参考リソース
参考ファイル
${CLAUDE_PLUGIN_ROOT}/skills/beeline-migration/references/migration-steps-by-language.md— 言語ごとの詳細な移行コード${CLAUDE_PLUGIN_ROOT}/skills/beeline-migration/references/w3c-propagation.md— すべての Beeline 言語の W3C 設定
関連ドキュメント
- 移行後の OpenTelemetry SDK セットアップについては、otel-instrumentation スキルを参照してください
原文(English)を表示
Beeline to OpenTelemetry Migration
Step-by-step guide for migrating from Honeycomb Beelines (now End of Life) to OpenTelemetry instrumentation.
Status
Honeycomb Beelines have reached End of Life and are archived. All new instrumentation should use OpenTelemetry. Existing Beeline users should migrate as soon as practical.
Migration Strategy
Migration follows a two-phase approach that allows incremental, service-by-service migration without breaking distributed traces.
Phase 1: Enable W3C Trace Propagation (All Services)
Before migrating any service to OTel, all services must support W3C trace headers. This enables Beeline and OTel services to share trace context.
- Upgrade each Beeline to the minimum version supporting W3C headers
- Configure each Beeline to use W3C propagation format
- Deploy all services with W3C enabled
- Verify: Traces still link correctly across services
Minimum Beeline versions for W3C support:
| Language | Minimum Version |
|---|---|
| Go | 1.4.0 |
| Java | 1.7.0 |
| Node.js | 3.2.2 |
| Python | 2.18.0 |
| Ruby | 2.8.0 |
Phase 2: Migrate Each Service to OTel (One at a Time)
After all services support W3C headers:
- Choose a service to migrate (start with leaf services — fewest dependencies)
- Replace Beeline SDK with OpenTelemetry SDK
- Configure OTLP exporter to point to Honeycomb
- Add auto-instrumentation libraries
- Replicate any custom Beeline instrumentation in OTel
- Deploy and verify traces still connect
- Repeat for next service
Key rule: Complete Phase 1 across ALL services before starting Phase 2 on ANY service.
W3C Propagation Configuration
Go Beeline
beeline.Init(beeline.Config{
HTTPPropagationHook: propagation.W3C,
})
Python Beeline
beeline.init(
http_trace_propagation_hook=beeline.propagation.w3c.http_trace_propagation_hook,
http_trace_parser_hook=beeline.propagation.w3c.http_trace_parser_hook,
)
Node.js Beeline
const beeline = require("honeycomb-beeline")({
httpTraceParserHook: beeline.w3c.httpTraceParserHook,
httpTracePropagationHook: beeline.w3c.httpTracePropagationHook,
});
For Java and Ruby configurations, consult ${CLAUDE_PLUGIN_ROOT}/skills/beeline-migration/references/w3c-propagation.md.
Service Migration Checklist
For each service being migrated from Beeline to OTel:
- [ ] Beeline version supports W3C (Phase 1 complete)
- [ ] Install OTel SDK and OTLP exporter packages
- [ ] Configure OTLP endpoint and headers for Honeycomb
- [ ] Set
OTEL_SERVICE_NAMEto match existing service name - [ ] Add auto-instrumentation libraries (HTTP, DB, etc.)
- [ ] Port custom spans: Beeline
startSpan()-> OTeltracer.start_span() - [ ] Port custom attributes: Beeline
addField()-> OTelspan.set_attribute() - [ ] Remove Beeline dependency
- [ ] Deploy and verify: traces link across Beeline and OTel services
- [ ] Verify: custom attributes appear in Honeycomb
Migration Safety Checklist
- Complete Phase 1 across all services before starting Phase 2 — mixed propagation formats break trace linking across service boundaries
- Keep
OTEL_SERVICE_NAMEidentical to the Beeline service name — Honeycomb uses this as the dataset name, and changing it splits your data into a new dataset - Audit all Beeline
addField()calls before removing the Beeline SDK — each one needs a correspondingspan.set_attribute()in OTel to preserve your query dimensions - Compare OTel auto-instrumentation field names against Beeline field names — OTel may use different attribute names (e.g.,
http.request.methodvsrequest.method), and dashboards or SLIs referencing the old names will need updating
Additional Resources
Reference Files
${CLAUDE_PLUGIN_ROOT}/skills/beeline-migration/references/migration-steps-by-language.md— Detailed migration code for each language${CLAUDE_PLUGIN_ROOT}/skills/beeline-migration/references/w3c-propagation.md— Complete W3C configuration for all Beeline languages
Cross-References
- For OTel SDK setup after migration, see the otel-instrumentation skill
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。