Use the OpenTelemetry.DotNet.Auto.psm1 PowerShell module
to set up automatic instrumentation for a Windows Service:
# Import the module
Import-Module "OpenTelemetry.DotNet.Auto.psm1"
# Install core files
Install-OpenTelemetryCore
# Set up your Windows Service instrumentation
Register-OpenTelemetryForWindowsService -WindowsServiceName "WindowsServiceName" -OTelServiceName "MyServiceDisplayName"Warning
Register-OpenTelemetryForWindowsService performs a service restart.
Note
Remember to restart the Windows Service after making configuration changes.
You can do it by executing
Restart-Service -Name $WindowsServiceName -Force in PowerShell.
For .NET Framework applications you can configure the most common OTEL_ settings
(like OTEL_RESOURCE_ATTRIBUTES) via appSettings in App.config.
The alternative is to set environment variables for the Windows Service in the Windows Registry.
The registry key of a given Windows Service (named $svcName) is located under:
HKLM\SYSTEM\CurrentControlSet\Services\$svcNameThe environment variables are defined
in a REG_MULTI_SZ (multiline registry value) called Environment
in the following format:
Var1=Value1
Var2=Value2