Skip to content

Commit

Permalink
Merge pull request #1 from raqu-io/test-opentracing
Browse files Browse the repository at this point in the history
Test opentracing
  • Loading branch information
nadirollo committed Sep 21, 2022
2 parents 6238a58 + bde0496 commit 19da7be
Show file tree
Hide file tree
Showing 27 changed files with 4,140 additions and 2,492 deletions.
2 changes: 1 addition & 1 deletion hack/make-docker-images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ while IFS= read -d $'\0' -r dir; do
then
builddir="${dir}/src"
fi
image="${REPO_PREFIX}/$svcname:$TAG"
image="${REPO_PREFIX}/demo-$svcname:$TAG"
(
cd "${builddir}"
log "Building: ${image}"
Expand Down
43 changes: 7 additions & 36 deletions src/checkoutservice/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@ import (

"cloud.google.com/go/profiler"
"contrib.go.opencensus.io/exporter/jaeger"
"contrib.go.opencensus.io/exporter/stackdriver"
"github.com/google/uuid"
"github.com/sirupsen/logrus"
"go.opencensus.io/plugin/ocgrpc"
"go.opencensus.io/stats/view"
"go.opencensus.io/trace"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
Expand Down Expand Up @@ -130,7 +128,7 @@ func initJaegerTracing() {
exporter, err := jaeger.NewExporter(jaeger.Options{
Endpoint: fmt.Sprintf("http://%s", svcAddr),
Process: jaeger.Process{
ServiceName: "checkoutservice",
ServiceName: "checkout",
},
})
if err != nil {
Expand All @@ -140,41 +138,14 @@ func initJaegerTracing() {
log.Info("jaeger initialization completed.")
}

func initStats(exporter *stackdriver.Exporter) {
view.SetReportingPeriod(60 * time.Second)
view.RegisterExporter(exporter)
if err := view.Register(ocgrpc.DefaultServerViews...); err != nil {
log.Warn("Error registering default server views")
} else {
log.Info("Registered default server views")
}
}

func initStackdriverTracing() {
// TODO(ahmetb) this method is duplicated in other microservices using Go
// since they are not sharing packages.
for i := 1; i <= 3; i++ {
exporter, err := stackdriver.NewExporter(stackdriver.Options{})
if err != nil {
log.Infof("failed to initialize stackdriver exporter: %+v", err)
} else {
trace.RegisterExporter(exporter)
log.Info("registered Stackdriver tracing")

// Register the views to collect server stats.
initStats(exporter)
return
}
d := time.Second * 10 * time.Duration(i)
log.Infof("sleeping %v to retry initializing Stackdriver exporter", d)
time.Sleep(d)
}
log.Warn("could not initialize Stackdriver exporter after retrying, giving up")
}

func initTracing() {
// This is a demo app with low QPS. trace.AlwaysSample() is used here
// to make sure traces are available for observation and analysis.
// In a production environment or high QPS setup please use
// trace.ProbabilitySampler set at the desired probability.
trace.ApplyConfig(trace.Config{DefaultSampler: trace.AlwaysSample()})

initJaegerTracing()
initStackdriverTracing()
}

func initProfiling(service, version string) {
Expand Down
2 changes: 1 addition & 1 deletion src/currencyservice/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ COPY . .

EXPOSE 7000

ENTRYPOINT [ "node", "server.js" ]
ENTRYPOINT [ "node", "--require", "./tracing.js", "server.js" ]
Loading

0 comments on commit 19da7be

Please sign in to comment.