Skip to content

Commit 785da20

Browse files
committed
Try adding more OTel instrumentation
I have no idea what this will do or whether it will work at all.
1 parent d7c65e2 commit 785da20

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

cmd/randomizer-lambda/main.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
lambdadetector "go.opentelemetry.io/contrib/detectors/aws/lambda"
2525
"go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda"
2626
"go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig"
27+
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
2728
xraypropagator "go.opentelemetry.io/contrib/propagators/aws/xray"
2829
"go.opentelemetry.io/otel"
2930
"go.opentelemetry.io/otel/attribute"
@@ -70,8 +71,9 @@ func main() {
7071
StoreFactory: storeFactory,
7172
Logger: logger,
7273
}
73-
appHandler := httpadapter.NewV2(app).ProxyWithContext
74-
handler := otellambda.InstrumentHandler(appHandler, xrayconfig.WithRecommendedOptions(tp)...)
74+
appHandler := otelhttp.NewHandler(app, "slack")
75+
adapterHandler := httpadapter.NewV2(appHandler).ProxyWithContext
76+
handler := otellambda.InstrumentHandler(adapterHandler, xrayconfig.WithRecommendedOptions(tp)...)
7577
lambda.Start(handler)
7678
}
7779

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ require (
1919
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda v0.64.0
2020
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig v0.64.0
2121
go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws v0.64.0
22+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0
2223
go.opentelemetry.io/contrib/propagators/aws v1.39.0
2324
go.opentelemetry.io/otel v1.39.0
2425
go.opentelemetry.io/otel/sdk v1.39.0
@@ -62,7 +63,6 @@ require (
6263
github.com/spf13/pflag v1.0.9 // indirect
6364
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
6465
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.64.0 // indirect
65-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0 // indirect
6666
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.39.0 // indirect
6767
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.39.0 // indirect
6868
go.opentelemetry.io/otel/metric v1.39.0 // indirect

internal/awsconfig/awsconfig.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ import (
1616
"github.com/aws/aws-sdk-go-v2/aws/retry"
1717
"github.com/aws/aws-sdk-go-v2/config"
1818
"go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws"
19+
"go.opentelemetry.io/otel"
1920
)
2021

22+
var tracer = otel.Tracer("github.com/featherbread/randomizer/internal/awsconfig")
23+
2124
const (
2225
// DefaultTimeout is set to half of the 3-second response time limit that
2326
// Slack imposes on slash commands.
@@ -40,7 +43,11 @@ func New(ctx context.Context) (aws.Config, error) {
4043
// start latency (see [getEmbeddedCertTransport]). It can be enabled for
4144
// standard server deployments if desired, but is far less beneficial.
4245
if os.Getenv("AWS_CLIENT_EMBEDDED_TLS_ROOTS") == "1" {
43-
transport = getEmbeddedCertTransport()
46+
func() {
47+
_, span := tracer.Start(ctx, "loadcerts")
48+
defer span.End()
49+
transport = getEmbeddedCertTransport()
50+
}()
4451
}
4552

4653
cfg, err := config.LoadDefaultConfig(ctx,

0 commit comments

Comments
 (0)