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
KOKUBUN Kota
August 30, 2026
Programming
100
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
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
790
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
5.1k
最近”作らせてる” ローカルAIアプリの話
akit37
0
470
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.2k
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
240
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
250
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.8k
AmebaブログはKMPから卒業します
kmars0605
0
200
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
150
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1033
470k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
WCS-LA-2024
lcolladotor
0
890
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
Embracing the Ebb and Flow
colly
88
5.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Speed Design
sergeychernyshev
33
2.2k
Balancing Empowerment & Direction
lara
6
1.3k
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の記事も読んでください!!