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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
rmatsuoka
May 23, 2025
Programming
170
0
Share
OpenTelemetry でゼロコード計装と手動計装どっちもやる
rmatsuoka
May 23, 2025
More Decks by rmatsuoka
See All by rmatsuoka
Exponential Histogram?
rmatsuoka
0
410
OpenTelemetry の Trace を中心としたパフォーマンス改善
rmatsuoka
1
2.5k
Other Decks in Programming
See All in Programming
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
200
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
360
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
関係性から理解する"同一性"の型用語たち
pvcresin
1
140
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
160
継続的な負荷検証を目指して
pyama86
3
1.2k
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
170
AI時代になぜ書くのか
mutsumix
0
410
ハーネスエンジニアリングとは?
kinopeee
13
7k
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
180
Sans tests, vos agents ne sont pas fiables
nabondance
0
130
Back to the roots of date
jinroq
0
860
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
180
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.6k
Designing for Timeless Needs
cassininazir
1
220
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
390
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Designing for Performance
lara
611
70k
The SEO Collaboration Effect
kristinabergwall1
1
450
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.4k
Building an army of robots
kneath
306
46k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
230
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)
まとめ • とりあえずゼロコード計装でテレメトリーを 受信! • 他にもあれを知りたい!ってなったら手動計 装を追加!