Slide 1

Slide 1 text

OpenCensus
 with Datadog APM OpenCensus/OpenTelemetry meetup vol.2 LT 27.Jul.2019 - Atsushi Tanaka @bgpat ©2019 Wantedly, Inc.

Slide 2

Slide 2 text

©2018 Wantedly, Inc. @bgpat / Atsushi Tanaka Infrastructure Engineer at Wantedly, Inc.

Slide 3

Slide 3 text

©2018 Wantedly, Inc. %BUBEPH"1. αʔϏε͝ͱʹ৭෼͚͞Εͯ៉ྷ
 
 ݸʑͷεύϯΛݟͳͯ͘΋
 ͳΜͱͳ͘શମΛ೺ѲͰ͖Δ

Slide 4

Slide 4 text

©2018 Wantedly, Inc. %BUBEPH"1. Τϥʔ͕৭෇͚͞ΕΔͷͰ
 Ͳ͕͜ѱ͍ͷ͔Θ͔Γ΍͍͢

Slide 5

Slide 5 text

©2018 Wantedly, Inc. 0QFO$FOTVT͔ΒૹΓ͍ͨ w(PIUUQTHJUIVCDPN%BUB%PHPQFODFOTVTHPFYQPSUFSEBUBEPH w3VCZIUUQTHJUIVCDPNNVOJTZTUFNPQFODFOTVTEBUBEPH w&SMBOHIUUQTHJUIVCDPNPQFODFOTVTCFBNPQFODFOTVT@EBUBEPH 0QFO$FOTVT%BUBEPH"1.

Slide 6

Slide 6 text

©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ͷ࢖͍ํ

Slide 7

Slide 7 text

©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ͷ࢖͍ํ

Slide 8

Slide 8 text

©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ͷ࢖͍ํ

Slide 9

Slide 9 text

©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ͷ࢖͍ํ

Slide 10

Slide 10 text

©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ͷ࢖͍ํ

Slide 11

Slide 11 text

©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

Slide 12

Slide 12 text

©2018 Wantedly, Inc. %BUBEPHͰαϯϓϦϯά͢Δཧ༝ 1.τϨʔεͷܽଛΛආ͚Δ Datadog͸উखʹαϯϓϦϯά͢ΔͷͰ
 σʔλ͕ফ͍͑ͯΔ͜ͱ͕͋Δ 2.ਖ਼֬ͳ౷ܭ৘ใΛऔΔ APMʹ͸τϨʔε͔ΒऔΕΔ౷ܭ৘ใͷUI΋͋Δ ຊདྷΑΓ΋τϨʔε͕গͳ͘ͳΔͷͰ౷ܭ஋΋มΘΔ 4BNQMJOH$POGJHVSBUJPO

Slide 13

Slide 13 text

©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

Slide 14

Slide 14 text

©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 ៉ྷʹݟͤΔͨΊʹ

Slide 15

Slide 15 text

©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 ៉ྷʹݟͤΔͨΊʹ

Slide 16

Slide 16 text

©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 ៉ྷʹݟͤΔͨΊʹ

Slide 17

Slide 17 text

©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 ៉ྷʹݟͤΔͨΊʹ

Slide 18

Slide 18 text

©2018 Wantedly, Inc. BUUSJCVUF UBH Λઃఆ͢Δͱ6*ʹద༻ͯ͘͠ΕΔ https://godoc.org/gopkg.in/DataDog/dd-trace-go.v1/ddtrace/ext ʹattributeҰཡ͕͋Δ • span.name ៉ྷʹݟͤΔͨΊʹ

Slide 19

Slide 19 text

©2018 Wantedly, Inc. ࠷্Ґεύϯʹ͸ಉ͡3FTPVSDF/BNFΛ෇͚Δඞཁ͕͋Δ w %BUBEPHͰ͸εύϯ໊3FTPVSDF/BNF w ݹ͍࣮૷ͩͱ3FTPVSDF/BNF͕όϥόϥͰ6*͕յΕΔ w ࠓ͸σϑΥϧτͰPQFODFOTVT͕ࢦఆ͞ΕΔ w εύϯ໊ʹ΋࿈ಈ͍ͯͯ͢͠΂ͯPQFODFOTVTʹͳΔ w ʮεύϯ໊Λม͍͑ͨਓ͸TQBOOBNFBUUSJCVUFΛ࢖ͬͯͶʯ ៉ྷʹݟͤΔͨΊʹ

Slide 20

Slide 20 text

©2018 Wantedly, Inc. w (PͰ ࢖͏ͷ͸؆୯ wαϯϓϦϯά͸%BUBEPHʹ೚ͤΔ w؀ڥʹ͋ΘͤͯBUUSJCVUFΛઃఆ͢Δ ·ͱΊ

Slide 21

Slide 21 text

.JDSPTFSWJDFT.POEBZ ຖि݄༵೔ʹϚΠΫϩαʔϏεʹ͍ͭͯ
 ΏΔ͘࿩͢ձΛ͍ͯ͠·͢ IUUQTXXXXBOUFEMZDPNQSPKFDUT ©2019 Wantedly, Inc.