Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenTelemetry でゼロコード計装と手動計装どっちもやる
Search
rmatsuoka
May 23, 2025
Programming
0
50
OpenTelemetry でゼロコード計装と手動計装どっちもやる
rmatsuoka
May 23, 2025
Tweet
Share
More Decks by rmatsuoka
See All by rmatsuoka
Exponential Histogram?
rmatsuoka
0
300
OpenTelemetry の Trace を中心としたパフォーマンス改善
rmatsuoka
1
2.2k
Other Decks in Programming
See All in Programming
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
280
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
800
GoのGenericsによるslice操作との付き合い方
syumai
2
530
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
SODA - FACT BOOK
sodainc
1
840
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
490
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
230
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
3
500
C++20 射影変換
faithandbrave
0
430
単体テストの始め方/作り方
toms74209200
0
430
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
3
1.9k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
Balancing Empowerment & Direction
lara
1
290
Raft: Consensus for Rubyists
vanstee
139
7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
How to Ace a Technical Interview
jacobian
276
23k
Code Reviewing Like a Champion
maltzj
524
40k
Code Review Best Practice
trishagee
68
18k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why Our Code Smells
bkeepers
PRO
337
57k
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)
まとめ • とりあえずゼロコード計装でテレメトリーを 受信! • 他にもあれを知りたい!ってなったら手動計 装を追加!