Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Lambda Web Adapter + Echo の Go サーバーに Datadog AP...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
KOKUBUN Kota
August 30, 2026
Programming
78
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lambda Web Adapter + Echo の Go サーバーに Datadog APM を⼊れた話
KOKUBUN Kota
August 30, 2026
Other Decks in Programming
See All in Programming
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
190
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
180
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
150
Java 27新機能 / Java 27 new features
kishida
2
150
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
290
FreeBSDでZabbixを動かす
kenkino
0
310
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
130
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2k
すこし踏み込む CancellationToken
htkym
2
580
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
130
setup-vp GitLab対応の裏側
naokihaba
0
110
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
570
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
700
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
460
HDC tutorial
michielstock
2
870
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
810
Optimising Largest Contentful Paint
csswizardry
37
4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Transcript
DATADOG APM LAMBDA WEB ADAPTER / ECHO / GO 2026-08-26
JDDUG LT Lambda Web Adapter + Echo の Go サーバーに Datadog APM を⼊れた話 01 株式会社ウェザーニューズ / 國分 虎海太 (KOKUBUN Kota)
WHO AM I ⾃⼰紹介 はじめまして!! 名前: 國分 虎海太 (こくぶん こうた)
出⾝: 福島県 学部⾶び級卒業後に修⼠課程まで進み、2025年4⽉に 社会⼈デビューした24歳です 仕事: 株式会社ウェザーニューズ / モバイル‧ インターネット事業部 / バックエンドチーム 02 興味: SRE (オブザーバビリティ) / Go⾔語 バックエンド技術 初参加で緊張してます。野球やってました。エヴァ好きです。趣味は⾊々です。最近体重が増
SETUP 今日の題材 Lambda 上の Go の API に APM を⼊れたい
Lambda Web Adapter で Echo を動かし、Datadog Lambda Extension でトレースを送る構成 計測を⼊れる2つのやり⽅があるらしい Tracer コードに明⽰的にスパンを書く。dd-trace-go ライブラリなどを使⽤。 やってみたこと - どちらの場合もDatadog Lambda Extensionを使う - ライブラリを使うときに WithLambdaModeをfalseにする 03 Orchestrion → ライブラリのコード内にコメントアウ 特定の形式に沿ったコメントを書く。ビルド時 に、Orchestrion⽤のビルドをする。 トとして書いてあった Orchestrionめっちゃ便利でした。あと、最近顔の脱⽑始めました
DOUSHITE 試してみた結果 あれ... OrchestrionだとDatadog に何も出ない😭 コメントを付けてビルドし、デプロイして、Datadog コンソールを⾒た 書いたコードのサンプル //dd:span の形で書くとスパンが入る
疑問に思ったこと - はちゃんとデータが送られているのに... func DoSomething(ctx context.Context, in string) error { // ... 処理 ... 明⽰的にライブラリを使って書いたやつ - Orchestrionってどうやってスパンとかの コードを⽣成してるんだろう } 04 分割キーボード Cornix にだんだん慣れてきたせいで普通の打てなくなりました
INVESTIGATION 調査 Orchestrion が⽣成したコードを読んでみた -work で⼀時ディレクトリを残し、-a で全パッケージを強制的に再ビルドする 中間ファイルを残してビルドする $ orchestrion
go build -work -a ./... 期待通りっぽく見える中間ファイル - コードが⼊っていた WORK=/tmp/go-build2384957348 自動生成されたコードの一例 func init() { __orchestrion_tracer.Start() } e := __orchestrion_echotrace.Wrap(echo.New()) 05 最近nvim使ってます //dd:span を付けた関数にはスパン⽣成 トレーサーの初期化も⽣成されている
ROOT CAUSE 原因と修正 WithLambdaModeを⼿動でfalseにして解決 Orchestrionの機能ではここを補えなかった 01 Lambda環境で動くとLambdaModeが⾃動でtrueになる 02 Tracerを⾃分で初期化し、その際にfalseにした init()
→ main() の順に⾛るので、main()内の⼿動の Start が既定の Start を上書きする 06 最近herdr使ってます。AWS summitでDatadogのTシャツもらえませんでした😢
OWARI さいごに サポートに問い合わせた結果、サポート外の⽅法でした OrchestrionはLambdaの環境ではサポートしていないようです 導⼊は楽だったので選択肢の⼀つにも?? - 想定されていない使⽤⽅法なので、責任は負えません!!! よいDatadogライフを!! ありがとうございました!! 07
ぜひZennの記事も読んでください!!