Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenTelemetry でゼロコード計装と手動計装どっちもやる
Search
rmatsuoka
May 23, 2025
Programming
0
120
OpenTelemetry でゼロコード計装と手動計装どっちもやる
rmatsuoka
May 23, 2025
Tweet
Share
More Decks by rmatsuoka
See All by rmatsuoka
Exponential Histogram?
rmatsuoka
0
360
OpenTelemetry の Trace を中心としたパフォーマンス改善
rmatsuoka
1
2.4k
Other Decks in Programming
See All in Programming
ローターアクトEクラブ アメリカンナイト:川端 柚菜 氏(Japan O.K. ローターアクトEクラブ 会長):2720 Japan O.K. ロータリーEクラブ2025年12月1日卓話
2720japanoke
0
730
開発に寄りそう自動テストの実現
goyoki
1
850
Cap'n Webについて
yusukebe
0
130
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.3k
Integrating WordPress and Symfony
alexandresalome
0
150
Developing static sites with Ruby
okuramasafumi
0
270
エディターってAIで操作できるんだぜ
kis9a
0
710
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Documentation Writing (for coders)
carmenintech
76
5.2k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Side Projects
sachag
455
43k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Transcript
OpenTelemetry で ゼロコード計装と手動計装 どっちもやる rmatsuoka はてな オブザーバビリティ / 関ジャバ'25 5月度
LT
Mackerel 作ってます! • Mackerel は Scala • OpenTelemetry の トレース,
メトリッ クを中心とした APM をリリースしていま す!よろしくお願い します!
OpenTelemetry のゼロコード計装 • アプリケーションコードいじらない!楽! • 起動オプションに JavaAgent を追加するだ け! ◦
-javaagent:/path/to/opentelemetry-javaagent.jar
None
None
ゼロコード計装 • JavaAgent を追加するだけで JVM, HTTP, DB など各種メトリックやアプリケーションの トレースが取得できる!
でも、これじゃ足りない? • たとえば機能追加するとき… ◦ この数字ってどのくらいなんだろう?もし大きかった らパフォーマンスに影響がありそうだな… • 不安な部分をあらかじめ計装することで自信 をもって実装したい!
そんな時は手動計装 • 自分でカウントするコードを足す! • でも手動計装ってめんどくさいんでしょ? ◦ テレメトリーの送信先を設定したり ◦ 色々めんどくさそう…
手動計装とゼロコード計装の組み合わ せは簡単! 手動計装でもテレメトリーの送信などは JavaAgent がやってくれるので、数を数えると ころだけコードを足せば OK!
https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/f324d6641eff09cb058bca106be 692f7f3660546/docs/misc/interop-design/interop-design.md#interoperability-design
手動計装のために追加するコード例 private val meter = GlobalOpenTelemetry .get().getMeter(getClass.getName()) private val counter
= meter .counterBuilder("name").setUnit("ms").build() counter.add(1)
まとめ • とりあえずゼロコード計装でテレメトリーを 受信! • 他にもあれを知りたい!ってなったら手動計 装を追加!