Configuration (legacy agent)
The following content pertains to
AppOptics agents are no long receiving updates. The new SolarWinds Observability libraries are regularly updated with new features and improvements. If you are still relying on the AppOptics agents and your components are supported by the new libraries, consider migrating to SolarWinds Observability.
If you have already transitioned to the new SolarWinds Observability NET Library, see the SolarWinds NET Library documentation for configuration information.
SolarWinds Observability libraries are not compatible with AppOptics agents. Do not use a mix of SolarWinds Observability libraries and AppOptics agents to instrument applications that are part of a distributed trace.
How to set configuration
All configuration options can be set in the agent.config
file.
You must restart your application in order for any changes to take effect. For IIS websites, you can run iisreset
to restart.
Certain configurations can also be overridden via an environment variable. If the same configuration is set in both places (for example,
service key in both environment variable APPOPTICS_SERVICE_KEY
and agent.config ServiceKey
), then the setting is applied
with this precedence:
Environment Variable > Application-level agent.config file > Global agent.config file
.NET Agent for Windows
The agent.config
file is located under the .NET agent directory C:\Program Files\AppOptics\APM\dotnet
.
.NET Agent for Linux
The agent.config file is located under the .NET agent installation directory, which should also be set in the environment variable APPOPTICS_HOME_APM_DOTNET
. For example, if you installed the agent to ${HOME}/appoptics
, the configuration file will be located at ${HOME}/appoptics/agent.config
.
The location of the agent.config
file can also be set using the environment variable APPOPTICS_CONFIG
by specifying the path of the directory containing the config file. For example, if it is located at /opt/custom/directory/agent.config
, set APPOPTICS_CONFIG
to /opt/custom/directory
.
AppOptics.Agent NuGet Package
The agent.config
file is included in the AppOptics.Agent NuGet package. It is configured within
the NuGet package to be deployed along with the application that includes the AppOptics.Agent NuGet
package.
The agent.config
deployed with the application takes precedence over the global agent.config
included with the .NET Agent.
The location of the agent.config
file can also be set using the environment
variable APPOPTICS_CONFIG
by specifying the path of the directory containing the config file. For example, if it is located at C:\custom\directory\agent.config
, set APPOPTICS_CONFIG
to C:\custom\directory
.
Change the logging configuration
The default logging level is ‘Info’. This is the minimum severity required to report Info, Warning, Error and Fatal messages to the logs.
By default one log file per app is created in \TEMP\AppOptics
(where TEMP is the environment variable: TEMP) on Windows platforms or /var/tmp/appoptics
on Linux platforms, with a timestamp as part of its naming convention. The file ages out periodically at which point a new file is created. Segmenting the log history this way makes logs a little easier to search and handle. To protect hosts against disk space issues, logs may be written only if there is sufficient disk space; older files are purged; and they are subject to a maximum size. Once the max file size is reached, no logs are written until a new file is created. This occurs either when the current file ages out, or if the current file is renamed, a new file will be created immediately.
Disable tracing on transactions
You can exclude transactions from being traced by adding an <instrumentation><transactionSettings>
block to the bottom of agent.config to
disable tracing for particular requests, for example static files or health-check endpoints. This should contain a
list of transactionSetting entries that specify either a list of file extensions or a regular
expression describing the URLs you want to exclude, plus a tracing setting. An example is included in agent.config itself. You must
restart your application in order for any changes to take effect.
...
</appSettings>
<instrumentation>
<transactionSettings>
<!-- Settings for specific transactions -->
<!-- Element: transactionSetting -->
<!-- Attributes: -->
<!-- applicationPool: Optional attribute. If set the transaction configuration will only be applied to the application pool specified. -->
<!-- application: Optional attribute. If set the transaction configuration will only be applied to the application specified. -->
<!-- type: Required attribute. (Valid option: Url) -->
<!-- One of extensionList or regexMatch is required. -->
<!-- extensionList: Optional attribute. Comma separated list of file extensions. -->
<!-- regexMatch: Optional attribute. Regular expression to match against. -->
<!-- tracing: Required attribute. (valid options: Enabled, Disabled) -->
<!-- Examples: -->
<!-- <transactionSetting type="Url" extensionList=".js,.css,.png,.ico" tracing="Disabled" /> -->
<!-- <transactionSetting applicationPool="app-pool-1" type="Url" regexMatch=".*long-transaction.*" tracing="Disabled" /> -->
</transactionSettings>
</instrumentation>
</configuration>
Enable/Disable Code Profiling
Code profiling is currently only supported by the .NET agent for Windows.
To enabled code profiling use the Profiling setting in the agent.config file.
For more information see Code Profiling.
Configure the service key for an application pool
The application pool configuration is only applicable to the .NET Agent for Windows.
There are two options for setting an application pool specific service key. With both options after updating the configuration an iisreset is required for the updated settings to take effect.
Option 1 - Environment Variable
The IIS site configuration is only applicable to the .NET Agent for Windows.
Starting at IIS 10 support was added for setting application pool specific environment variables.
The appcmd.exe
command line tool located at: %windir%\System32\inetsrv
can be used to add and remove application pool specific environment variables.
Command to add an environment variable:
appcmd.exe set config -section:system.applicationHost/applicationPools /+"[name='app_pool_name'].environmentVariables.[name='APPOPTICS_SERVICE_KEY',value='service_key']" /commit:apphost
Command to remove an environment variable:
appcmd.exe set config -section:system.applicationHost/applicationPools /-"[name='app_pool_name'].environmentVariables.[name='APPOPTICS_SERVICE_KEY',value='service_key']" /commit:apphost
For more information see: IIS 10 Documentation:
Option 2 - Configuration File
You can also configure an application pool specific key by using the ApplicationPools config section in the agent.config file. Basically you add an instrumentation block to the bottom of agent.config. That block should contain a list of application pools identified by name and the service key that should be used for that application pool. If the main service key should be used for an application pool then that application pool does not need to be added to the agent.config. An example is included in agent.config itself. You must run iisreset in order for any changes to take effect.
...
</appSettings>
<instrumentation>
<applicationPools>
<!-- Optional Configuration: This section can be used for application pool specific configuration. -->
<!-- Element: applicationPool -->
<!-- Attributes: -->
<!-- name: The name of the application pool. -->
<!-- serviceKey: If the application pool should be identified as a different service than a specific Service Key can be specified. -->
<!-- The Service Key can be created and found in the AppOptics web interface. -->
<!-- appOptics: Optional attribute. Valid Options: Disabled, Enabled -->
<!-- The default option is Enabled. To disable AppOptics for an application pool set the appOptics attribute to Disabled. -->
<!-- iisInstrumentation: Optional attribute. Valid Options: DisabledIISFramework, DisabledIISCore, Enabled -->
<!-- The default option is Enabled. -->
<!-- To disable .NET Framework instrumentation set the iisInstrumentation attribute to DisabledIISFramework. -->
<!-- To disable .NET Core or .NET 5.0 instrumentation set the iisInstrumentation attribute to DisabledIISCore. -->
<!-- Example: -->
<!-- <applicationPool name="application_pool_name" serviceKey="[API-TOKEN]:[SERVICE-NAME]"/> -->
</applicationPools>
</instrumentation>
</configuration>
Configure the service key for an IIS site
The IIS site configuration is only applicable to the .NET Agent for Windows.
After updating the configuration an iisreset is required for the updated settings to take effect.
Configuration File
You can configure a specific key for an IIS site by using the
iisSites
config section in the agent.config file. Basically you add an
instrumentation block to the bottom of agent.config. That block should contain
a list of IIS sites identified by name and the service key that should be used for that
IIS site. An service key does not need to be configured for each IIS site. If the
application pool that the IIS site uses has a service key configured then the
application pool service key will be used. Otherwise, if neither the IIS site nor
the corresponding application pool has a service key configured then the main service key
will be used. An example of the iisSites
configuration is included in agent.config itself. You must
run iisreset in order for any changes to take effect.
...
</appSettings>
<instrumentation>
<iisSites>
<!-- Optional Configuration: This section can be used for IIS Site specific configuration. -->
<!-- Element: iisSite -->
<!-- Attributes: -->
<!-- name: The name of the IIS Site. -->
<!-- hostName: Optional attribute. The host name can be specified, if a service also needs to be separated by host names. -->
<!-- serviceKey: If the IIS Site should be identified as a different service from other sites in an application pool than a specific Service Key can be specified. -->
<!-- If a virtual directory needs to be identified as a different service than the format for the name must -->
<!-- combine the IIS Site name and Virtual Directory name in this format: "iis_site_name/virtual_directory_name" -->
<!-- The Service Key can be created and found in the AppOptics web interface. -->
<!-- Example: -->
<!-- <iisSite name="iis_site_name" serviceKey="[API-TOKEN]:[SERVICE-NAME]"/> -->
<!-- <iisSite name="iis_site_name/virtual_directory_name" serviceKey="[API-TOKEN]:[SERVICE-NAME]"/> -->
<!-- <iisSite name="iis_site_name" hostName="host.domain.com" serviceKey="[API-TOKEN]:[SERVICE-NAME]"/> -->
</iisSites>
</instrumentation>
</configuration>
Configure the service key for a Windows Service
There are two options for configuring a service key for a windows service: modify the configuration file or set environment variables. Both require restarting the Windows service after setting the service key.
Option 1- Configuration File
One way to configure the service key for a Windows service is by modifying the applications config section in the agent.config file. For each application that the Windows service should run, add a new child application node to the applications node and set the value of the new node's name
attribute to be the name of the exe the Windows service runs.
<applications>
<!-- add one line for each exe ran by the Windows Service that should be instrumented -->
<application name="name-of-exe-windows-service-runs.exe" />
</applications>
Standalone WCF windows services will be instrumented automatically. Other types of Windows services must be instrumented using the custom instrumentation SDK.
Option 2 - Environment Variable
An alternate way to set the service key for a process is by configuring an APPOPTICS_SERVICE_KEY
environment variable. The following steps can be used to set an environment variable in the registry for a Windows service.
- Open the Registry Editor (regedit.exe)
- Expand:
KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
- Click the service name that corresponds to the process you want to add a service key to.
- Click the Edit menu and select New > Multi-String Value
- Type
Environment
in the string name and press enter. - Double-click the newly created Multi-String Value (type
REG_MULTI_SZ
)to edit the multi-string value and enterAPPOPTICS_SERVICE_KEY=[API-TOKEN]:[SERVICE-NAME]
in the Value data field. - Click OK.
- Repeat steps 2 through 7 for each Windows process that needs to be configured.
Trace Context in Logs
Trace context as a string identifier can be added to logs to correlate log entries for a single transaction. See Trace Context in Logs on how this feature is supported in the .NET agent.
The options below enable adding the trace context for supported logging frameworks. Regardless which is chosen, the LoggedTraceId configuration variable can be used to configure if the Trace ID is available for all transactions or only for sampled transactions.
Automatic Insert
Automatically insert Trace ID into log messages. When using Log4net, this feature is supported for unstructured layouts (PatternLayout or SimpleLayout). This feature is controlled by InsertLogTraceIdIntoLogs configuration variable.
Automatic Attribute
Automatically create a Trace ID attribute with key %property{ao.traceId:<format>}
for Log4net or {aoTraceId<format>}
for Serilog. The attribute can be referenced in the layout configurations. Structured layouts like XmlLayout use all available attributes to render the output. This feature is controlled by AddAttributeLogTraceId configuration variable.
Complete configuration options
The following is the complete list of instrumentation configuration options.
ServiceKey
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
ServiceKey
environment variable
APPOPTICS_SERVICE_KEY
description
The Service Key is required during installation of the .NET Agent on Windows, and is set in the agent.config file by the installer. If the agent is manually installed, the installer prompts for the Service Key. If the agent is installed using the command line, the Service Key must be specified in the conf.inf
file.
For the .NET Core SDK, the Service Key is required during application runtime and can be set in either the agent.config file for Core SDK, or as an environment variable.
The ServiceKey
option is required and recommended to be set in the agent.config
file.
history
Introduced in original version of .NET instrumentation
example
<add key="ServiceKey" value="398fc234fedcb23063826cba723ba67bc82840234dacb3bdb42bab35482bab35:service_name" />
AppOptics
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
AppOptics
description
Configuration option to disable AppOptics. The ApplicationPools element below can be used to enable or disable specific application pools.
valid values
Disabled, Enabled. Default: Enabled.
history
Added in 3.4.0 release
example
<add key="AppOptics" value="Disabled" />
Tracing
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
Tracing
description
Set Tracing to Disabled if requests should never be sampled and transaction metrics should not be reported.
valid values
Disabled, Enabled. Default: Enabled.
history
Added in 3.6.0 release
example
<add key="Tracing" value="Disabled" />
HostnameAlias
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
HostnameAlias
description
An optional logical/readable hostname that can be used to easily identify the host. If configured, the hostname alias will be displayed and will be able to be used as a filter in the AppOptics dashboard.
history
Added in 3.0.1 release
example
<add key="HostnameAlias" value="prod_host_a1" />
Ec2MetadataTimeout
supported .NET agent versions
.NET Agent
config option
Ec2MetadataTimeout
description
Optional configuration. On agent startup the agent checks if the server is an AWS EC2 instance. The Ec2MetadataTimeout configuration can be used to adjust the timeout length of this check. If the agent is not running on an AWS EC2 instance it is safe to set this value to 0. A valid value is an integer between 0 and 3000. The EC2 metadata timeout is in milliseconds.
history
Added in 3.9.0 release
example
<add key="Ec2MetadataTimeout" value="0" />
SQLSanitizationMode
supported .NET agent versions
.NET Agent
config option
SQLSanitizationMode
description
The .NET instrumentation has the ability to sanitize query literals from sql statements. By default the agent is set to Auto and literals will be removed from sql statements. The SQLSanitizationMode configuration can be used to disable the sanitizing or change the type of sanitization used.
valid values
Auto
(Default) Remove literals, auto-detecting literal quotes.
DropDoubleQuotes
Remove literals and double-quoted values.
KeepDoubleQuotes
Remove literals but keep double-quoted values.
Disabled
Disable sanitization of query literals.
history
Introduced in original version of .NET instrumentation
example
<add key="SQLSanitizationMode" value="Disabled" />
urlSampleRate
history
Deprecated in version 3.6.0 of the agent, replaced by transactionSetting configuration
transactionSetting
supported .NET agent versions
.NET Agent and .NET Core SDK (AppOptics Middleware)
config option
transactionSetting
description
Disable tracing for a transaction where the request URL matches a user-configurable regular expression or list of extensions. If more than one transactionSetting is defined, the first one matching the request URL is used. For the .NET Core SDK, the AppOptics middleware supports the transactionSetting configuration.
parameters
applicationPool
Optional attribute (only supported by .NET Agent on Windows). If set the transaction configuration will only be applied to the application pool specified.
application
Optional attribute (only supported by .NET Agent on Windows). If set the transaction configuration will only be applied to the application specified.
type
Required attribute. (Valid option: Url)
extensionList
Comma separated list of file extensions. One of extensionList or regexMatch is required.
regexMatch
A .NET Regular Expression to match against the full request URL, including the protocol. One of extensionList or regexMatch is required.
tracing
Required attribute. (valid options: Enabled, Disabled)
history
Added in 3.6.0 release
example
See disable tracing on transactions.
Inlining
supported .NET agent versions
.NET Agent
config option
Inlining
description
If a method is inlined by CLR, it cannot be instrumented. You can disable inlining for all applications through this config option. See the troubleshooting section Are custom instrumentation spans or other spans missing from traces? for more information.
valid values
Disabled, Enabled. Default: Enabled.
history
Introduced in original version of .NET instrumentation
example
<add key="Inlining" value="Disabled" />
SecurityTransparencyInstrumentation
supported .NET agent versions
.NET Agent (only applicable to .NET Framework)
config option
SecurityTransparencyInstrumentation
description
If an assembly has the SecurityTransparent attribute then any methods instrumented in it might cause a System.Security.VerificationException to occur, and a web request that invokes those instrumented methods might fail. By default instrumentation of SecurityTransparent assemblies is disabled but it can be enabled with this config option.
valid values
0
(Default) Disable instrumentation for security transparent assemblies. When this value is set, instrumentation will be disabled for MVC3 and MVC4.
1
Enable instrumentation for security transparent assemblies. When this value is set, MVC3 will be instrumented but MVC4 will not.
2
Sets the COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST
compiler flag that disables transparency checks. When this value is set, System.Security.VerificationException won’t occur even if both the SecurityTransparent attribute and AppOptics instrumentation are present.
history
Introduced in original version of .NET instrumentation
example
<add key="SecurityTransparencyInstrumentation" value="1" />
LogCreationSchedule
supported .NET agent versions
.NET Agent (only applicable to .NET Framework)
config option
LogCreationSchedule
description
Specify when the current log file ages out and a a new log file should be generated.
valid values
Daily or Weekly. The default is Daily.
history
Introduced in original version of .NET instrumentation
example
<add key="LogCreationSchedule" value="Daily" />
LogFileMaxSize
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
LogFileMaxSize
description
The maximum size, in bytes, that a log file may be. After the maximum is reached, no additional messages will be written to it. Log messages will be written again once a new log file is generated. The default is 10000000 (10 MB).
history
Introduced in original version of .NET instrumentation
example
<add key="LogFileMaxSize" value="10000000" />
LogLevel
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
LogLevel
description
Change the logging severity level. The default is ‘Info'.
valid values
In order of descending: Fatal, Error, Warning, Info, Debug, Trace, None.
Fatal
An error caused .NET instrumentation to stop.
Error
Any error caused an instrumented trace to fail.
Warning
An issue such as an unexpected configuration value, but the .NET instrumentation can still generate traces.
Info
Logging items such as configuration settings that were loaded on start up.
Debug
Diagnostic information used by customer care to resolve technical issues.
Trace
Highest level of logging. Logs functions called, exception stack traces, etc.
None
No logging.
history
Introduced in original version of .NET instrumentation
example
<add key="LogLevel" value="Info" />
Note
Levels Info and higher do not log messages per request when the .NET agent is running as expected.
LogRetentionDays
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
LogRetentionDays
description
Retain old log files for the specified number of days, after which they will be deleted. The default is 45 days.
history
Introduced in original version of .NET instrumentation
example
<add key="LogRetentionDays" value="45" />
ReserveDiskSpace
supported .NET agent versions
.NET Agent (only applicable to .NET Framework)
config option
ReserveDiskSpace
description
The amount of disk space, in bytes, that must be available before messages can be written to a log file. Log messages will not be written if there is insufficient disk space. The default is 200000000 (200 MB).
history
Introduced in original version of .NET instrumentation
example
<add key="ReserveDiskSpace" value="200000000" />
IncludeQueryString
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
IncludeQueryString
description
By default the query string parameters are included in the URLs reported in IIS spans. Set the IncludeQueryString configuration to Disabled if query string parameters should be excluded from URLs reported in IIS spans.
valid values
Disabled, Enabled. Default: Enabled
history
Introduced in 3.1.1 .NET instrumentation
example
<add key="IncludeQueryString" value="Disabled" />
PrependDomain
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
PrependDomain
description
Optional configuration: Used to indicate if the domain should be prepended to the transaction name.
valid values
Disabled, Enabled. Default: Disabled
history
Introduced in 3.2.0 .NET Agent. Introduced in 3.3.2 for .NET Core SDK.
example
<add key="PrependDomain" value="Enabled" />
Profiling
supported .NET agent versions
.NET Agent (Windows only)
config option
Profiling
description
Optional configuration: Used to indicate if profiling should be enabled.
valid values
Disabled, Enabled. Default: Disabled
history
Introduced in 3.7.0 .NET Agent
example
<add key="Profiling" value="Enabled" />
ProfileSampleInterval
supported .NET agent versions
.NET Agent (Windows only)
config option
ProfileSampleInterval
description
Optional configuration: The sample interval for profile snapshots. The sample interval is in milliseconds.
valid values
A valid value is an integer between 30 and 3000. Default: 50
history
Introduced in 3.7.0 .NET Agent
example
<add key="ProfileSampleInterval" value="30" />
Backtraces
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
Backtraces
description
Optional configuration: Used to explicitly control backtrace reporting.
valid values
Disabled
Backtrace reporting is disabled for all span events including error span events.
ErrorsOnly
Backtraces are only reported for error span events. This is the recommended setting to increase agent performance yet still get useful details about application errors.
EnabledAll
Backtrace reporting is enabled. (Default value)
history
Added in 3.9.6 release
example
<add key="Backtraces" value="ErrorsOnly" />
applicationPool
supported .NET agent versions
.NET Agent (Windows only)
config option
applicationPool
description
Optional configuration, is used for application pool specific configuration.
parameters
name
The name of the application pool.
serviceKey
If the application pool should be identified as a different service than a specific Service Key can be specified.
appOptics
Optional attribute. Valid Options: Disabled
, Enabled
. The default option is Enabled
. To disable AppOptics for
an application pool set the appOptics
attribute to Disabled
.
iisInstrumentation
Optional attribute. Valid Options: DisabledIISFramework
, DisabledIISCore
, Enabled
. To disable .NET Framework instrumentation set the iisInstrumentation
attribute to DisabledIISFramework
history
The applicationPool
element was introduced in 3.0.3 .NET instrumentation. The appOptics
attribute was introduced in 3.4.0 .NET instrumentation. The iisInstrumentation
attribute was introduced in 4.2.0.
example
See Configure the service key for an application pool - Option 2 Configuration File.
iisSite
supported .NET agent versions
.NET Agent (Windows only)
config option
iisSite
description
Optional configuration, is used for IIS site specific configuration.
parameters
name
The name of the IIS site.
serviceKey
If the IIS site should be identified as a different service from other sites in an application pool than a specific Service Key can be specified. If a virtual directory needs to be identified as a different service than the format for the name must combine the IIS site name and virtual directory name in this format: "iis_site_name/virtual_directory_name"
hostName
Optional attribute. The host name can be specified, if a service also needs to be separated by host names.
history
Introduced in 3.1.1 .NET instrumentation
example
See Configure the service key for an IIS site.
application
supported .NET agent versions
.NET Agent
config option
application
description
Optional configuration, is used for configuring non-IIS applications.
parameters
name
The name of the application to instrument.
serviceKey
Optional attribute. If the application is a different service than a specific Service Key for this application can be specified.
inlining
Optional attribute. Valid Options: Disabled, Enabled. If the inlining attribute is not set in the application element, the appSettings Inlining value is used.
appOptics
Optional attribute. Valid Options: Disabled, Enabled. The default option is Enabled. To disable AppOptics for an application set the appOptics attribute to Disabled.
history
The application
element was introduced in original version of .NET instrumentation. The appOptics
attribute was added in 3.4.0 .NET instrumentation.
example
<application name="ApplicationToInstrument1.exe" serviceKey="[API-TOKEN]:[SERVICE-NAME]" />
InsertLogTraceIdIntoLogs
supported .NET agent versions
.NET Agent
config option
InsertLogTraceIdIntoLogs
description
An optional configuration to indicate if the Trace ID should be automatically inserted into log files.
valid values
Disabled, Enabled. Default: Disabled.
history
Added in 3.8.0 release
example
<add key="InsertLogTraceIdIntoLogs" value="Enabled" />
AddAttributeLogTraceId
supported .NET agent versions
.NET Agent
config option
AddAttributeLogTraceId
description
An optional configuration to indicate if the attribute Trace ID is created automatically.
valid values
Disabled, Enabled. Default: Disabled.
history
Added in 3.8.0 release.
example
<add key="AddAttributeLogTraceId" value="Enabled" />
LoggedTraceId
supported .NET agent versions
.NET Agent
config option
LoggedTraceId
description
An optional configuration to indicate if the Trace ID should be logged and/or created for all transactions or only for sampled transactions.
valid values
All
(Default) Log or create the Trace ID for all transactions.
SampledOnly
Log or create the Trace ID only for sampled transactions.
history
Added in 3.8.0 release.
example
<add key="LoggedTraceId" value="All" />
TriggerTrace
supported .NET agent versions
.NET Agent
config option
TriggerTrace
description
An optional configuration to enable trigger trace functionality.
valid values
Disabled, Enabled. Default: Enabled.
history
Added in 3.9.0 release.
example
<add key="TriggerTrace" value="Enabled" />
ProxyUrl
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
ProxyUrl
environment variable
APPOPTICS_PROXY
description
An optional configuration that can be used to connect through a proxy; this option can be set in the configuration file ProxyUrl
element or via the environment variable APPOPTICS_PROXY
. Note that while HTTP is the only type of connection supported between the agent and proxy (hence only http://
is allowed in the schema of the config value), the agent traffic to AppOptics is still encrypted using SSL/TLS.
valid values
Proxy that requires Basic Authentication: http://<username>:<password>@<proxy-host>:<proxy-port>
Proxy that does not require authentication: http://<proxy-host>:<proxy-port>
It is recommended to use the agent-specific configuration. However, the agent's underlying network library will use a system-wide proxy defined in the environment variables grpc_proxy, https_proxy or http_proxy if agent-specific configuration is not set. Refer to gRPC environment variables for more information.
Default: Disabled.
history
Added in 4.0.0 release.
example
<add key="ProxyUrl" value="http://user:password@my-proxy:3128" />
<add key="ProxyUrl" value="http://my-proxy:3128" />
EventViewerLogLevel
supported .NET agent versions
.NET Agent (Windows only)
config option
EventViewerLogLevel
description
Change the logging level for events recorded by the AppOptics Profiler into Application Event Log. This can be used to troubleshoot whether the agent is being successfully loaded on application startup.
valid values
In order of descending: Fatal, Error, Warning, Info, Debug, Trace, None.
Fatal
An error caused .NET instrumentation to stop. (Default value)
Error
Any error caused an instrumented trace to fail.
Warning
An issue such as an unexpected configuration value, but the .NET instrumentation can still generate traces.
Info
Logging items such as configuration settings that were loaded on start up.
Debug
Diagnostic information used by customer care to resolve technical issues.
Trace
Highest level of logging. Logs functions called, exception stack traces, etc.
None
No logging.
history
Added in 4.0.1 release.
example
<add key="EventViewerLogLevel" value="Fatal" />
AppOpticsHttpModule
supported .NET agent versions
.NET Agent (only applicable to .NET Framework)
config option
AppOpticsHttpModule
description
An optional configuration used to indicate if the AppOpticsHttpModule should be used to start and end
traces. This setting is only applicable for application pools set to Integrated - Managed Pipeline Mode
.
The AppOptics HttpModule is always used for application pools set to Classic - Managed Pipeline Mode
.
valid values
Disabled, Enabled. Default: Disabled
history
Added in 4.0.2 release.
example
<add key="AppOpticsHttpModule" value="Enabled" />
MaximumQueryLength
supported .NET agent versions
.NET Agent
config option
MaximumQueryLength
description
Optional configuration: The maximum length for the Query value reported in database spans.
valid values
The configured length must be between 2048 and 128000.
history
Introduced in 4.0.3 .NET instrumentation
example
<add key="MaximumQueryLength" value="2048" />
IISInstrumentation
supported .NET agent versions
.NET Agent
config option
IISInstrumentation
description
Optional configuration: Used to indicate if IIS Instrumentation should be enabled or disabled.
valid values
Disabled
IIS Instrumentation is disabled for .NET Framework and .NET Core/5+.
DisabledIISFramework
IIS Instrumentation is disabled for .NET Framework
DisabledIISCore
IIS Instrumentation is disabled for .NET Core/5+
Enabled
IIS Instrumentation is enabled. The .NET Agent installer will set this value based on the installation components selected. (Default value)
history
Added in 4.2.0 Release
example
<add key="IISInstrumentation" value="Enabled" />
LogLevel.AppOptics.Instrumentation.ProfilerService
supported .NET agent versions
.NET Agent
config option
LogLevel.AppOptics.Instrumentation.ProfilerService
description
Log level for profiling snapshot feature.
valid values
None, Fatal, Error, Warning, Info, Debug, Trace. Default: Info
history
Added in 4.2.0 Release
example
<add key=" LogLevel.AppOptics.Instrumentation.ProfilerService" value="Info" />
LogLevel.AppOptics.Instrumentation.Internal
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
LogLevel.AppOptics.Instrumentation.Internal
description
Log level for the internal AppOptics unmanaged library used by the .NET Agent.
valid values
None, Fatal, Error, Warning, Info, Debug, Trace. Default: Info
history
Added in 4.2.0 Release
example
<add key=" LogLevel.AppOptics.Instrumentation.Internal " value="Info" />
LogLevel.AppOptics.Instrumentation.Internal.Collector
supported .NET agent versions
.NET Agent and .NET Core SDK
config option
LogLevel.AppOptics.Instrumentation.Internal.Collector
description
Log level for the communication between the .NET Agent and the AppOptics server, known as the AppOptics collector.
valid values
None, Fatal, Error, Warning, Info, Debug, Trace. Default: Info
history
Added in 4.2.0 Release
example
<add key=" LogLevel.AppOptics.Instrumentation.Internal.Collector " value="Info" />
MvcInstrumentation
supported .NET agent versions
.NET Framework Agent
config option
MvcInstrumentation
Description
Optional configuration: Used to indicate if MVC Instrumentation should be enabled, MVC View instrumentation only or disabled.
valid values
Disabled
MVC Instrumentation and MVC View Instrumentation are disabled
MvcViewEnabled
Only MVC View Instrumentation is enabled
Enabled
MVC Instrumentation and MVC View Instrumentation are enabled. (Default value)
history
Added in 4.3.1 Release
example
<add key="MvcInstrumentation" value="MvcViewEnabled" />
RequestQueueThreshold
supported .NET agent versions
.NET Framework Agent
config option
RequestQueueThreshold
Description
Optional configuration. For traced requests, if the request queue length exceeds the configured threshold (value is in milliseconds), an error event will be reported as part of the trace. These request queue length threshold errors can be viewed on the Exceptions tab of AppOptics.
history
Added in 4.3.2 Release
example
<add key="RequestQueueThreshold" value="500" />
The scripts are not supported under any SolarWinds support program or service. The scripts are provided AS IS without warranty of any kind. SolarWinds further disclaims all warranties including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose. The risk arising out of the use or performance of the scripts and documentation stays with you. In no event shall SolarWinds or anyone else involved in the creation, production, or delivery of the scripts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the scripts or documentation.