diff --git a/cache/main.go b/cache/main.go index dfd18d7..bcf280d 100644 --- a/cache/main.go +++ b/cache/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/services/cache/handler" pb "github.com/micro/services/cache/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/logger" @@ -18,6 +19,8 @@ func main() { // Register handler pb.RegisterCacheHandler(srv.Server(), new(handler.Cache)) + traceCloser := tracing.SetupOpentracing("cache") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/db/main.go b/db/main.go index 124147d..4bcb9a6 100644 --- a/db/main.go +++ b/db/main.go @@ -2,6 +2,7 @@ package main import ( pb "github.com/micro/services/db/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/services/db/handler" @@ -43,6 +44,8 @@ func main() { // Register handler pb.RegisterDbHandler(srv.Server(), &handler.Db{}) + traceCloser := tracing.SetupOpentracing("db") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/file/main.go b/file/main.go index a62fea8..b7d6144 100644 --- a/file/main.go +++ b/file/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/services/file/handler" pb "github.com/micro/services/file/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/logger" @@ -18,6 +19,9 @@ func main() { // Register handler pb.RegisterFileHandler(srv.Server(), handler.NewFile()) + traceCloser := tracing.SetupOpentracing("file") + defer traceCloser.Close() + // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/geocoding/main.go b/geocoding/main.go index ae187e9..3525034 100644 --- a/geocoding/main.go +++ b/geocoding/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/services/geocoding/handler" pb "github.com/micro/services/geocoding/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/config" @@ -33,6 +34,8 @@ func main() { // Register handler pb.RegisterGeocodingHandler(srv.Server(), &handler.Geocoding{Maps: m}) + traceCloser := tracing.SetupOpentracing("geocoding") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { diff --git a/go.mod b/go.mod index b61050f..2f9754f 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module github.com/micro/services go 1.14 require ( + github.com/HdrHistogram/hdrhistogram-go v1.1.0 // indirect github.com/Masterminds/semver/v3 v3.1.1 github.com/PuerkitoBio/goquery v1.6.1 github.com/SlyMarbo/rss v1.0.1 @@ -22,9 +23,10 @@ require ( github.com/mattheath/base62 v0.0.0-20150408093626-b80cdc656a7a // indirect github.com/mattheath/kala v0.0.0-20171219141654-d6276794bf0e github.com/micro/dev v0.0.0-20201117163752-d3cfc9788dfa - github.com/micro/micro/v3 v3.3.1-0.20210610124047-81b204838fbf + github.com/micro/micro/v3 v3.3.1-0.20210611161948-fd9821dd4f52 github.com/miekg/dns v1.1.31 // indirect github.com/onsi/ginkgo v1.15.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/oschwald/geoip2-golang v1.5.0 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/paulmach/go.geo v0.0.0-20180829195134-22b514266d33 @@ -32,6 +34,8 @@ require ( github.com/stoewer/go-strcase v1.2.0 github.com/stretchr/testify v1.7.0 github.com/teris-io/shortid v0.0.0-20171029131806-771a37caa5cf + github.com/uber/jaeger-client-go v2.29.1+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect go.opencensus.io v0.22.4 // indirect golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 diff --git a/go.sum b/go.sum index d612ca4..2744f0d 100644 --- a/go.sum +++ b/go.sum @@ -26,6 +26,8 @@ github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6L github.com/Azure/go-autorest/tracing v0.1.0/go.mod h1:ROEEAFwXycQw7Sn3DXNtEedEvdeRAgDr0izn4z5Ij88= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/HdrHistogram/hdrhistogram-go v1.1.0 h1:6dpdDPTRoo78HxAJ6T1HfMiKSnqhgRRqzCuPshRkQ7I= +github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87/go.mod h1:iGLljf5n9GjT6kc0HBvyI1nOKnGQbNB66VzSNbK5iks= @@ -35,6 +37,7 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/SlyMarbo/rss v1.0.1 h1:fiaIU5UhcXauVOniHOIocWG7uj8Ej6pHNarMGPJilzA= github.com/SlyMarbo/rss v1.0.1/go.mod h1:JNF+T33oj4m5WLCQXpBTCgO+SxRbYVgdiiimHNgzcbA= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.0/go.mod h1:zpDJeKyp9ScW4NNrbdr+Eyxvry3ilGPewKoXw3XGN1k= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -113,6 +116,7 @@ github.com/evanphx/json-patch/v5 v5.0.0 h1:dKTrUeykyQwKb/kx7Z+4ukDs6l+4L41HqG1XH github.com/evanphx/json-patch/v5 v5.0.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/exoscale/egoscale v0.18.1/go.mod h1:Z7OOdzzTOz1Q1PjQXumlz9Wn/CddH0zSYdCF3rnBKXE= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -124,6 +128,7 @@ github.com/go-acme/lego/v3 v3.4.0 h1:deB9NkelA+TfjGHVw8J7iKl/rMtffcGMWSMmptvMv0A github.com/go-acme/lego/v3 v3.4.0/go.mod h1:xYbLDuxq3Hy4bMUT1t9JIuz6GWIWb3m5X+TeTHYaT7M= github.com/go-cmd/cmd v1.0.5/go.mod h1:y8q8qlK5wQibcw63djSl/ntiHUHXHGdCkPk0j4QeW4s= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-ini/ini v1.44.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= @@ -144,6 +149,7 @@ github.com/gojuno/go.osrm v0.1.1-0.20200217151037-435fc3e1d3d4 h1:ZhyiVDRMAdbMPF github.com/gojuno/go.osrm v0.1.1-0.20200217151037-435fc3e1d3d4/go.mod h1:XPCHB/Ir2/vHnqhKlfUxIiUGHFtTzgrRxD89JdkJhrs= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -293,6 +299,7 @@ github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfV github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b h1:FQ7+9fxhyp82ks9vAuyPzG0/vVbWwMwLJ+P6yJI5FN8= github.com/juju/fslock v0.0.0-20160525022230-4d5c94c67b4b/go.mod h1:HMcgvsgd0Fjj4XXDkbjdmlbI505rUPBs6WBMYg2pXks= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s= @@ -347,10 +354,10 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/micro/dev v0.0.0-20201117163752-d3cfc9788dfa h1:1BoFPE4/NTF7WKLZWsEFImOsN143QAU7Dkw9J2/qFXA= github.com/micro/dev v0.0.0-20201117163752-d3cfc9788dfa/go.mod h1:j/8E+ezN/ij7a9BXBHMKmLayFfUW1O4h/Owdv67B0X0= github.com/micro/micro/v3 v3.0.0-beta.6.0.20201016094841-ca8ffd563b2b/go.mod h1:RPJTp9meQAppzW/9jgQtfJmPpRJAySVPbz9uur4B3Ko= -github.com/micro/micro/v3 v3.2.2-0.20210607154842-ec8964031a93 h1:ZBPbH/Q3UaC69j+SQghgAHbskt+z+Lsw0eygJfoPz/Y= -github.com/micro/micro/v3 v3.2.2-0.20210607154842-ec8964031a93/go.mod h1:0NVo+HuGK22cbFqkLe59rGZZeXh2++XBfhU+xheOh8g= -github.com/micro/micro/v3 v3.3.1-0.20210610124047-81b204838fbf h1:DmZxpZRiRmHewlvMML+QfwQK6H4K9fKLZwTxhh3eBM4= -github.com/micro/micro/v3 v3.3.1-0.20210610124047-81b204838fbf/go.mod h1:0NVo+HuGK22cbFqkLe59rGZZeXh2++XBfhU+xheOh8g= +github.com/micro/micro/v3 v3.3.1-0.20210611123551-3ed56b20d64f h1:rBCQQegndIWUIb6qYFgSACadmtfEx+R1exckeRqOJ1U= +github.com/micro/micro/v3 v3.3.1-0.20210611123551-3ed56b20d64f/go.mod h1:0NVo+HuGK22cbFqkLe59rGZZeXh2++XBfhU+xheOh8g= +github.com/micro/micro/v3 v3.3.1-0.20210611161948-fd9821dd4f52 h1:laHYhHMiGtbv/jjykUubxxGW+1HAgTi0RFDsNOnwXxg= +github.com/micro/micro/v3 v3.3.1-0.20210611161948-fd9821dd4f52/go.mod h1:0NVo+HuGK22cbFqkLe59rGZZeXh2++XBfhU+xheOh8g= github.com/miekg/dns v1.1.15/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.31 h1:sJFOl9BgwbYAWOGEwr61FU28pqsBNdpRBnhGXtO06Oo= @@ -397,6 +404,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.5 h1:7n6FEkpFmfCoo2t+YYqXH0evK+a9ICQz0xcAy9dYcaQ= github.com/onsi/gomega v1.10.5/go.mod h1:gza4q3jKQJijlu05nKWRCW/GavJumGt8aNRxWg7mt48= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/oracle/oci-go-sdk v7.0.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= github.com/oschwald/geoip2-golang v1.5.0 h1:igg2yQIrrcRccB1ytFXqBfOHCjXWIoMv85lVJ1ONZzw= @@ -487,6 +496,10 @@ github.com/teris-io/shortid v0.0.0-20171029131806-771a37caa5cf/go.mod h1:M8agBzg github.com/timewasted/linode v0.0.0-20160829202747-37e84520dcf7/go.mod h1:imsgLplxEC/etjIhdr3dNzV3JeT27LbVu5pYWm0JCBY= github.com/transip/gotransip v0.0.0-20190812104329-6d8d9179b66f/go.mod h1:i0f4R4o2HM0m3DZYQWsj6/MEowD57VzoH0v3d7igeFY= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= +github.com/uber/jaeger-client-go v2.29.1+incompatible h1:R9ec3zO3sGpzs0abd43Y+fBZRJ9uiH6lXyR/+u6brW4= +github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= @@ -516,6 +529,7 @@ go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= @@ -542,11 +556,17 @@ golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 h1:It14KIkyBFYkHkwZ7k45minvA9aorojkyjGk9KJ5B/w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587 h1:5Uz0rkjCFu9BC9gCRN7EkwVvhNyQgGWb8KNJrPwBoHY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8 h1:hVwzHzIUGRjiF7EcUjqNxk3NCfkPxbDKRdnNE1Rpg0U= @@ -557,12 +577,14 @@ golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f h1:J5lckAjkw6qYlOZNj90mLYNTEKDvWeuc1yieZ8qUzUE= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180611182652-db08ff08e862/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -661,7 +683,9 @@ golang.org/x/time v0.0.0-20190921001708-c4c64cad1fd0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 h1:NusfzzA6yGQ+ua51ck7E3omNUX/JuqbFSaRGqU8CcLI= golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -684,6 +708,7 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e h1:4nW4NLDYnU28ojHaHO8OVxFHk/aQ33U01a9cjED+pzE= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -692,6 +717,12 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2 h1:CCXrcPKiGGotvnN6jfUsKk4rRqm7q09/YbKb5xCEvtM= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0 h1:OE9mWmgKkjJyEmDAAtGMPjXu+YNeGvK9VTSHY6+Qihc= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -791,3 +822,4 @@ honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/helloworld/main.go b/helloworld/main.go index 0c3e28c..6cd85a2 100644 --- a/helloworld/main.go +++ b/helloworld/main.go @@ -5,6 +5,7 @@ import ( "github.com/micro/micro/v3/service/logger" "github.com/micro/services/helloworld/handler" pb "github.com/micro/services/helloworld/proto" + "github.com/micro/services/pkg/tracing" ) func main() { @@ -16,6 +17,9 @@ func main() { // Register Handler pb.RegisterHelloworldHandler(srv.Server(), new(handler.Helloworld)) + traceCloser := tracing.SetupOpentracing("helloworld") + defer traceCloser.Close() + // Run the service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/id/main.go b/id/main.go index b2ab89f..1b7d35d 100644 --- a/id/main.go +++ b/id/main.go @@ -8,6 +8,7 @@ import ( "github.com/micro/micro/v3/service/logger" "github.com/micro/services/id/handler" pb "github.com/micro/services/id/proto" + "github.com/micro/services/pkg/tracing" ) func init() { @@ -23,6 +24,8 @@ func main() { // Register handler pb.RegisterIdHandler(srv.Server(), handler.New()) + traceCloser := tracing.SetupOpentracing("id") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { diff --git a/image/main.go b/image/main.go index da55432..fb170dc 100644 --- a/image/main.go +++ b/image/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/services/image/handler" pb "github.com/micro/services/image/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/logger" @@ -17,6 +18,8 @@ func main() { // Register handler pb.RegisterImageHandler(srv.Server(), handler.NewImage()) + traceCloser := tracing.SetupOpentracing("image") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { diff --git a/ip/main.go b/ip/main.go index 55682b8..d6307d6 100644 --- a/ip/main.go +++ b/ip/main.go @@ -8,6 +8,7 @@ import ( "github.com/micro/services/ip/handler" pb "github.com/micro/services/ip/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/config" @@ -90,6 +91,9 @@ func main() { // Register handler pb.RegisterIpHandler(srv.Server(), &handler.Ip{CityReader: cr, ASNReader: ar}) + traceCloser := tracing.SetupOpentracing("ip") + defer traceCloser.Close() + // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/location/main.go b/location/main.go index d4f6756..1d45637 100644 --- a/location/main.go +++ b/location/main.go @@ -7,6 +7,7 @@ import ( "github.com/micro/services/location/handler" pb "github.com/micro/services/location/proto" "github.com/micro/services/location/subscriber" + "github.com/micro/services/pkg/tracing" ) func main() { @@ -17,6 +18,8 @@ func main() { pb.RegisterLocationHandler(location.Server(), new(handler.Location)) service.Subscribe(subscriber.Topic, new(subscriber.Location)) + traceCloser := tracing.SetupOpentracing("location") + defer traceCloser.Close() if err := location.Run(); err != nil { log.Fatal(err) diff --git a/otp/main.go b/otp/main.go index cd0ccee..748b051 100644 --- a/otp/main.go +++ b/otp/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/services/otp/handler" pb "github.com/micro/services/otp/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/logger" @@ -17,6 +18,8 @@ func main() { // Register handler pb.RegisterOtpHandler(srv.Server(), new(handler.Otp)) + traceCloser := tracing.SetupOpentracing("otp") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/pkg/tracing/opentracing.go b/pkg/tracing/opentracing.go new file mode 100644 index 0000000..ef47147 --- /dev/null +++ b/pkg/tracing/opentracing.go @@ -0,0 +1,25 @@ +package tracing + +import ( + "io" + + "github.com/micro/micro/v3/service/config" + "github.com/micro/micro/v3/service/logger" + "github.com/micro/micro/v3/util/opentelemetry" + "github.com/micro/micro/v3/util/opentelemetry/jaeger" +) + +func SetupOpentracing(serviceName string) io.Closer { + c, _ := config.Get("jaegeraddress") + openTracer, closer, err := jaeger.New( + opentelemetry.WithServiceName(serviceName), + opentelemetry.WithTraceReporterAddress(c.String("localhost:6831")), + ) + if err != nil { + logger.Fatalf("Error configuring opentracing: %v", err) + } + logger.Infof("Configured jaeger to %s", c.String("localhost:6831")) + + opentelemetry.DefaultOpenTracer = openTracer + return closer +} diff --git a/routing/main.go b/routing/main.go index c9aea4a..898bf5b 100644 --- a/routing/main.go +++ b/routing/main.go @@ -1,6 +1,7 @@ package main import ( + "github.com/micro/services/pkg/tracing" "github.com/micro/services/routing/handler" pb "github.com/micro/services/routing/proto" @@ -60,6 +61,8 @@ func main() { logger.Fatalf("%s is an unsupported mode", mode) } + traceCloser := tracing.SetupOpentracing("routing") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/rss/main.go b/rss/main.go index 384ff24..94de74c 100644 --- a/rss/main.go +++ b/rss/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/logger" + "github.com/micro/services/pkg/tracing" "github.com/micro/services/rss/handler" pb "github.com/micro/services/rss/proto" ) @@ -15,6 +16,8 @@ func main() { // Register handler pb.RegisterRssHandler(srv.Server(), handler.NewRss()) + traceCloser := tracing.SetupOpentracing("rss") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { diff --git a/sentiment/main.go b/sentiment/main.go index 1c380ec..ca6b2cc 100644 --- a/sentiment/main.go +++ b/sentiment/main.go @@ -1,6 +1,7 @@ package main import ( + "github.com/micro/services/pkg/tracing" "github.com/micro/services/sentiment/handler" pb "github.com/micro/services/sentiment/proto" @@ -16,6 +17,8 @@ func main() { // Register handler pb.RegisterSentimentHandler(srv.Server(), new(handler.Sentiment)) + traceCloser := tracing.SetupOpentracing("sentiment") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { diff --git a/thumbnail/main.go b/thumbnail/main.go index e07ac1f..b09eefe 100644 --- a/thumbnail/main.go +++ b/thumbnail/main.go @@ -2,6 +2,7 @@ package main import ( iproto "github.com/micro/services/image/proto" + "github.com/micro/services/pkg/tracing" "github.com/micro/services/thumbnail/handler" pb "github.com/micro/services/thumbnail/proto" @@ -18,6 +19,8 @@ func main() { // Register handler pb.RegisterThumbnailHandler(srv.Server(), handler.NewThumbnail(iproto.NewImageService("image", srv.Client()))) + traceCloser := tracing.SetupOpentracing("thumbnail") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { diff --git a/url/main.go b/url/main.go index 774de7a..42865a1 100644 --- a/url/main.go +++ b/url/main.go @@ -1,6 +1,7 @@ package main import ( + "github.com/micro/services/pkg/tracing" "github.com/micro/services/url/handler" pb "github.com/micro/services/url/proto" @@ -18,6 +19,8 @@ func main() { // Register handler pb.RegisterUrlHandler(srv.Server(), handler.NewUrl()) + traceCloser := tracing.SetupOpentracing("url") + defer traceCloser.Close() // Run service if err := srv.Run(); err != nil { logger.Fatal(err) diff --git a/user/main.go b/user/main.go index d467411..389b79e 100644 --- a/user/main.go +++ b/user/main.go @@ -3,6 +3,7 @@ package main import ( "github.com/micro/micro/v3/service" "github.com/micro/micro/v3/service/logger" + "github.com/micro/services/pkg/tracing" "github.com/micro/services/user/handler" proto "github.com/micro/services/user/proto" ) @@ -15,6 +16,8 @@ func main() { service.Init() proto.RegisterUserHandler(service.Server(), handler.NewUser()) + traceCloser := tracing.SetupOpentracing("user") + defer traceCloser.Close() if err := service.Run(); err != nil { logger.Fatal(err)