Upgrading the Python Agent
AppOptics agents are no longer 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.
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.
Upgrading to the SolarWinds Observability Python Library
The Python Instrumentation Library for SolarWinds Observability is compatible with the AppOptics collector. 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.
Complete migration
SolarWinds recommends that you migrate completely from AppOptics to SolarWinds Observability. For more information about a complete migrations, see Migrate from AppOptics to SolarWinds Observability SaaS. To upgrade to the SolarWinds Observability Python Library as part of a complete migration, see Migrate the Python Library from AppOptics to SolarWinds Observability.
Partial migration
Alternatively, you can upgrade to the SolarWinds Observability Python Library but send data to AppOptics.
-
Remove any references to the AppOptics custom instrumentation API in your application code.
Save a list detailing your application's usage so that it can be updated for the SolarWinds Observability Python Library's API.
-
Uninstall the AppOptics agent.
-
Undo the steps taken to load the agent into your application. See Enabling the Agent.
For example, if you used an
import
statement to add theappoptics_apm
module to the application code, remove the added statement from your code. -
Uninstall the
appoptics-apm
package and remove it from your application dependencies.
-
-
Install the SolarWinds Observability Python Library. See Install the Python Library.
- Set a valid AppOptics service key. See the SolarWinds Observability configuration options for the new configuration file and environment variable names.
-
Set the collector configuration option to the AppOptics endpoint
collector.appoptics.com:443
. Use a config option or an environment variable to override the default APM collector endpoint. -
Update the instrumentation API, if needed. See Python Library instrumentation SDK for more information.
The SolarWinds Observability Python Library is an OpenTelemetry custom distro and supports the standard OTel tracing API.
Most of the AppOptics instrumentation SDK have a corresponding OTel API available for use. The current gaps listed below will be addressed in upcoming releases:
- Custom Metrics
- Custom Transaction Name
Upgrade to a newer version of the legacy AppOptics Agent
The agent is distributed as a standard module on pypi; you can upgrade the way you would another Python package, eg.:
pip install --upgrade appoptics-apm
Upgrading from AppOptics agent 2.x
The agent was named appoptics
in versions prior to 3.x. This documents the upgrade from version 2.x to 3.x.
- Install the new
appoptics-apm
package - Reconfigure instrumented applications following the steps documented to enable the agent
- Once all applications are migrated to use the new package, remove the old
appoptics
package - Update requirements or other dependency management files as needed to refer to the
appoptics-apm
package
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.