Use OTEL_DOTNET_AUTO_ as the env var prefix (#358)
* Remove support for OTEL_{0}_ENABLED env var * Document OTEL_DOTNET_TRACER_HOME * Rename OTEL_DOTNET_TRACER_HOME to OTEL_DOTNET_AUTO_HOME * Rename OTEL_TRACE_ENABLED to OTEL_DOTNET_AUTO_ENABLED * Rename OTEL_PROFILER_PROCESSES to OTEL_DOTNET_AUTO_INCLUDE_PROCESSES * Rename OTEL_PROFILER_EXCLUDE_PROCESSES to OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES * Rename OTEL_AZURE_APP_SERVICES to OTEL_DOTNET_AUTO_AZURE_APP_SERVICES * Rename OTEL_INTEGRATIONS to OTEL_DOTNET_AUTO_INTEGRATIONS_FILE * Rename OTEL_DOTNET_TRACER_INSTRUMENTATIONS to OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS * Rename OTEL_DOTNET_TRACER_DISABLED_INSTRUMENTATIONS to OTEL_DOTNET_AUTO_DISABLED_INSTRUMENTATIONS * Rename OTEL_TRACE_{0}_ENABLED to OTEL_DOTNET_AUTO_{0}_ENABLED * Rename OTEL_TRACE_DOMAIN_NEUTRAL_INSTRUMENTATION to OTEL_DOTNET_AUTO_DOMAIN_NEUTRAL_INSTRUMENTATION * Rename OTEL_CLR_DISABLE_OPTIMIZATIONS to OTEL_DOTNET_AUTO_CLR_DISABLE_OPTIMIZATIONS * Rename OTEL_CLR_ENABLE_INLINING to OTEL_DOTNET_AUTO_CLR_ENABLE_INLINING * Rename OTEL_CLR_ENABLE_NGEN to OTEL_DOTNET_AUTO_CLR_ENABLE_NGEN * Rename OTEL_TRACE_LOG_DIRECTORY to OTEL_DOTNET_AUTO_LOG_DIRECTORY * Rename OTEL_TRACE_LOG_PATH to OTEL_DOTNET_AUTO_LOG_PATH * Rename OTEL_TRACE_DEBUG to OTEL_DOTNET_AUTO_DEBUG * Rename OTEL_DOTNET_TRACER_CONSOLE_EXPORTER_ENABLED to OTEL_DOTNET_AUTO_CONSOLE_EXPORTER_ENABLED * Rename OTEL_DUMP_ILREWRITE_ENABLED to OTEL_DOTNET_AUTO_DUMP_ILREWRITE_ENABLED * Rename OTEL_DOTNET_TRACER_LOAD_AT_STARTUP to OTEL_DOTNET_AUTO_LOAD_AT_STARTUP * Rename OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES to OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES * Rename OTEL_DOTNET_TRACER_LEGACY_SOURCES to OTEL_DOTNET_AUTO_LEGACY_SOURCES * Rename OTEL_DOTNET_TRACER_INSTRUMENTATION_PLUGINS to OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS * Rename OTEL_INTERNAL_TRACE_NATIVE_ENGINE_PATH to OTEL_DOTNET_AUTO_INTERNAL_NATIVE_ENGINE_PATH
This commit is contained in:
parent
eb7512dfc7
commit
b62129eb4d
|
@ -2,5 +2,5 @@ export CORECLR_ENABLE_PROFILING=1
|
|||
export CORECLR_PROFILER='{918728DD-259F-4A6A-AC2B-B85E1B658318}'
|
||||
export CORECLR_PROFILER_PATH=/opt/opentelemetry-dotnet-autoinstrumentation/OpenTelemetry.ClrProfiler.Native.so
|
||||
export DOTNET_STARTUP_HOOKS=/opt/opentelemetry-dotnet-autoinstrumentation/OpenTelemetry.Instrumentation.StartupHook.dll
|
||||
export OTEL_INTEGRATIONS=/opt/opentelemetry-dotnet-autoinstrumentation/integrations.json
|
||||
export OTEL_DOTNET_TRACER_HOME=/opt/opentelemetry-dotnet-autoinstrumentation
|
||||
export OTEL_DOTNET_AUTO_INTEGRATIONS_FILE=/opt/opentelemetry-dotnet-autoinstrumentation/integrations.json
|
||||
export OTEL_DOTNET_AUTO_HOME=/opt/opentelemetry-dotnet-autoinstrumentation
|
|
@ -56,9 +56,8 @@ fi
|
|||
export DOTNET_STARTUP_HOOKS="${CURDIR}/bin/tracer-home/netcoreapp3.1/OpenTelemetry.Instrumentation.StartupHook.dll"
|
||||
|
||||
# Configure OpenTelemetry Tracer
|
||||
export OTEL_DOTNET_TRACER_HOME="${CURDIR}/bin/tracer-home"
|
||||
export OTEL_INTEGRATIONS="${CURDIR}/bin/tracer-home/integrations.json"
|
||||
export OTEL_TRACE_DEBUG="1"
|
||||
export OTEL_DUMP_ILREWRITE_ENABLED="0"
|
||||
export OTEL_CLR_ENABLE_INLINING="1"
|
||||
export OTEL_PROFILER_EXCLUDE_PROCESSES="dotnet.exe,dotnet"
|
||||
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="dotnet.exe,dotnet"
|
||||
|
|
|
@ -48,11 +48,11 @@ SET CORECLR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318}
|
|||
SET CORECLR_PROFILER_PATH=%~dp0\src\OpenTelemetry.ClrProfiler.Native\bin\%profiler_configuration%\%profiler_platform%\OpenTelemetry.ClrProfiler.Native.dll
|
||||
|
||||
rem Don't attach the profiler to these processes
|
||||
SET OTEL_PROFILER_EXCLUDE_PROCESSES=devenv.exe;Microsoft.ServiceHub.Controller.exe;ServiceHub.Host.CLR.exe;ServiceHub.TestWindowStoreHost.exe;ServiceHub.DataWarehouseHost.exe;sqlservr.exe;VBCSCompiler.exe;iisexpresstray.exe;msvsmon.exe;PerfWatson2.exe;ServiceHub.IdentityHost.exe;ServiceHub.VSDetouredHost.exe;ServiceHub.SettingsHost.exe;ServiceHub.Host.CLR.x86.exe;vstest.console.exe;ServiceHub.RoslynCodeAnalysisService32.exe;testhost.x86.exe;MSBuild.exe;ServiceHub.ThreadedWaitDialog.exe
|
||||
SET OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES=devenv.exe;Microsoft.ServiceHub.Controller.exe;ServiceHub.Host.CLR.exe;ServiceHub.TestWindowStoreHost.exe;ServiceHub.DataWarehouseHost.exe;sqlservr.exe;VBCSCompiler.exe;iisexpresstray.exe;msvsmon.exe;PerfWatson2.exe;ServiceHub.IdentityHost.exe;ServiceHub.VSDetouredHost.exe;ServiceHub.SettingsHost.exe;ServiceHub.Host.CLR.x86.exe;vstest.console.exe;ServiceHub.RoslynCodeAnalysisService32.exe;testhost.x86.exe;MSBuild.exe;ServiceHub.ThreadedWaitDialog.exe
|
||||
|
||||
rem Set dotnet tracer home path
|
||||
SET OTEL_DOTNET_TRACER_HOME=%~dp0
|
||||
SET OTEL_INTEGRATIONS=%OTEL_DOTNET_TRACER_HOME%\integrations.json
|
||||
SET OTEL_DOTNET_AUTO_HOME=%~dp0
|
||||
SET OTEL_DOTNET_AUTO_INTEGRATIONS_FILE=%OTEL_DOTNET_AUTO_HOME%\integrations.json
|
||||
|
||||
if "%start_visual_studio%" == "true" (
|
||||
echo Starting Visual Studio...
|
||||
|
|
|
@ -59,7 +59,7 @@ injected into the application.
|
|||
contains the code setting up the OpenTelemtry .NET SDK and configured instrumentations.
|
||||
Plus, support code to run and implement bytecode instrumentations. Optionally, the code
|
||||
setting-up the OpenTelemetry .NET SDK can be left to the application by setting the
|
||||
environment variable `OTEL_DOTNET_TRACER_LOAD_AT_STARTUP` to `false`.
|
||||
environment variable `OTEL_DOTNET_AUTO_LOAD_AT_STARTUP` to `false`.
|
||||
|
||||
- **Source Instrumentations**: instrumentations created on top of API hooks/callbacks provided
|
||||
directly by the library/framework being instrumented. This type of instrumentation depends on the
|
||||
|
|
|
@ -8,10 +8,11 @@
|
|||
|
||||
| Environment variable | Description | Default |
|
||||
|-|-|-|
|
||||
| `OTEL_TRACE_ENABLED` | Enable to activate the tracer. | `true` |
|
||||
| `OTEL_PROFILER_PROCESSES` | Sets the filename of executables the profiler can attach to. If not defined (default), the profiler will attach to any process. Supports multiple values separated with comma, for example: `MyApp.exe,dotnet.exe` | |
|
||||
| `OTEL_PROFILER_EXCLUDE_PROCESSES` | Sets the filename of executables the profiler cannot attach to. If not defined (default), the profiler will attach to any process. Supports multiple values separated with comma, for example: `MyApp.exe,dotnet.exe` | |
|
||||
| `OTEL_AZURE_APP_SERVICES` | Set to indicate that the profiler is running in the context of Azure App Services. | `false` |
|
||||
| `OTEL_DOTNET_AUTO_HOME` | Installation location. | `true` |
|
||||
| `OTEL_DOTNET_AUTO_ENABLED` | Enable to activate the tracer. | `true` |
|
||||
| `OTEL_DOTNET_AUTO_INCLUDE_PROCESSES` | Sets the filename of executables the profiler can attach to. If not defined (default), the profiler will attach to any process. Supports multiple values separated with comma, for example: `MyApp.exe,dotnet.exe` | |
|
||||
| `OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES` | Sets the filename of executables the profiler cannot attach to. If not defined (default), the profiler will attach to any process. Supports multiple values separated with comma, for example: `MyApp.exe,dotnet.exe` | |
|
||||
| `OTEL_DOTNET_AUTO_AZURE_APP_SERVICES` | Set to indicate that the profiler is running in the context of Azure App Services. | `false` |
|
||||
|
||||
### Resource
|
||||
|
||||
|
@ -28,14 +29,14 @@ for more details.
|
|||
|
||||
| Environment variable | Description | Default |
|
||||
|-|-|-|
|
||||
| `OTEL_INTEGRATIONS` | The file path of bytecode instrumentations JSON configuration file. Usually it should be set to `%ProfilerDirectory%/integrations.json` | |
|
||||
| `OTEL_DOTNET_TRACER_INSTRUMENTATIONS` | The instrumentations you want to enable, separated by a comma. Supported values: `AspNet`, `HttpClient`, `SqlClient`, `MongoDb`. | |
|
||||
| `OTEL_DOTNET_TRACER_DISABLED_INSTRUMENTATIONS` | The instrumentations set via `OTEL_DOTNET_TRACER_INSTRUMENTATIONS` value and `OTEL_INTEGRATIONS` configuration file you want to disable, separated by a comma. | |
|
||||
| `OTEL_TRACE_{0}_ENABLED` | Configuration pattern for enabling or disabling a specific bytecode. For example, in order to disable MongoDb instrumentation, set `OTEL_TRACE_MongoDb_ENABLED=false` | `true` |
|
||||
| `OTEL_TRACE_DOMAIN_NEUTRAL_INSTRUMENTATION` | Sets whether to intercept method calls when the caller method is inside a domain-neutral assembly. This is recommended when instrumenting IIS applications. | `false` |
|
||||
| `OTEL_CLR_DISABLE_OPTIMIZATIONS` | Set to `true` to disable all JIT optimizations. | `false` |
|
||||
| `OTEL_CLR_ENABLE_INLINING` | Set to `false` to disable JIT inlining. | `true` |
|
||||
| `OTEL_CLR_ENABLE_NGEN` | Set to `false` to disable NGEN images. | `true` |
|
||||
| `OTEL_DOTNET_AUTO_INTEGRATIONS_FILE` | The file path of bytecode instrumentations JSON configuration file. Usually it should be set to `%ProfilerDirectory%/integrations.json` | |
|
||||
| `OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS` | The instrumentations you want to enable, separated by a comma. Supported values: `AspNet`, `HttpClient`, `SqlClient`, `MongoDb`. | |
|
||||
| `OTEL_DOTNET_AUTO_DISABLED_INSTRUMENTATIONS` | The instrumentations set via `OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS` value and `OTEL_DOTNET_AUTO_INTEGRATIONS_FILE` configuration file you want to disable, separated by a comma. | |
|
||||
| `OTEL_DOTNET_AUTO_{0}_ENABLED` | Configuration pattern for enabling or disabling a specific bytecode. For example, in order to disable MongoDb instrumentation, set `OTEL_TRACE_MongoDb_ENABLED=false` | `true` |
|
||||
| `OTEL_DOTNET_AUTO_DOMAIN_NEUTRAL_INSTRUMENTATION` | Sets whether to intercept method calls when the caller method is inside a domain-neutral assembly. This is recommended when instrumenting IIS applications. | `false` |
|
||||
| `OTEL_DOTNET_AUTO_CLR_DISABLE_OPTIMIZATIONS` | Set to `true` to disable all JIT optimizations. | `false` |
|
||||
| `OTEL_DOTNET_AUTO_CLR_ENABLE_INLINING` | Set to `false` to disable JIT inlining. | `true` |
|
||||
| `OTEL_DOTNET_AUTO_CLR_ENABLE_NGEN` | Set to `false` to disable NGEN images. | `true` |
|
||||
|
||||
### ASP.NET (.NET Framework) Instrumentation
|
||||
|
||||
|
@ -53,11 +54,11 @@ Default logs directory paths are:
|
|||
|
||||
| Environment variable | Description | Default |
|
||||
|-|-|-|
|
||||
| `OTEL_TRACE_LOG_DIRECTORY` | The directory of the .NET Tracer logs. Overrides the value in `OTEL_TRACE_LOG_PATH` if present. | _see above_ |
|
||||
| `OTEL_TRACE_LOG_PATH` | The path of the profiler log file. | _see above_ |
|
||||
| `OTEL_TRACE_DEBUG` | Enable to activate debugging mode for the tracer. | `false` |
|
||||
| `OTEL_DOTNET_TRACER_CONSOLE_EXPORTER_ENABLED` | Defines whether the console exporter is enabled or not. | `true` |
|
||||
| `OTEL_DUMP_ILREWRITE_ENABLED` | Allows the profiler to dump the IL original code and modification to the log. | `false` |
|
||||
| `OTEL_DOTNET_AUTO_LOG_DIRECTORY` | The directory of the .NET Tracer logs. Overrides the value in `OTEL_DOTNET_AUTO_LOG_PATH` if present. | _see above_ |
|
||||
| `OTEL_DOTNET_AUTO_LOG_PATH` | The path of the profiler log file. | _see above_ |
|
||||
| `OTEL_DOTNET_AUTO_DEBUG` | Enable to activate debugging mode for the tracer. | `false` |
|
||||
| `OTEL_DOTNET_AUTO_CONSOLE_EXPORTER_ENABLED` | Defines whether the console exporter is enabled or not. | `true` |
|
||||
| `OTEL_DOTNET_AUTO_DUMP_ILREWRITE_ENABLED` | Allows the profiler to dump the IL original code and modification to the log. | `false` |
|
||||
|
||||
### Exporters
|
||||
|
||||
|
@ -96,22 +97,22 @@ The Batch Span Processor batches of finished spans before they are send by the e
|
|||
|
||||
| Environment variable | Description | Default |
|
||||
|-|-|-|
|
||||
| `OTEL_DOTNET_TRACER_LOAD_AT_STARTUP` | Defines whether the tracer is created by the auto instrumentation library or not. | `true` |
|
||||
| `OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES` | Comma separated list of additional `ActivitySource` names to be added to the tracer at the startup. | |
|
||||
| `OTEL_DOTNET_TRACER_LEGACY_SOURCES` | Comma separated list of additional legacy source names to be added to the tracer at the startup. | |
|
||||
| `OTEL_DOTNET_TRACER_INSTRUMENTATION_PLUGINS` | Colon (:) separated list of OTel SDK instrumentation plugins represented by `System.Type.AssemblyQualifiedName`. | |
|
||||
| `OTEL_DOTNET_AUTO_LOAD_AT_STARTUP` | Defines whether the tracer is created by the auto instrumentation library or not. | `true` |
|
||||
| `OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES` | Comma separated list of additional `ActivitySource` names to be added to the tracer at the startup. | |
|
||||
| `OTEL_DOTNET_AUTO_LEGACY_SOURCES` | Comma separated list of additional legacy source names to be added to the tracer at the startup. | |
|
||||
| `OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS` | Colon (:) separated list of OTel SDK instrumentation plugins represented by `System.Type.AssemblyQualifiedName`. | |
|
||||
|
||||
`OTEL_DOTNET_TRACER_LOAD_AT_STARTUP` should be set to `false` when application
|
||||
`OTEL_DOTNET_AUTO_LOAD_AT_STARTUP` should be set to `false` when application
|
||||
initializes OpenTelemetry .NET SDK Tracer on its own. This configuration can be
|
||||
used e.g. to just get the bytecode instrumentations.
|
||||
|
||||
`OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES` should be used to capture manually
|
||||
`OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES` should be used to capture manually
|
||||
instrumented spans.
|
||||
|
||||
`OTEL_DOTNET_TRACER_LEGACY_SOURCES` can be used to capture `Activity` objects
|
||||
`OTEL_DOTNET_AUTO_LEGACY_SOURCES` can be used to capture `Activity` objects
|
||||
created without using the `ActivitySource` API.
|
||||
|
||||
`OTEL_DOTNET_TRACER_INSTRUMENTATION_PLUGINS` can be used to extend the
|
||||
`OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS` can be used to extend the
|
||||
configuration of the the OpenTelemetry .NET SDK Tracer. A plugin must be a
|
||||
non-static, non-abstract class which has a default constructor and a method
|
||||
with following signature:
|
||||
|
@ -180,7 +181,7 @@ cat /proc/version
|
|||
|
||||
The default installation of auto-instrumentation enables tracing all .NET processes on the box.
|
||||
In the typical scenarios (dedicated VMs or containers), this is not a problem.
|
||||
Use the environment variables `OTEL_PROFILER_EXCLUDE_PROCESSES` and `OTEL_PROFILER_PROCESSES`
|
||||
Use the environment variables `OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES` and `OTEL_DOTNET_AUTO_INCLUDE_PROCESSES`
|
||||
to include/exclude applications from the tracing auto-instrumentation.
|
||||
These are ";" delimited lists that control the inclusion/exclusion of processes.
|
||||
|
||||
|
@ -201,10 +202,10 @@ you can also manually add binding redirection to [the `App.config` file](../samp
|
|||
If none of the suggestions above solves your issue, detailed logs are necessary.
|
||||
Follow the steps below to get the detailed logs from OpenTelemetry AutoInstrumentation for .NET:
|
||||
|
||||
Set the environment variable `OTEL_TRACE_DEBUG` to `true` before the instrumented process starts.
|
||||
Set the environment variable `OTEL_DOTNET_AUTO_DEBUG` to `true` before the instrumented process starts.
|
||||
By default, the library writes the log files under the below predefined locations.
|
||||
If needed, change the default location by updating the environment variable `OTEL_TRACE_LOG_PATH` to an appropriate path.
|
||||
If needed, change the default location by updating the environment variable `OTEL_DOTNET_AUTO_LOG_PATH` to an appropriate path.
|
||||
On Linux, the default log location is `/var/log/opentelemetry/dotnet/`
|
||||
On Windows, the default log location is `%ProgramData%\\OpenTelemetry .NET AutoInstrumentation\logs\`
|
||||
Compress the whole folder to capture the multiple log files and send the compressed folder to us.
|
||||
After obtaining the logs, remember to remove the environment variable `OTEL_TRACE_DEBUG` to avoid unnecessary overhead.
|
||||
After obtaining the logs, remember to remove the environment variable `OTEL_DOTNET_AUTO_DEBUG` to avoid unnecessary overhead.
|
||||
|
|
8
poc.sh
8
poc.sh
|
@ -43,13 +43,13 @@ docker run -d --rm --name jaeger \
|
|||
jaegertracing/all-in-one:1.22
|
||||
|
||||
# instrument and run HTTP server app in background
|
||||
export OTEL_DOTNET_TRACER_INSTRUMENTATION_PLUGINS="Samples.AspNetCoreMvc.OtelSdkPlugin, Samples.AspNetCoreMvc31, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null:Vendor.Distro.Plugin, Vendor.Distro, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"
|
||||
./dev/instrument.sh OTEL_DOTNET_TRACER_INSTRUMENTATIONS="AspNet,SqlClient,MongoDb" OTEL_SERVICE_NAME="aspnet-server" ASPNETCORE_URLS="http://127.0.0.1:8080/" dotnet run --no-launch-profile -f $aspNetAppTargetFramework --project ./samples/Samples.AspNetCoreMvc31/Samples.AspNetCoreMvc31.csproj &
|
||||
unset OTEL_DOTNET_TRACER_INSTRUMENTATION_PLUGINS
|
||||
export OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS="Samples.AspNetCoreMvc.OtelSdkPlugin, Samples.AspNetCoreMvc31, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null:Vendor.Distro.Plugin, Vendor.Distro, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"
|
||||
./dev/instrument.sh OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS="AspNet,SqlClient,MongoDb" OTEL_SERVICE_NAME="aspnet-server" ASPNETCORE_URLS="http://127.0.0.1:8080/" dotnet run --no-launch-profile -f $aspNetAppTargetFramework --project ./samples/Samples.AspNetCoreMvc31/Samples.AspNetCoreMvc31.csproj &
|
||||
unset OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS
|
||||
./dev/wait-local-port.sh 8080
|
||||
|
||||
# instrument and run HTTP client app
|
||||
time ./dev/instrument.sh OTEL_DOTNET_TRACER_INSTRUMENTATIONS="HttpClient" OTEL_SERVICE_NAME="http-client" dotnet run --no-launch-profile -f $sampleAppTargetFramework --project ./samples/${sampleApp}/${sampleApp}.csproj
|
||||
time ./dev/instrument.sh OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS="HttpClient" OTEL_SERVICE_NAME="http-client" dotnet run --no-launch-profile -f $sampleAppTargetFramework --project ./samples/${sampleApp}/${sampleApp}.csproj
|
||||
|
||||
# verify if it works
|
||||
read -p "Check traces under: http://localhost:16686/search. Press enter to continue"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
"CORECLR_PROFILER_PATH": "$(SolutionDir)bin\\tracer-home\\win-x64\\OpenTelemetry.ClrProfiler.Native.dll",
|
||||
"DOTNET_STARTUP_HOOKS": "$(SolutionDir)bin\\tracer-home\\netcoreapp3.1\\OpenTelemetry.Instrumentation.StartupHook.dll",
|
||||
|
||||
"OTEL_DOTNET_TRACER_HOME": "$(SolutionDir)bin\\tracer-home",
|
||||
"OTEL_INTEGRATIONS": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_DOTNET_AUTO_HOME": "$(SolutionDir)bin\\tracer-home",
|
||||
"OTEL_DOTNET_AUTO_INTEGRATIONS_FILE": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_SERVICE_NAME": "Samples.AspNetCoreMvc31",
|
||||
"OTEL_TRACES_EXPORTER": "jaeger",
|
||||
"OTEL_EXPORTER_JAEGER_AGENT_HOST": "localhost",
|
||||
|
@ -40,8 +40,8 @@
|
|||
"CORECLR_PROFILER_PATH": "$(SolutionDir)bin\\tracer-home$(OutputPath)\\OpenTelemetry.ClrProfiler.Native.dll",
|
||||
"DOTNET_STARTUP_HOOKS": "$(SolutionDir)bin\\tracer-home\\netcoreapp3.1\\OpenTelemetry.Instrumentation.StartupHook.dll",
|
||||
|
||||
"OTEL_DOTNET_TRACER_HOME": "$(SolutionDir)bin\\tracer-home",
|
||||
"OTEL_INTEGRATIONS": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_DOTNET_AUTO_HOME": "$(SolutionDir)bin\\tracer-home",
|
||||
"OTEL_DOTNET_AUTO_INTEGRATIONS_FILE": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
|
||||
"OTEL_SERVICE_NAME": "Samples.AspNetCoreMvc31",
|
||||
"OTEL_TRACES_EXPORTER": "jaeger",
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
"OTEL_SERVICE_NAME": "Samples.StartupHook.AspNetCoreMvc31",
|
||||
|
||||
"OTEL_DOTNET_TRACER_INSTRUMENTATIONS": "AspNet,HttpClient",
|
||||
"OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS": "AspNet,HttpClient",
|
||||
|
||||
"OTEL_TRACES_EXPORTER": "zipkin",
|
||||
"OTEL_EXPORTER_ZIPKIN_ENDPOINT": "http://localhost:9411/api/v2/spans"
|
||||
|
@ -41,7 +41,7 @@
|
|||
|
||||
"OTEL_SERVICE_NAME": "Samples.StartupHook.AspNetCoreMvc31",
|
||||
|
||||
"OTEL_DOTNET_TRACER_INSTRUMENTATIONS": "AspNet,HttpClient",
|
||||
"OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS": "AspNet,HttpClient",
|
||||
|
||||
"OTEL_TRACES_EXPORTER": "zipkin",
|
||||
"OTEL_EXPORTER_ZIPKIN_ENDPOINT": "http://localhost:9411/api/v2/spans"
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Loader
|
|||
private static string ResolveManagedProfilerDirectory()
|
||||
{
|
||||
string tracerFrameworkDirectory = "netcoreapp3.1";
|
||||
string tracerHomeDirectory = ReadEnvironmentVariable("OTEL_DOTNET_TRACER_HOME") ?? string.Empty;
|
||||
string tracerHomeDirectory = ReadEnvironmentVariable("OTEL_DOTNET_AUTO_HOME") ?? string.Empty;
|
||||
|
||||
return Path.Combine(tracerHomeDirectory, tracerFrameworkDirectory);
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Loader
|
|||
{
|
||||
private static string ResolveManagedProfilerDirectory()
|
||||
{
|
||||
var tracerHomeDirectory = ReadEnvironmentVariable("OTEL_DOTNET_TRACER_HOME") ?? string.Empty;
|
||||
var tracerHomeDirectory = ReadEnvironmentVariable("OTEL_DOTNET_AUTO_HOME") ?? string.Empty;
|
||||
var tracerFrameworkDirectory = "net461";
|
||||
return Path.Combine(tracerHomeDirectory, tracerFrameworkDirectory);
|
||||
}
|
||||
|
|
|
@ -61,11 +61,11 @@ namespace OpenTelemetry.ClrProfiler.Managed.Loader
|
|||
|
||||
try
|
||||
{
|
||||
logDirectory = Environment.GetEnvironmentVariable("OTEL_TRACE_LOG_DIRECTORY");
|
||||
logDirectory = Environment.GetEnvironmentVariable("OTEL_DOTNET_AUTO_LOG_DIRECTORY");
|
||||
|
||||
if (logDirectory == null)
|
||||
{
|
||||
var nativeLogFile = Environment.GetEnvironmentVariable("OTEL_TRACE_LOG_PATH");
|
||||
var nativeLogFile = Environment.GetEnvironmentVariable("OTEL_DOTNET_AUTO_LOG_PATH");
|
||||
|
||||
if (!string.IsNullOrEmpty(nativeLogFile))
|
||||
{
|
||||
|
@ -143,7 +143,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Loader
|
|||
{
|
||||
try
|
||||
{
|
||||
var ddTraceDebugValue = Environment.GetEnvironmentVariable("OTEL_TRACE_DEBUG");
|
||||
var ddTraceDebugValue = Environment.GetEnvironmentVariable("OTEL_DOTNET_AUTO_DEBUG");
|
||||
|
||||
if (ddTraceDebugValue == null)
|
||||
{
|
||||
|
|
|
@ -12,12 +12,12 @@ namespace OpenTelemetry.ClrProfiler.Managed.Configuration
|
|||
/// Default is value is true (enabled).
|
||||
/// </summary>
|
||||
/// <seealso cref="Settings.TraceEnabled"/>
|
||||
public const string TraceEnabled = "OTEL_TRACE_ENABLED";
|
||||
public const string TraceEnabled = "OTEL_DOTNET_AUTO_ENABLED";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for whether the tracer should be initialized by the profiler or not.
|
||||
/// </summary>
|
||||
public const string LoadTracerAtStartup = "OTEL_DOTNET_TRACER_LOAD_AT_STARTUP";
|
||||
public const string LoadTracerAtStartup = "OTEL_DOTNET_AUTO_LOAD_AT_STARTUP";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for the traces exporter to be used.
|
||||
|
@ -39,32 +39,32 @@ namespace OpenTelemetry.ClrProfiler.Managed.Configuration
|
|||
/// <summary>
|
||||
/// Configuration key for whether the console exporter is enabled.
|
||||
/// </summary>
|
||||
public const string ConsoleExporterEnabled = "OTEL_DOTNET_TRACER_CONSOLE_EXPORTER_ENABLED";
|
||||
public const string ConsoleExporterEnabled = "OTEL_DOTNET_AUTO_CONSOLE_EXPORTER_ENABLED";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for comma separated list of enabled instrumentations.
|
||||
/// </summary>
|
||||
public const string Instrumentations = "OTEL_DOTNET_TRACER_INSTRUMENTATIONS";
|
||||
public const string Instrumentations = "OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for comma separated list of disabled instrumentations.
|
||||
/// </summary>
|
||||
public const string DisabledInstrumentations = "OTEL_DOTNET_TRACER_DISABLED_INSTRUMENTATIONS";
|
||||
public const string DisabledInstrumentations = "OTEL_DOTNET_AUTO_DISABLED_INSTRUMENTATIONS";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for colon (:) separated list of plugins represented by <see cref="System.Type.AssemblyQualifiedName"/>.
|
||||
/// </summary>
|
||||
public const string ProviderPlugins = "OTEL_DOTNET_TRACER_INSTRUMENTATION_PLUGINS";
|
||||
public const string ProviderPlugins = "OTEL_DOTNET_AUTO_INSTRUMENTATION_PLUGINS";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for additional <see cref="ActivitySource"/> names to be added to the tracer at the startup.
|
||||
/// </summary>
|
||||
public const string AdditionalSources = "OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES";
|
||||
public const string AdditionalSources = "OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES";
|
||||
|
||||
/// <summary>
|
||||
/// Configuration key for legacy source names to be added to the tracer at the startup.
|
||||
/// </summary>
|
||||
public const string LegacySources = "OTEL_DOTNET_TRACER_LEGACY_SOURCES";
|
||||
public const string LegacySources = "OTEL_DOTNET_AUTO_LEGACY_SOURCES";
|
||||
|
||||
/// <summary>
|
||||
/// String format patterns used to match integration-specific configuration keys.
|
||||
|
@ -74,7 +74,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Configuration
|
|||
/// <summary>
|
||||
/// Configuration key pattern for enabling or disabling an integration.
|
||||
/// </summary>
|
||||
public const string Enabled = "OTEL_TRACE_{0}_ENABLED";
|
||||
public const string Enabled = "OTEL_DOTNET_AUTO_{0}_ENABLED";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,8 +21,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Configuration
|
|||
return;
|
||||
}
|
||||
|
||||
Enabled = source.GetBool(string.Format(ConfigurationKeys.Integrations.Enabled, integrationName)) ??
|
||||
source.GetBool(string.Format("OTEL_{0}_ENABLED", integrationName));
|
||||
Enabled = source.GetBool(string.Format(ConfigurationKeys.Integrations.Enabled, integrationName));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -8,66 +8,66 @@ namespace environment {
|
|||
|
||||
// Sets whether the profiler is enabled. Default is true.
|
||||
// Setting this to false disabled the profiler entirely.
|
||||
const WSTRING tracing_enabled = WStr("OTEL_TRACE_ENABLED");
|
||||
const WSTRING tracing_enabled = WStr("OTEL_DOTNET_AUTO_ENABLED");
|
||||
|
||||
// Sets whether debug mode is enabled. Default is false.
|
||||
const WSTRING debug_enabled = WStr("OTEL_TRACE_DEBUG");
|
||||
const WSTRING debug_enabled = WStr("OTEL_DOTNET_AUTO_DEBUG");
|
||||
|
||||
// Sets the paths to integration definition JSON files.
|
||||
// Supports multiple values separated with comma, for example:
|
||||
// "C:\Program Files\OpenTelemetry .NET AutoInstrumentation\integrations.json,D:\temp\test_integrations.json"
|
||||
const WSTRING integrations_path = WStr("OTEL_INTEGRATIONS");
|
||||
const WSTRING integrations_path = WStr("OTEL_DOTNET_AUTO_INTEGRATIONS_FILE");
|
||||
|
||||
// Sets the path to the profiler's home directory, for example:
|
||||
// "C:\Program Files\OpenTelemetry .NET AutoInstrumentation\" or "/opt/opentelemetry/"
|
||||
const WSTRING profiler_home_path = WStr("OTEL_DOTNET_TRACER_HOME");
|
||||
const WSTRING profiler_home_path = WStr("OTEL_DOTNET_AUTO_HOME");
|
||||
|
||||
// Sets the filename of executables the profiler can attach to.
|
||||
// If not defined (default), the profiler will attach to any process.
|
||||
// Supports multiple values separated with comma, for example:
|
||||
// "MyApp.exe,dotnet.exe"
|
||||
const WSTRING include_process_names = WStr("OTEL_PROFILER_PROCESSES");
|
||||
const WSTRING include_process_names = WStr("OTEL_DOTNET_AUTO_INCLUDE_PROCESSES");
|
||||
|
||||
// Sets the filename of executables the profiler cannot attach to.
|
||||
// If not defined (default), the profiler will attach to any process.
|
||||
// Supports multiple values separated with comma, for example:
|
||||
// "MyApp.exe,dotnet.exe"
|
||||
const WSTRING exclude_process_names = WStr("OTEL_PROFILER_EXCLUDE_PROCESSES");
|
||||
const WSTRING exclude_process_names = WStr("OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES");
|
||||
|
||||
// Sets a list of integrations to disable. All other integrations will remain
|
||||
// enabled. If not set (default), all integrations are enabled. Supports
|
||||
// multiple values separated with comma, for example:
|
||||
// "ElasticsearchNet,AspNetWebApi2"
|
||||
const WSTRING disabled_integrations =
|
||||
WStr("OTEL_DOTNET_TRACER_DISABLED_INSTRUMENTATIONS");
|
||||
WStr("OTEL_DOTNET_AUTO_DISABLED_INSTRUMENTATIONS");
|
||||
|
||||
// Sets the path for the profiler's log file.
|
||||
// Environment variable OTEL_TRACE_LOG_DIRECTORY takes precedence over this setting, if set.
|
||||
const WSTRING log_path = WStr("OTEL_TRACE_LOG_PATH");
|
||||
// Environment variable OTEL_DOTNET_AUTO_LOG_DIRECTORY takes precedence over this setting, if set.
|
||||
const WSTRING log_path = WStr("OTEL_DOTNET_AUTO_LOG_PATH");
|
||||
|
||||
// Sets the directory for the profiler's log file.
|
||||
// If set, this setting takes precedence over environment variable OTEL_TRACE_LOG_PATH.
|
||||
// If set, this setting takes precedence over environment variable OTEL_DOTNET_AUTO_LOG_PATH.
|
||||
// If not set, default is
|
||||
// "%ProgramData%"\OpenTelemetry .NET AutoInstrumentation\logs\" on Windows or
|
||||
// "/var/log/opentelemetry/dotnet/" on Linux.
|
||||
const WSTRING log_directory = WStr("OTEL_TRACE_LOG_DIRECTORY");
|
||||
const WSTRING log_directory = WStr("OTEL_DOTNET_AUTO_LOG_DIRECTORY");
|
||||
|
||||
// Sets whether to disable all JIT optimizations.
|
||||
// Default value is false (do not disable all optimizations).
|
||||
// https://github.com/dotnet/coreclr/issues/24676
|
||||
// https://github.com/dotnet/coreclr/issues/12468
|
||||
const WSTRING clr_disable_optimizations = WStr("OTEL_CLR_DISABLE_OPTIMIZATIONS");
|
||||
const WSTRING clr_disable_optimizations = WStr("OTEL_DOTNET_AUTO_CLR_DISABLE_OPTIMIZATIONS");
|
||||
|
||||
// Sets whether to intercept method calls when the caller method is inside a
|
||||
// domain-neutral assembly. This is dangerous because the integration assembly
|
||||
// the user can guarantee that all Application Pools on the system have at most
|
||||
// Default is false. Only used in .NET Framework 4.5 and 4.5.1.
|
||||
// https://github.com/DataDog/dd-trace-dotnet/pull/671
|
||||
const WSTRING domain_neutral_instrumentation = WStr("OTEL_TRACE_DOMAIN_NEUTRAL_INSTRUMENTATION");
|
||||
const WSTRING domain_neutral_instrumentation = WStr("OTEL_DOTNET_AUTO_DOMAIN_NEUTRAL_INSTRUMENTATION");
|
||||
|
||||
// Indicates whether the profiler is running in the context
|
||||
// of Azure App Services
|
||||
const WSTRING azure_app_services = WStr("OTEL_AZURE_APP_SERVICES");
|
||||
const WSTRING azure_app_services = WStr("OTEL_DOTNET_AUTO_AZURE_APP_SERVICES");
|
||||
|
||||
// The app_pool_id in the context of azure app services
|
||||
const WSTRING azure_app_services_app_pool_id = WStr("APP_POOL_ID");
|
||||
|
@ -77,17 +77,17 @@ const WSTRING azure_app_services_cli_telemetry_profile_value =
|
|||
WStr("DOTNET_CLI_TELEMETRY_PROFILE");
|
||||
|
||||
// Enable the profiler to dump the IL original code and modification to the log.
|
||||
const WSTRING dump_il_rewrite_enabled = WStr("OTEL_DUMP_ILREWRITE_ENABLED");
|
||||
const WSTRING dump_il_rewrite_enabled = WStr("OTEL_DOTNET_AUTO_DUMP_ILREWRITE_ENABLED");
|
||||
|
||||
// Sets whether to enable JIT inlining
|
||||
const WSTRING clr_enable_inlining = WStr("OTEL_CLR_ENABLE_INLINING");
|
||||
const WSTRING clr_enable_inlining = WStr("OTEL_DOTNET_AUTO_CLR_ENABLE_INLINING");
|
||||
|
||||
// Custom internal tracer profiler path
|
||||
const WSTRING internal_trace_profiler_path =
|
||||
WStr("OTEL_INTERNAL_TRACE_NATIVE_ENGINE_PATH");
|
||||
WStr("OTEL_DOTNET_AUTO_INTERNAL_NATIVE_ENGINE_PATH");
|
||||
|
||||
// Sets whether to enable NGEN images.
|
||||
const WSTRING clr_enable_ngen = WStr("OTEL_CLR_ENABLE_NGEN");
|
||||
const WSTRING clr_enable_ngen = WStr("OTEL_DOTNET_AUTO_CLR_ENABLE_NGEN");
|
||||
|
||||
// The list of startup hooks defined for .NET Core 3.1+ applications.
|
||||
// This is a .NET runtime environment variable.
|
||||
|
|
|
@ -101,7 +101,7 @@ internal class StartupHook
|
|||
{
|
||||
var excludedProcesses = new List<string>();
|
||||
|
||||
var environmentValue = GetEnvironmentVariable("OTEL_PROFILER_EXCLUDE_PROCESSES");
|
||||
var environmentValue = GetEnvironmentVariable("OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES");
|
||||
|
||||
if (environmentValue == null)
|
||||
{
|
||||
|
|
|
@ -19,7 +19,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Bootstrapping.Tests
|
|||
[FactRequiringEnvVar]
|
||||
public void Initialize_WithDisabledFlag_DoesNotCreateTracerProvider()
|
||||
{
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_TRACER_LOAD_AT_STARTUP", "false");
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_AUTO_LOAD_AT_STARTUP", "false");
|
||||
|
||||
Instrumentation.Initialize();
|
||||
var otelActivity = _otelActivitySource.StartActivity("OtelActivity");
|
||||
|
@ -45,7 +45,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Bootstrapping.Tests
|
|||
[FactRequiringEnvVar]
|
||||
public void Initialize_WithEnabledFlag_CreatesTracerProvider()
|
||||
{
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_TRACER_LOAD_AT_STARTUP", "true");
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_AUTO_LOAD_AT_STARTUP", "true");
|
||||
|
||||
Instrumentation.Initialize();
|
||||
var otelActivity = _otelActivitySource.StartActivity("OtelActivity");
|
||||
|
@ -58,7 +58,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Bootstrapping.Tests
|
|||
[FactRequiringEnvVar]
|
||||
public void Initialize_WithPreviouslyCreatedTracerProvider_WorksCorrectly()
|
||||
{
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_TRACER_LOAD_AT_STARTUP", "false");
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_AUTO_LOAD_AT_STARTUP", "false");
|
||||
var tracer = Sdk
|
||||
.CreateTracerProviderBuilder()
|
||||
.AddSource("Custom")
|
||||
|
|
|
@ -11,7 +11,7 @@ namespace OpenTelemetry.ClrProfiler.Managed.Loader.Tests
|
|||
public void Ctor_LoadsManagedAssembly()
|
||||
{
|
||||
var directory = Directory.GetCurrentDirectory();
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_TRACER_HOME", Path.Combine(directory, "..", "Profiler"));
|
||||
Environment.SetEnvironmentVariable("OTEL_DOTNET_AUTO_HOME", Path.Combine(directory, "..", "Profiler"));
|
||||
|
||||
var exception = Record.Exception(() => Startup.ManagedProfilerDirectory);
|
||||
|
||||
|
|
|
@ -98,12 +98,12 @@ namespace IntegrationTests.Helpers
|
|||
"COR_PROFILER_PATH",
|
||||
|
||||
// OpenTelemetry
|
||||
"OTEL_PROFILER_PROCESSES",
|
||||
"OTEL_DOTNET_TRACER_HOME",
|
||||
"OTEL_INTEGRATIONS",
|
||||
"OTEL_DOTNET_AUTO_INCLUDE_PROCESSES",
|
||||
"OTEL_DOTNET_AUTO_HOME",
|
||||
"OTEL_DOTNET_AUTO_INTEGRATIONS_FILE",
|
||||
"OTEL_DISABLED_INTEGRATIONS",
|
||||
"OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES",
|
||||
"OTEL_PROFILER_EXCLUDE_PROCESSES"
|
||||
"OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES",
|
||||
"OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES"
|
||||
};
|
||||
|
||||
foreach (string variable in environmentVariables)
|
||||
|
@ -171,25 +171,25 @@ namespace IntegrationTests.Helpers
|
|||
|
||||
if (DebugModeEnabled)
|
||||
{
|
||||
environmentVariables["OTEL_TRACE_DEBUG"] = "1";
|
||||
environmentVariables["OTEL_TRACE_LOG_DIRECTORY"] = Path.Combine(EnvironmentTools.GetSolutionDirectory(), "build_data", "profiler-logs");
|
||||
environmentVariables["OTEL_DOTNET_AUTO_DEBUG"] = "1";
|
||||
environmentVariables["OTEL_DOTNET_AUTO_LOG_DIRECTORY"] = Path.Combine(EnvironmentTools.GetSolutionDirectory(), "build_data", "profiler-logs");
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(processToProfile))
|
||||
{
|
||||
environmentVariables["OTEL_PROFILER_PROCESSES"] = Path.GetFileName(processToProfile);
|
||||
environmentVariables["OTEL_DOTNET_AUTO_INCLUDE_PROCESSES"] = Path.GetFileName(processToProfile);
|
||||
}
|
||||
|
||||
string integrations = GetIntegrationsPath();
|
||||
environmentVariables["OTEL_DOTNET_TRACER_HOME"] = GetNukeBuildOutput();
|
||||
environmentVariables["OTEL_INTEGRATIONS"] = integrations;
|
||||
environmentVariables["OTEL_DOTNET_AUTO_HOME"] = GetNukeBuildOutput();
|
||||
environmentVariables["OTEL_DOTNET_AUTO_INTEGRATIONS_FILE"] = integrations;
|
||||
environmentVariables["OTEL_TRACES_EXPORTER"] = "zipkin";
|
||||
environmentVariables["OTEL_EXPORTER_ZIPKIN_ENDPOINT"] = $"http://127.0.0.1:{agentPort}";
|
||||
|
||||
// for ASP.NET Core sample apps, set the server's port
|
||||
environmentVariables["ASPNETCORE_URLS"] = $"http://127.0.0.1:{aspNetCorePort}/";
|
||||
|
||||
environmentVariables["OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES"] = "Samples.*";
|
||||
environmentVariables["OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES"] = "Samples.*";
|
||||
|
||||
foreach (var key in CustomEnvironmentVariables.Keys)
|
||||
{
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace IntegrationTests.StartupHook
|
|||
: base("StartupHook", output)
|
||||
{
|
||||
SetEnvironmentVariable("OTEL_SERVICE_NAME", ServiceName);
|
||||
SetEnvironmentVariable("OTEL_DOTNET_TRACER_INSTRUMENTATIONS", "HttpClient");
|
||||
SetEnvironmentVariable("OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS", "HttpClient");
|
||||
_expectations.Add(new WebServerSpanExpectation(ServiceName, null, "SayHello", "SayHello", null));
|
||||
_expectations.Add(new WebServerSpanExpectation(ServiceName, null, "HTTP GET", "HTTP GET", null, "GET"));
|
||||
}
|
||||
|
@ -61,7 +61,7 @@ namespace IntegrationTests.StartupHook
|
|||
expectedSpanCount = 0;
|
||||
}
|
||||
|
||||
SetEnvironmentVariable("OTEL_PROFILER_EXCLUDE_PROCESSES", $"dotnet,dotnet.exe,{applicationNameToExclude}");
|
||||
SetEnvironmentVariable("OTEL_DOTNET_AUTO_EXCLUDE_PROCESSES", $"dotnet,dotnet.exe,{applicationNameToExclude}");
|
||||
|
||||
var spans = RunTestApplication(enableStartupHook: true);
|
||||
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
"CORECLR_PROFILER_PATH": "$(SolutionDir)bin\\tracer-home\\win-x64\\OpenTelemetry.ClrProfiler.Native.dll",
|
||||
"DOTNET_STARTUP_HOOKS": "$(SolutionDir)bin\\tracer-home\\netcoreapp3.1\\OpenTelemetry.Instrumentation.StartupHook.dll",
|
||||
|
||||
"OTEL_DOTNET_TRACER_HOME": "$(SolutionDir)bin\\tracer-home\\",
|
||||
"OTEL_INTEGRATIONS": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_DOTNET_AUTO_HOME": "$(SolutionDir)bin\\tracer-home\\",
|
||||
"OTEL_DOTNET_AUTO_INTEGRATIONS_FILE": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_TRACES_EXPORTER": "zipkin",
|
||||
"OTEL_EXPORTER_ZIPKIN_ENDPOINT": "http://127.0.0.1:9411/api/v2/spans",
|
||||
"OTEL_TRACE_DEBUG": "1"
|
||||
"OTEL_DOTNET_AUTO_DEBUG": "1"
|
||||
},
|
||||
"applicationUrl": "http://localhost:54568/",
|
||||
"nativeDebugging": true
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
"CORECLR_PROFILER_PATH": "$(SolutionDir)bin\\tracer-home\\win-x64\\OpenTelemetry.ClrProfiler.Native.dll",
|
||||
"DOTNET_STARTUP_HOOKS": "$(SolutionDir)bin\\tracer-home\\netcoreapp3.1\\OpenTelemetry.Instrumentation.StartupHook.dll",
|
||||
|
||||
"OTEL_DOTNET_TRACER_HOME": "$(SolutionDir)bin\\tracer-home\\",
|
||||
"OTEL_INTEGRATIONS": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_DOTNET_AUTO_HOME": "$(SolutionDir)bin\\tracer-home\\",
|
||||
"OTEL_DOTNET_AUTO_INTEGRATIONS_FILE": "$(SolutionDir)bin\\tracer-home\\integrations.json",
|
||||
"OTEL_TRACES_EXPORTER": "zipkin",
|
||||
"OTEL_EXPORTER_ZIPKIN_ENDPOINT": "http://127.0.0.1:9411/api/v2/spans",
|
||||
"OTEL_TRACE_DEBUG": "1"
|
||||
"OTEL_DOTNET_AUTO_DEBUG": "1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,15 +4,15 @@ ARG platform=x64
|
|||
ENV COR_ENABLE_PROFILING=1 \
|
||||
COR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318} \
|
||||
COR_PROFILER_PATH=C:\\opentelemetry\\win-${platform}\\OpenTelemetry.ClrProfiler.Native.dll \
|
||||
OTEL_DOTNET_TRACER_HOME=C:\\opentelemetry\\ \
|
||||
OTEL_INTEGRATIONS=C:\\opentelemetry\\integrations.json \
|
||||
OTEL_DOTNET_AUTO_HOME=C:\\opentelemetry\\ \
|
||||
OTEL_DOTNET_AUTO_INTEGRATIONS_FILE=C:\\opentelemetry\\integrations.json \
|
||||
OTEL_TRACES_EXPORTER=zipkin \
|
||||
OTEL_DOTNET_TRACER_ADDITIONAL_SOURCES=Samples.* \
|
||||
OTEL_DOTNET_TRACER_INSTRUMENTATIONS=HttpClient,AspNet \
|
||||
OTEL_DOTNET_AUTO_ADDITIONAL_SOURCES=Samples.* \
|
||||
OTEL_DOTNET_AUTO_ENABLED_INSTRUMENTATIONS=HttpClient,AspNet \
|
||||
OTEL_SERVICE_NAME=Samples.AspNet \
|
||||
OTEL_TRACE_DOMAIN_NEUTRAL_INSTRUMENTATION=1 \
|
||||
OTEL_TRACE_DEBUG=1 \
|
||||
OTEL_TRACE_LOG_DIRECTORY=C:\\inetpub\\wwwroot\\logs \
|
||||
OTEL_PROFILER_PROCESSES=w3wp.exe
|
||||
OTEL_DOTNET_AUTO_DOMAIN_NEUTRAL_INSTRUMENTATION=1 \
|
||||
OTEL_DOTNET_AUTO_DEBUG=1 \
|
||||
OTEL_DOTNET_AUTO_LOG_DIRECTORY=C:\\inetpub\\wwwroot\\logs \
|
||||
OTEL_DOTNET_AUTO_INCLUDE_PROCESSES=w3wp.exe
|
||||
WORKDIR C:\\inetpub\\wwwroot
|
||||
COPY bin/${configuration}/app.publish .
|
||||
|
|
Loading…
Reference in New Issue