Skip to content

Commit

Permalink
Add resource detectors to product catalog service (#677)
Browse files Browse the repository at this point in the history
* Add resource detectors to product catalog service

Signed-off-by: svrnm <neumanns@cisco.com>

* Set PR id in changelog

Signed-off-by: svrnm <neumanns@cisco.com>

* restore go.mod and go.sum from current main

Signed-off-by: Severin Neumann <severin.neumann@altmuehlnet.de>

* add resources to metrics

Signed-off-by: Severin Neumann <severin.neumann@altmuehlnet.de>

Signed-off-by: svrnm <neumanns@cisco.com>
Signed-off-by: Severin Neumann <severin.neumann@altmuehlnet.de>
Co-authored-by: Juliano Costa <julianocosta89@outlook.com>
  • Loading branch information
svrnm and julianocosta89 committed Jan 14, 2023
1 parent d971844 commit 206bbab
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 6 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,3 +182,5 @@ significant modifications will be credited to OpenTelemetry Authors.
([#674](https://github.com/open-telemetry/opentelemetry-demo/pull/674))
* Add resource detectors to accounting service
([#676](https://github.com/open-telemetry/opentelemetry-demo/pull/676))
* Add resource detectors to product catalog service
([#677](https://github.com/open-telemetry/opentelemetry-demo/pull/677))
5 changes: 4 additions & 1 deletion docs/services/productcatalogservice.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ func initTracerProvider() *sdktrace.TracerProvider {
if err != nil {
log.Fatalf("OTLP Trace gRPC Creation: %v", err)
}
tp := sdktrace.NewTracerProvider(sdktrace.WithBatcher(exporter))
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(exporter),
sdktrace.WithResource(initResource()),
)
otel.SetTracerProvider(tp)
otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))
return tp
Expand Down
1 change: 1 addition & 0 deletions src/productcatalogservice/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ require (
golang.org/x/text v0.4.0 // indirect
google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350 // indirect
)

2 changes: 1 addition & 1 deletion src/productcatalogservice/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -501,4 +501,4 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
35 changes: 31 additions & 4 deletions src/productcatalogservice/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"net"
"os"
"strings"
"sync"
"time"

pb "github.com/opentelemetry/opentelemetry-demo/src/productcatalogservice/genproto/hipstershop"
Expand All @@ -37,6 +38,7 @@ import (
"go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
"go.opentelemetry.io/otel/propagation"
sdkresource "go.opentelemetry.io/otel/sdk/resource"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
"go.opentelemetry.io/otel/trace"

Expand All @@ -49,23 +51,45 @@ import (
)

var (
log *logrus.Logger
catalog []*pb.Product
log *logrus.Logger
catalog []*pb.Product
resource *sdkresource.Resource
initResourcesOnce sync.Once
)

func init() {
log = logrus.New()
catalog = readCatalogFile()
}

func initResource() *sdkresource.Resource {
initResourcesOnce.Do(func() {
extraResources, _ := sdkresource.New(
context.Background(),
sdkresource.WithOS(),
sdkresource.WithProcess(),
sdkresource.WithContainer(),
sdkresource.WithHost(),
)
resource, _ = sdkresource.Merge(
sdkresource.Default(),
extraResources,
)
})
return resource
}

func initTracerProvider() *sdktrace.TracerProvider {
ctx := context.Background()

exporter, err := otlptracegrpc.New(ctx)
if err != nil {
log.Fatalf("OTLP Trace gRPC Creation: %v", err)
}
tp := sdktrace.NewTracerProvider(sdktrace.WithBatcher(exporter))
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(exporter),
sdktrace.WithResource(initResource()),
)
otel.SetTracerProvider(tp)
otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{}))
return tp
Expand All @@ -79,7 +103,10 @@ func initMeterProvider() *sdkmetric.MeterProvider {
log.Fatalf("new otlp metric grpc exporter failed: %v", err)
}

mp := sdkmetric.NewMeterProvider(sdkmetric.WithReader(sdkmetric.NewPeriodicReader(exporter)))
mp := sdkmetric.NewMeterProvider(
sdkmetric.WithReader(sdkmetric.NewPeriodicReader(exporter)),
sdkmetric.WithResource(initResource()),
)
global.SetMeterProvider(mp)
return mp
}
Expand Down

0 comments on commit 206bbab

Please sign in to comment.