Docs » Supported integrations in Splunk Observability Cloud » Instrument back-end applications to send spans to Splunk APM » Instrument C++ applications for Splunk Observability Cloud » Migrate from the Splunk instrumentation for C++ to the OpenTelemetry instrumentation for C++

Migrate from the Splunk instrumentation for C++ to the OpenTelemetry instrumentation for C++ πŸ”—

The upstream OpenTelemetry instrumentation for C++ replaces the Splunk instrumentation for C++. The Splunk instrumentation for C++ has been deprecated as of March 15, 2024 and will reach end of support on September 15, 2025.

Follow these steps to migrate from the Splunk instrumentation to the OpenTelemetry instrumentation.

Compatibility and requirements πŸ”—

Make sure that you have the correct requirements for the OpenTelemetry C++ instrumentation. See Prerequisities.

Migrate to the OpenTelemetry instrumentation for C++ πŸ”—

To migrate from the Splunk instrumentation for C++ to the OpenTelemetry instrumentation for C++, follow these steps:

  1. Deactivate the Splunk instrumentation for C++.

  2. Install and activate the OpenTelemetry instrumentation for C++. See Instrument your C++ application for Splunk Observability Cloud.

  3. Update your configuration settings.

  4. Restart the server and application.

Deactivate the Splunk instrumentation for C++ πŸ”—

Since the Splunk instrumentation for C++ is a wrapper for the OpenTelemetry instrumentation, there isn’t an official process for uninstalling.

Instead, you can remove the Splunk Distribution of OpenTelemetry C++ repository and its submodules. When you install and configure your application for OpenTelemetry C++, remove any code that uses the Splunk Distribution and replace it with new code for OpenTelemetry C++ instrumentation.

Change configuration settings πŸ”—

Options passed through splunk::OpenTelemetryOptions are no longer supported.

If you passed any options through splunk::OpenTelemetryOptions, change these options to environment variables.

For example, if you set the following option in your C++ code:

splunk::OpenTelemetryOptions options = splunk::OpenTelemetryOptions().WithServiceName("my-service")

Change the option to an environment variable by deleting the previous code and running the following command:

export OTEL_SERVICE_NAME="my-service"