diff --git a/container/sculptor/Dockerfile.erb b/container/sculptor/Dockerfile.erb index 81e12c48..eca9ac50 100644 --- a/container/sculptor/Dockerfile.erb +++ b/container/sculptor/Dockerfile.erb @@ -16,6 +16,9 @@ COPY projects/sculptor/edition.mjs \ RUN npm ci +COPY projects/sculptor/src/instrumentation.ts src/instrumentation.ts +COPY projects/sculptor/src/instrumentation-client.ts src/instrumentation-client.ts +COPY projects/sculptor/src/middleware.ts src/middleware.ts COPY projects/sculptor/src/hooks src/hooks COPY projects/sculptor/src/app src/app COPY projects/sculptor/src/packages/ce src/packages/ce diff --git a/docker-compose/.env b/docker-compose/.env index e93bfa49..8e80cd47 100644 --- a/docker-compose/.env +++ b/docker-compose/.env @@ -76,11 +76,17 @@ OPENTELEMETRY_GRPC_HOST=http://localhost:4317 OPENTELEMETRY_LOGS_HTTP_ENDPOINT=http://localhost:4318/v1/logs OPENTELEMETRY_METRICS_HTTP_ENDPOINT=http://localhost:4318/v1/metrics OPENTELEMETRY_TRACES_HTTP_ENDPOINT=http://localhost:4318/v1/traces +OPENTELEMETRY_LOGS_CLIENTSIDE_HTTP_ENDPOINT=http://localhost:4318/v1/logs +OPENTELEMETRY_METRICS_CLIENTSIDE_HTTP_ENDPOINT=http://localhost:4318/v1/metrics +OPENTELEMETRY_TRACES_CLIENTSIDE_HTTP_ENDPOINT=http://localhost:4318/v1/traces -# OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_WEB=sagittarius-web -# OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_CABLE=sagittarius-cable -# OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_GRPC=sagittarius-grpc -# OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_BACKGROUND=sagittarius-background +OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_WEB=sagittarius-web +OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_CABLE=sagittarius-cable +OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_GRPC=sagittarius-grpc +OPENTELEMETRY_SERVICE_NAME_SAGITTARIUS_BACKGROUND=sagittarius-background +OPENTELEMETRY_SERVICE_NAME_NGINX=nginx +OPENTELEMETRY_SERVICE_NAME_SCULPTOR=sculptor +OPENTELEMETRY_SERVICE_NAME_SCULPTOR_CLIENTSIDE=sculptor-clientside # Internal config options SAGITTARIUS_RAILS_HOST=sagittarius-rails-web diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 2a0c9ead..ad824fd4 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -105,6 +105,25 @@ services: sculptor: image: ${IMAGE_REGISTRY}/sculptor:${IMAGE_TAG}-${IMAGE_EDITION} restart: unless-stopped + environment: + OPENTELEMETRY_ENABLED: ${OPENTELEMETRY_ENABLED:-false} + OTEL_SERVICE_NAME: ${OPENTELEMETRY_SERVICE_NAME_SCULPTOR} + OTEL_LOGS_ENDPOINT: ${OPENTELEMETRY_LOGS_HTTP_ENDPOINT} + OTEL_METRICS_ENDPOINT: ${OPENTELEMETRY_METRICS_HTTP_ENDPOINT} + OTEL_TRACES_ENDPOINT: ${OPENTELEMETRY_TRACES_HTTP_ENDPOINT} + NEXT_PUBLIC_OTEL_SERVICE_NAME: ${OPENTELEMETRY_SERVICE_NAME_SCULPTOR_CLIENTSIDE} + NEXT_PUBLIC_OTEL_LOGS_ENDPOINT: ${OPENTELEMETRY_LOGS_CLIENTSIDE_HTTP_ENDPOINT} + NEXT_PUBLIC_OTEL_METRICS_ENDPOINT: ${OPENTELEMETRY_METRICS_CLIENTSIDE_HTTP_ENDPOINT} + NEXT_PUBLIC_OTEL_TRACES_ENDPOINT: ${OPENTELEMETRY_TRACES_CLIENTSIDE_HTTP_ENDPOINT} + entrypoint: | + sh -c " + if [ \"$$OPENTELEMETRY_ENABLED\" != 'true' ]; then + echo 'UNSET OTEL' + unset OTEL_SERVICE_NAME OTEL_LOGS_ENDPOINT OTEL_METRICS_ENDPOINT OTEL_TRACES_ENDPOINT + unset NEXT_PUBLIC_OTEL_SERVICE_NAME NEXT_PUBLIC_OTEL_LOGS_ENDPOINT NEXT_PUBLIC_OTEL_METRICS_ENDPOINT NEXT_PUBLIC_OTEL_TRACES_ENDPOINT + fi + exec npm run start + " profiles: - ide