Files
ophion/deploy/docker/dotnet-instrumentation/docker-compose.dotnet.yml

44 lines
1.4 KiB
YAML

# Add this to your existing docker-compose.yml to enable .NET tracing
#
# Usage:
# 1. Add the otel-init service
# 2. Add environment variables and volumes to your .NET app
# 3. Set OTEL_SERVICE_NAME for each service
services:
# Init container that provides OpenTelemetry .NET instrumentation
otel-init:
build:
context: .
dockerfile: Dockerfile
volumes:
- otel-dotnet:/otel-dotnet
restart: "no"
# Example: Your .NET app with tracing enabled
# my-dotnet-app:
# image: your-image:tag
# depends_on:
# otel-init:
# condition: service_completed_successfully
# environment:
# # OpenTelemetry config
# - OTEL_SERVICE_NAME=my-dotnet-app
# - OTEL_EXPORTER_OTLP_ENDPOINT=http://ophion:8080
# - OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
# - OTEL_TRACES_EXPORTER=otlp
# - OTEL_METRICS_EXPORTER=otlp
# - OTEL_LOGS_EXPORTER=otlp
# # .NET CLR profiler config
# - CORECLR_ENABLE_PROFILING=1
# - CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658571}
# - CORECLR_PROFILER_PATH=/otel-dotnet/linux-x64/OpenTelemetry.AutoInstrumentation.Native.so
# - DOTNET_ADDITIONAL_DEPS=/otel-dotnet/AdditionalDeps
# - DOTNET_SHARED_STORE=/otel-dotnet/store
# - DOTNET_STARTUP_HOOKS=/otel-dotnet/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll
# volumes:
# - otel-dotnet:/otel-dotnet:ro
volumes:
otel-dotnet: