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
OpenCensus with Datadog APM
Search
Atsushi Tanaka
June 27, 2019
Technology
2.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OpenCensus with Datadog APM
Atsushi Tanaka
June 27, 2019
More Decks by Atsushi Tanaka
See All by Atsushi Tanaka
プロダクト専任SREを置かずに 信頼性を追求する
bgpat
1
110
OpenCensusと歩んだ7年間
bgpat
0
740
SREだけど社内営業組織の業務改善をしてみた
bgpat
0
940
ウォンテッドリーにおける Platform Engineering
bgpat
0
850
Wantedly での Datadog 活用事例
bgpat
2
6.4k
KubernetesでDatadogを飼うならオートディスカバリーを使わないと損
bgpat
2
1.1k
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
12
4.7k
400万ユーザーに価値を届けるエンジニアを を支えるインフラ基盤
bgpat
3
560
Ruby製社内ツールのGo移行
bgpat
2
880
Other Decks in Technology
See All in Technology
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
220
書籍『生成AIの安全性入門』の入門
wataoka
0
210
V8コントリビュート超入門
riyaamemiya
0
130
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
280
PM領域でのAI Agentの活用
lycorptech_jp
PRO
0
260
Bet AI Day 2026丨Agentは、「金融」という巨大産業の何を変えられるのか
layerx
PRO
0
700
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Azure App Service / Container Apps の組み込み認証
kuniteru
0
190
多層防御と最⼩権限で実現する、安全なAIエージェント設計パターン
lycorptech_jp
PRO
0
100
PfEingのアプローチで働こう
rindrics
0
160
KAEN Company Deck
kaen
PRO
0
290
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
120
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
500
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
520
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Ruling the World: When Life Gets Gamed
codingconduct
0
320
KATA
mclloyd
PRO
35
15k
Writing Fast Ruby
sferik
630
63k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
How to build a perfect <img>
jonoalderson
1
5.9k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Transcript
OpenCensus with Datadog APM OpenCensus/OpenTelemetry meetup vol.2 LT 27.Jul.2019 -
Atsushi Tanaka @bgpat ©2019 Wantedly, Inc.
©2018 Wantedly, Inc. @bgpat / Atsushi Tanaka Infrastructure Engineer at
Wantedly, Inc.
©2018 Wantedly, Inc. %BUBEPH"1. αʔϏε͝ͱʹ৭͚͞Εͯ៉ྷ ݸʑͷεύϯΛݟͳͯ͘ ͳΜͱͳ͘શମΛѲͰ͖Δ
©2018 Wantedly, Inc. %BUBEPH"1. Τϥʔ͕৭͚͞ΕΔͷͰ Ͳ͕͜ѱ͍ͷ͔Θ͔Γ͍͢
©2018 Wantedly, Inc. 0QFO$FOTVT͔ΒૹΓ͍ͨ w(PIUUQTHJUIVCDPN%BUB%PHPQFODFOTVTHPFYQPSUFSEBUBEPH w3VCZIUUQTHJUIVCDPNNVOJTZTUFNPQFODFOTVTEBUBEPH w&SMBOHIUUQTHJUIVCDPNPQFODFOTVTCFBNPQFODFOTVT@EBUBEPH
0QFO$FOTVT %BUBEPH"1.
©2018 Wantedly, Inc. func main() { exporter, err := datadog.NewExporter(datadog.Options{Service:
"my-app"}) if err != nil { log.Fatal(err) } defer exporter.Stop() trace.RegisterExporter(exporter) // For demoing purposes, always sample. trace.ApplyConfig(trace.Config{ DefaultSampler: trace.AlwaysSample(), }) ctx, span := trace.StartSpan(context.Background(), "/foo") bar(ctx) span.End() } https://github.com/DataDog/opencensus-go-exporter-datadog/blob/master/examples/trace/main.go 0QFO$FOTVT(P%BUBEPHͷ͍ํ
©2018 Wantedly, Inc. func main() { exporter, err := datadog.NewExporter(datadog.Options{Service:
"my-app"}) if err != nil { log.Fatal(err) } defer exporter.Stop() trace.RegisterExporter(exporter) // For demoing purposes, always sample. trace.ApplyConfig(trace.Config{ DefaultSampler: trace.AlwaysSample(), }) ctx, span := trace.StartSpan(context.Background(), "/foo") bar(ctx) span.End() } https://github.com/DataDog/opencensus-go-exporter-datadog/blob/master/examples/trace/main.go FYQPSUFSͷॳظԽ 0QFO$FOTVT(P%BUBEPHͷ͍ํ
©2018 Wantedly, Inc. func main() { exporter, err := datadog.NewExporter(datadog.Options{Service:
"my-app"}) if err != nil { log.Fatal(err) } defer exporter.Stop() trace.RegisterExporter(exporter) // For demoing purposes, always sample. trace.ApplyConfig(trace.Config{ DefaultSampler: trace.AlwaysSample(), }) ctx, span := trace.StartSpan(context.Background(), "/foo") bar(ctx) span.End() } https://github.com/DataDog/opencensus-go-exporter-datadog/blob/master/examples/trace/main.go ઃఆ͕ඞཁͳͷ4FSWJDF͘Β͍ 0QFO$FOTVT(P%BUBEPHͷ͍ํ
©2018 Wantedly, Inc. func main() { exporter, err := datadog.NewExporter(datadog.Options{Service:
"my-app"}) if err != nil { log.Fatal(err) } defer exporter.Stop() trace.RegisterExporter(exporter) // For demoing purposes, always sample. trace.ApplyConfig(trace.Config{ DefaultSampler: trace.AlwaysSample(), }) ctx, span := trace.StartSpan(context.Background(), "/foo") bar(ctx) span.End() } https://github.com/DataDog/opencensus-go-exporter-datadog/blob/master/examples/trace/main.go USBDFSʹొ TQBOΛ࡞Δͱ%BUBEPHʹૹΒΕΔΑ͏ʹͳΔ 0QFO$FOTVT(P%BUBEPHͷ͍ํ
©2018 Wantedly, Inc. func main() { exporter, err := datadog.NewExporter(datadog.Options{Service:
"my-app"}) if err != nil { log.Fatal(err) } defer exporter.Stop() trace.RegisterExporter(exporter) // For demoing purposes, always sample. trace.ApplyConfig(trace.Config{ DefaultSampler: trace.AlwaysSample(), }) ctx, span := trace.StartSpan(context.Background(), "/foo") bar(ctx) span.End() } https://github.com/DataDog/opencensus-go-exporter-datadog/blob/master/examples/trace/main.go 0QFO$FOTVTͰαϯϓϦϯά͠ͳ͍ %BUBEPHଆͰαϯϓϦϯά͢Δ 0QFO$FOTVT(P%BUBEPHͷ͍ํ
©2018 Wantedly, Inc. 0QFO$FOTVT(P%BUBEPHͷ͍ํ func main() { exporter, err :=
datadog.NewExporter(datadog.Options{Service: "my-app"}) if err != nil { log.Fatal(err) } defer exporter.Stop() trace.RegisterExporter(exporter) // For demoing purposes, always sample. trace.ApplyConfig(trace.Config{ DefaultSampler: trace.AlwaysSample(), }) ctx, span := trace.StartSpan(context.Background(), "/foo") bar(ctx) span.End() } https://github.com/DataDog/opencensus-go-exporter-datadog/blob/master/examples/trace/main.go
©2018 Wantedly, Inc. %BUBEPHͰαϯϓϦϯά͢Δཧ༝ 1.τϨʔεͷܽଛΛආ͚Δ DatadogউखʹαϯϓϦϯά͢ΔͷͰ σʔλ͕ফ͍͑ͯΔ͜ͱ͕͋Δ 2.ਖ਼֬ͳ౷ܭใΛऔΔ APMʹτϨʔε͔ΒऔΕΔ౷ܭใͷUI͋Δ ຊདྷΑΓτϨʔε͕গͳ͘ͳΔͷͰ౷ܭมΘΔ
4BNQMJOH$POGJHVSBUJPO
©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹద༻ͯ͘͠ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ ៉ྷʹݟͤΔͨΊʹ •
env • service.name • span.type • http.method • http.url • http.status_code • sql.query • error.type • error.name • error.stack
©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹద༻ͯ͘͠ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ • env
• service.name • span.type • http.method • http.url • http.status_code • sql.query • error.type • error.name • error.stack ៉ྷʹݟͤΔͨΊʹ
©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹө͞ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ • env
• service.name • span.type • http.method • http.url • http.status_code • sql.query • error.type • error.name • error.stack ៉ྷʹݟͤΔͨΊʹ
©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹద༻ͯ͘͠ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ • env
• service.name • span.type • http.method • http.url • http.status_code • sql.query • error.type • error.name • error.stack ៉ྷʹݟͤΔͨΊʹ
©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹద༻ͯ͘͠ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ • env
• service.name • span.type • http.method • http.url • http.status_code • sql.query • error.type • error.name • error.stack https://docs.datadoghq.com/tracing/visualization/trace/#traces-special-meaning-tags ៉ྷʹݟͤΔͨΊʹ
©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹద༻ͯ͘͠ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ • span.name
៉ྷʹݟͤΔͨΊʹ
©2018 Wantedly, Inc. ࠷্Ґεύϯʹಉ͡3FTPVSDF/BNFΛ͚Δඞཁ͕͋Δ w %BUBEPHͰεύϯ໊3FTPVSDF/BNF w ݹ͍࣮ͩͱ3FTPVSDF/BNF͕όϥόϥͰ6*͕յΕΔ w ࠓσϑΥϧτͰPQFODFOTVT͕ࢦఆ͞ΕΔ
w εύϯ໊ʹ࿈ಈ͍ͯͯͯ͢͠PQFODFOTVTʹͳΔ w ʮεύϯ໊Λม͍͑ͨਓTQBOOBNFBUUSJCVUFΛͬͯͶʯ ៉ྷʹݟͤΔͨΊʹ
©2018 Wantedly, Inc. w (PͰ ͏ͷ؆୯ wαϯϓϦϯά%BUBEPHʹͤΔ wڥʹ͋ΘͤͯBUUSJCVUFΛઃఆ͢Δ ·ͱΊ
.JDSPTFSWJDFT.POEBZ ຖि݄༵ʹϚΠΫϩαʔϏεʹ͍ͭͯ ΏΔ͘͢ձΛ͍ͯ͠·͢ IUUQTXXXXBOUFEMZDPNQSPKFDUT ©2019 Wantedly, Inc.