Slide 1

Slide 1 text

opentelemetry org に寄贈された opentelemetry-kotlin の紹介 2026/01/23 Server-Side Kotlin LT大会 vol.17 Masaki Sugimoto

Slide 2

Slide 2 text

目次 はじめに オブザーバビリティと OpenTelemetry について opentelemetry-kotlin の寄贈について opentelemetry-kotlin の進捗 まとめ 1

Slide 3

Slide 3 text

目次 はじめに オブザーバビリティと OpenTelemetry について opentelemetry-kotlin の寄贈について opentelemetry-kotlin の進捗 まとめ 2

Slide 4

Slide 4 text

はじめに 自己紹介 名前 Masaki Sugimoto 所属 株式会社ヘンリー 現在のロール レセコン一体型電子カルテ「Henry」のレセコン側の SWE 過去の経歴 Yahoo!オークション・Yahoo!フリマの SRE Yahoo!オークション・Yahoo!フリマの課金システムの SWE その他 オブザーバビリティ(o11y)に関心を持つ。o11y・Kotlin・AWS を勉強中 OpenTelemetry docs-ja-approver(日本語ドキュメントのレビュー権限保持者) opentelemetry-kotlin approver(opentelemetry-kotlin の approve 権限保持者) Observability Conference Tokyo 2025(O11y Con Tokyo)実行委員 3

Slide 5

Slide 5 text

はじめに 会社紹介 4

Slide 6

Slide 6 text

はじめに 発表内容 オブザーバビリティと OpenTelemetry の話 opentelemetry-kotlin が opentelemetry org に寄贈された話 現在の opentelemetry-kotlin の状況について 5

Slide 7

Slide 7 text

目次 オブザーバビリティと OpenTelemetry について はじめに opentelemetry-kotlin の寄贈について opentelemetry-kotlin の進捗 まとめ 6

Slide 8

Slide 8 text

オブザーバビリティと OpenTelemetry について オブザーバビリティの定義(1/2) オブザーバビリティ 英語だと「Observability」 。略して o11y と記述されることもある 簡単に言うと、私たちが考えるソフトウェアシステムの「オブザーバビリティ」とは、システムがどのよう な状態になったとしても、それがどんなに斬新で奇妙なものであっても、どれだけ理解し説明できるかを 示す尺度です。 また、そのような斬新で奇妙な状態に対しても、事前にデバッグの必要性を定義したり予測したりするこ となく、システムの状態データのあらゆるディメンションやそれらの組み合わせについてアドホックに調査 し、よりデバッグが可能であるようにする必要があります。 もし、新しいコードをデプロイする必要がなく、どんな斬新で奇妙な状態でも理解できるなら、オブザー バビリティがあると言えます。 「オブザーバビリティ・エンジニアリング」より引用 7

Slide 9

Slide 9 text

オブザーバビリティと OpenTelemetry について オブザーバビリティの定義(2/2) オブザーバビリティの具体例。 オブザーバビリティが低い 「障害が発生したときに、アプリケーションに長く関わった人(システムのベテラン、玄人など) の経験と直感じゃないと解決できない状態」 オブザーバビリティが高い 「障害が発生したときに、アプリケーションにあまり関わってない人(新規参画者、開発に関わ っていないエンジニアなど)でも解決できる状態」 高いオブザーバビリティを実現するために 以下の 3 つのシグナルの関連づけが重要 トレース ログ メトリクス 8

Slide 10

Slide 10 text

OpenTelemetry とは CNCF のプロジェクトの 1 つ。 標準化されたオブザーバビリティのテレメトリーデータ(トレース、メトリク ス、ログ、etc...)の送信を可能にする。 OpenTelemetry とは、次のようなものです。 オブザーバビリティフレームワークでありツールキットです。トレース、メトリクス、ログのようなテレメ トリーデータ の次の処理を容易にするために設計されています(中略) オープンソースであり、ベンダーやツールにとらわれません。つまり、Jaeger や Prometheus のようなオ ープンソースツールや、商用製品を含む、さまざまなオブザーバビリティバックエンドで使用できるという ことです。OpenTelemetry はオブザーバビリティバックエンドではありません。 OpenTelemetry とはより引用。最終閲覧日 2025 年 12 月 12 日。 9

Slide 11

Slide 11 text

OpenTelemetry とは OpenTelemetry を使えば複数のメトリクスを 1 つのダッシュボードにまと められるかも。 。 。 (画像はイメージ) 10

Slide 12

Slide 12 text

目次 opentelemetry-kotlin の寄贈について はじめに オブザーバビリティと OpenTelemetry について opentelemetry-kotlin の進捗 まとめ 11

Slide 13

Slide 13 text

opentelemetry-kotlin の寄贈について Call for Contributors: OpenTelemetry for Kotlin 2025 年 9 月 30 日に、Call for Contributors: OpenTelemetry for Kotlin が投稿される。 Embrace 社が opentelemetry org に opentelemetry-kotlin を寄贈する opentelemetry-kotlin が公式 SDK として opentelemetry org 配下になるこ とで、コントリビューターの充足と継続的な保守を期待 記事そのものは、コントリビューターの募集についての呼びかけ 12

Slide 14

Slide 14 text

opentelemetry-kotlin の寄贈について 2025 年 12 月 11 日に opentelemetry-kotlin の寄贈が決定 13

Slide 15

Slide 15 text

opentelemetry-kotlin の寄贈について 個人的な期待を紹介 opentelemetry-kotlin の issue でも記載されていた opentelemetry-java で 実現できないことを実現できないか期待 より Kotlin らしく書ける Java だと Thread Local が必要な処理を coroutine で書く (個人的に) makeCurrent() の閉じ忘れを try catch finally 以外で実現できないかと思う KMP 対応を念頭においた実装 KMP のおかげで、モバイルからバックエンドまで opentelemetry-kotlin を利用できる OpenTelemetry の SDK はバックエンド周りは進んでいるが、フロントエンド(特にモバイル) は遅れをとっている 14

Slide 16

Slide 16 text

目次 opentelemetry-kotlin の進捗 はじめに オブザーバビリティと OpenTelemetry について opentelemetry-kotlin の寄贈について まとめ 15

Slide 17

Slide 17 text

opentelemetry-kotlin の進捗 コントリビューターをどのようにして集めたのか コントリビューターを積極的に募集中。 当時は、ほぼ挙手制だった。 16

Slide 18

Slide 18 text

opentelemetry-kotlin の進捗 Approver になった経緯 opentelemetry-kotlin と opentelemetry-java の比較検討中、バグを発見。 「opentelemetry-kotlin は opentelemetry-java の互換モードがある」とい う触込みのはずなのに、コンテキストが繋がらなかった。 17

Slide 19

Slide 19 text

opentelemetry-kotlin の進捗 Approver になった経緯 CNCF の Slack で問い合わせたところ、バグだということが判明。 アドバイスをもらったので PR(embrace-io/opentelemetry- kotlin/pull/487)を作成。 1 行だけ修正した PR がマージされた。 18

Slide 20

Slide 20 text

opentelemetry-kotlin の進捗 Approver になった経緯 PR マージ後に、Approver になりたいということを頼み込んだ。 19

Slide 21

Slide 21 text

opentelemetry-kotlin の進捗 Approver になった経緯 Approver にしてもらえて、GitHub に名前を載せてもらえた。 -> 結構ハードルが低かった。 20

Slide 22

Slide 22 text

opentelemetry-kotlin の進捗 opentelemetry-kotlin の近況 圧倒的に仕様不足 OpenTelemetry のトレース・ログ・メトリクスのうち、メトリクスの進捗はゼロ spec-compliance-matrix(OTel 仕様準拠表)への記載を提案 ドキュメントの整備が皆無 opentelemetry.ioに Kotlin のページがない。Kotlin SDK の存在を知っている人も少なさそう ドキュメントページの作成を提案 コミッター不足 ほぼ Embrace 社の人が作業している 私もやりたいが、簡単なやつは Embrace 社の人がサクッと実装されていく。 。 。 21

Slide 23

Slide 23 text

opentelemetry-kotlin の進捗 opentelemetry-kotlin へのコミット コミットチャンスはある 直近の stdout exporters と、User-Agent header は難易度が低め Maintainer が積極的に issue を作っているので、次に何をやるのか明確 OpenTelemetry の仕様定義から実装を読み解く経験 opentelemetry-java や opentelemetry-go とかを参考に読める これから利用される可能性の高い OSS のコードを全て読めるぐらいの分量 寄贈されてから 26 コミットしかされていないので、差分は追える 22

Slide 24

Slide 24 text

opentelemetry-kotlin の進捗 opentelemetry-kotlin の近況 Q.「opentelemetry-kotlin について話す機会があるけど、なんか紹介したい ことある?」 A.「まずは Slack Channel を紹介してくれ」 「誰でも Feed Back はウェルカ ム」 「オープンな場にしたいんだ」 23

Slide 25

Slide 25 text

opentelemetry-kotlin の進捗 CNCF の Slack CNCF の Slack は誰でも入れます。 ぜひ、#otel-kotlin と #otel-localization-ja に来てください。 24

Slide 26

Slide 26 text

目次 まとめ はじめに オブザーバビリティと OpenTelemetry について opentelemetry-kotlin の寄贈について opentelemetry-kotlin の進捗 25

Slide 27

Slide 27 text

まとめ OpenTelemetry は高いオブザーバビリティを実現するための OSS 統一された仕様により、トレース・ログ・メトリクスを実現する opentelemetry-kotlin が opentelemetry org に寄贈されました CNCF 傘下に加わることで、継続的な開発保守が期待されるようになった コントリビューターを随時募集中 仕様準拠した実装を増やすことが現在の最優先目標 opentelemetry-kotlin と公式ドキュメントの翻訳に興味がある方、ぜひお話ししましょう 26

Slide 28

Slide 28 text

宣伝 ヘンリーでは、サーバーサイド Kotlin と OpenTelemetry(opentelemetry- java)を採用しています。 Kotlin とオブザーバビリティに興味がある方はぜひお話ししましょう 27

Slide 29

Slide 29 text

参考文献 ウェブサイト OpenTelemetry, opentelemetry.io, https://opentelemetry.io/ja/, 2026 年 1 月 23 日 opentelemetry-kotlin, github, https://github.com/open-telemetry/opentelemetry-kotlin, 2025 年 8 月 4 日 28