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
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OpenTelemetry でゼロコード計装と手動計装どっちもやる
rmatsuoka
May 23, 2025
More Decks by rmatsuoka
See All by rmatsuoka
Exponential Histogram?
rmatsuoka
0
440
OpenTelemetry の Trace を中心としたパフォーマンス改善
rmatsuoka
1
2.6k
Other Decks in Programming
See All in Programming
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
SlackアプリとLambdaの 連携を構築した話
pawn_4_s
1
120
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
160
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
560
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
520
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
570
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
250
数百円から始めるRuby電子工作
tarosay
0
160
プロポーザルを書いてもらう
pvcresin
0
550
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
220
FDEが実現するAI駆動経営の現在地
gonta
2
290
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
210
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
A designer walks into a library…
pauljervisheath
211
24k
The untapped power of vector embeddings
frankvandijk
2
1.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Rails Girls Zürich Keynote
gr2m
96
14k
Practical Orchestrator
shlominoach
191
12k
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)
まとめ • とりあえずゼロコード計装でテレメトリーを 受信! • 他にもあれを知りたい!ってなったら手動計 装を追加!