Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
OpenCensus with Datadog APM
Atsushi Tanaka
June 27, 2019
Technology
0
1.4k
OpenCensus with Datadog APM
Atsushi Tanaka
June 27, 2019
Tweet
Share
More Decks by Atsushi Tanaka
See All by Atsushi Tanaka
Kubernetes Cluster Migration
bgpat
4
3.4k
k8sとNginxでオートスケール / Autoscaling with k8s and Nginx
bgpat
2
810
GCPのgemにコントリビュートした話
bgpat
0
450
at_exit
bgpat
0
530
Distributed Tracing for Microservices
bgpat
5
2.7k
Autoscaling in Kubernetes
bgpat
3
830
PrometheusでKubernetesの高速オートスケールを実現した話
bgpat
2
1.2k
Other Decks in Technology
See All in Technology
Oracle Database Technology Night #55 Oracle Autonomous Database 再入門
oracle4engineer
PRO
1
120
プルリク作ったらデプロイされる仕組み on ECS / SRE NEXT 2022
carta_engineering
1
160
Nutanix_Meetup_20220511
keigotomomatsu
0
150
A Conditional Point Diffusion-Refinement Paradigm for 3D Point Cloud Completion
takmin
0
210
How We Foster Reliability in Diversity
nari_ex
PRO
9
2.5k
新規ゲームのリリース(開発)前からのSRE活動
tmkoikee
1
160
GitHub 엔터프라이즈 어카운트 소개 및 엔터프라이즈 서버 구축 경험
posquit0
1
140
街じゅうを"駅前化"する電動マイクロモビリティのシェアサービス「LUUP」のIoTとSRE
0gm
1
600
【OCHaCafe#5】その Pod 突然落ちても大丈夫ですか?
k6s4i53rx
1
120
Oracle Content Management サービス概要 (2022年5月版)
oracle4engineer
PRO
0
100
Devに力を授けたいSREのあゆみ / SRE that wants to empower developers
tocyuki
3
470
スタートアップ入社4日目までに考えたAWSのセキュリティ向上/ Startup AWS Security
shonansurvivors
3
2.9k
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
253
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
Build The Right Thing And Hit Your Dates
maggiecrowley
19
1.1k
Web Components: a chance to create the future
zenorocha
303
40k
Visualization
eitanlees
124
11k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
15
910
Making Projects Easy
brettharned
98
4.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
4
2k
The Invisible Side of Design
smashingmag
289
48k
Adopting Sorbet at Scale
ufuk
63
7.5k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
Making the Leap to Tech Lead
cromwellryan
113
6.9k
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.