This commit is contained in:
Yusuke Kuoka
2024-06-24 09:45:23 +00:00
parent f9aa2c691c
commit 8237ef2cba
4 changed files with 45 additions and 0 deletions
+8
View File
@@ -14,6 +14,7 @@ import (
"github.com/go-logr/logr"
"github.com/google/uuid"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/trace"
)
const (
@@ -164,17 +165,22 @@ func (l *Listener) Listen(ctx context.Context, handler Handler) error {
default:
}
ctx, span := otel.Tracer("arc").Start(ctx, "Listener.Listen.loop", trace.WithNewRoot())
msg, err := l.getMessage(ctx)
if err != nil {
span.End()
return fmt.Errorf("failed to get message: %w", err)
}
if msg == nil {
_, err := handler.HandleDesiredRunnerCount(ctx, 0, 0)
if err != nil {
span.End()
return fmt.Errorf("handling nil message failed: %w", err)
}
span.End()
continue
}
@@ -182,6 +188,8 @@ func (l *Listener) Listen(ctx context.Context, handler Handler) error {
if err := l.handleMessage(context.WithoutCancel(ctx), handler, msg); err != nil {
return fmt.Errorf("failed to handle message: %w", err)
}
span.End()
}
}
+25
View File
@@ -13,6 +13,10 @@ import (
"go.opentelemetry.io/otel"
ddotel "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/opentelemetry"
"go.opentelemetry.io/otel/exporters/stdout/stdoutlog"
"go.opentelemetry.io/otel/log/global"
otellog "go.opentelemetry.io/otel/sdk/log"
)
func main() {
@@ -21,6 +25,15 @@ func main() {
otel.SetTracerProvider(provider)
loggerProvider, err := newLoggerProvider()
if err != nil {
return
}
global.SetLoggerProvider(loggerProvider)
log.Printf("Enabled OpenTelemetry Tracing")
configPath, ok := os.LookupEnv("LISTENER_CONFIG_PATH")
if !ok {
fmt.Fprintf(os.Stderr, "Error: LISTENER_CONFIG_PATH environment variable is not set\n")
@@ -46,3 +59,15 @@ func main() {
os.Exit(1)
}
}
func newLoggerProvider() (*otellog.LoggerProvider, error) {
logExporter, err := stdoutlog.New()
if err != nil {
return nil, err
}
loggerProvider := otellog.NewLoggerProvider(
otellog.WithProcessor(otellog.NewBatchProcessor(logExporter)),
)
return loggerProvider, nil
}