opentelemetry-dotnet-instru.../dev/envvars.sh

77 lines
3.1 KiB
Bash

#!/bin/bash
uname_os() {
os=$(uname -s | tr '[:upper:]' '[:lower:]')
case "$os" in
cygwin_nt*) echo "windows" ;;
mingw*) echo "windows" ;;
msys_nt*) echo "windows" ;;
*) echo "$os" ;;
esac
}
native_sufix() {
os=$(uname_os)
case "$os" in
windows*) echo "dll" ;;
linux*) echo "so" ;;
darwin*) echo "dylib" ;;
*) echo "OS: ${os} is not supported" ; exit 1 ;;
esac
}
current_dir() {
os=$(uname_os)
case "$os" in
windows*) pwd -W ;;
*) pwd ;;
esac
}
CURDIR=$(current_dir)
SUFIX=$(native_sufix)
OS=$(uname_os)
ENABLE_PROFILING=${ENABLE_PROFILING:-1}
# Enable .NET Framework Profiling API
if [ "$OS" == "windows" ]
then
export COR_ENABLE_PROFILING="${ENABLE_PROFILING}"
export COR_PROFILER="{918728DD-259F-4A6A-AC2B-B85E1B658318}"
export COR_PROFILER_PATH="${CURDIR}/bin/tracer-home/OpenTelemetry.AutoInstrumentation.Native.${SUFIX}"
# Set paths for both bitness on Windows, see https://docs.microsoft.com/en-us/dotnet/core/run-time-config/debugging-profiling#profiler-location
export COR_PROFILER_PATH_64="${CURDIR}/bin/tracer-home/win-x64/OpenTelemetry.AutoInstrumentation.Native.${SUFIX}"
export COR_PROFILER_PATH_32="${CURDIR}/bin/tracer-home/win-x86/OpenTelemetry.AutoInstrumentation.Native.${SUFIX}"
fi
# Enable .NET Core Profiling API
export CORECLR_ENABLE_PROFILING="${ENABLE_PROFILING}"
export CORECLR_PROFILER="{918728DD-259F-4A6A-AC2B-B85E1B658318}"
export CORECLR_PROFILER_PATH="${CURDIR}/bin/tracer-home/OpenTelemetry.AutoInstrumentation.Native.${SUFIX}"
if [ "$OS" == "windows" ]
then
# Set paths for both bitness on Windows, see https://docs.microsoft.com/en-us/dotnet/core/run-time-config/debugging-profiling#profiler-location
export CORECLR_PROFILER_PATH_64="${CURDIR}/bin/tracer-home/win-x64/OpenTelemetry.AutoInstrumentation.Native.${SUFIX}"
export CORECLR_PROFILER_PATH_32="${CURDIR}/bin/tracer-home/win-x86/OpenTelemetry.AutoInstrumentation.Native.${SUFIX}"
fi
# Configure .NET Core runtime
export DOTNET_ADDITIONAL_DEPS="${CURDIR}/bin/tracer-home/AdditionalDeps"
export DOTNET_SHARED_STORE="${CURDIR}/bin/tracer-home/store"
export DOTNET_STARTUP_HOOKS="${CURDIR}/bin/tracer-home/net/OpenTelemetry.AutoInstrumentation.StartupHook.dll"
# Configure ASP.NET Core startup
export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES="OpenTelemetry.AutoInstrumentation.AspNetCoreBootstrapper"
# Configure OpenTelemetry .NET Auto-Instrumentation
export OTEL_DOTNET_AUTO_HOME="${CURDIR}/bin/tracer-home"
export OTEL_DOTNET_AUTO_INTEGRATIONS_FILE="${CURDIR}/bin/tracer-home/integrations.json"
export OTEL_DOTNET_AUTO_DEBUG="1"
export OTEL_DOTNET_AUTO_DUMP_ILREWRITE_ENABLED="0"
export OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES=${OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES:-dotnet.exe,dotnet}
# Enable console exporters
export OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED=${OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED:-true}
export OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED=${OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED:-true}
export OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED=${OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED:-true}