Docs » Instrument back-end applications to send spans to Splunk APM » Instrument .NET applications for Splunk Observability Cloud (OpenTelemetry) » OpenTelemetry .NET instrumentation compatibility and requirements

OpenTelemetry .NET instrumentation compatibility and requirements 🔗

Meet the following requirements to instrument .NET applications for Splunk Observability Cloud:

Ensure you are using supported .NET versions 🔗

The Splunk Distribution of OpenTelemetry .NET supports the following .NET versions:

  • Instrumentation for traces and metrics:

    • .NET 6.0 (End of Support: November 12, 2024)

    • .NET 7.0 (End of Support: May 14, 2024)

    • .NET 8.0 (End of Support: November 10, 2026)

    • .NET Framework 4.6.2 (End of Support: January 12, 2027)

    • .NET Framework 4.7 and higher

  • AlwaysOn Profiling:

    • .NET 6.0 (End of Support: November 12, 2024)

    • .NET 7.0 (End of Support: May 14, 2024)

    • .NET 8.0 (End of Support: November 10, 2026)

      Note

      .NET Framework is not supported.

The distribution supports the following architectures:

  • x86

  • AMD64 (x86-64)

Note

ARM architectures are not supported.

Supported libraries 🔗

The Splunk Distribution of OpenTelemetry .NET instruments the following libraries.

Traces instrumentations 🔗

Library

Supported versions

Maturity level

Support level

Instrumentation ID

ASP.NET Framework (.NET Framework)
MVC / WebApi (Only integrated pipeline mode supported)

See Ensure you are using supported .NET versions

Experimental Beta

Community support

ASPNET

ASP.NET Core

See Ensure you are using supported .NET versions

Experimental Beta

Community support

ASPNETCORE

Azure SDK

Azure. prefixed packages, released after October 1, 2021

Experimental Beta

Third-party support

AZURE

Elastic.Clients.Elasticsearch

8.0.0 to 8.9.3.
(Higher versions are supported by Elastic.Transport)

Experimental Beta

Third-party support

ELASTICSEARCH

Elastic.Transport

0.4.16 and higher

Experimental Beta

Third-party support

ELASTICTRANSPORT

Microsoft.EntityFrameworkCore
(Not supported on .NET Framework)

6.0.12 and higher

Experimental Beta

Community support

ENTITYFRAMEWORKCORE

GraphQL
(Not supported on .NET Framework)

7.5.0 and higher

Experimental Beta

Third-party support

GRAPHQL

Grpc.Net.Client

2.52.0 to 3.0.0

Experimental Beta

Community support

GRPCNETCLIENT

System.Net.Http.HttpClient and
System.Net.HttpWebRequest

See Ensure you are using supported .NET versions

Experimental Beta

Community support

HTTPCLIENT

Confluent.Kafka

1.4.0 to 3.0.0

Experimental Beta

Community support

KAFKA

MassTransit
(Not supported on .NET Framework)

8.0.0 and higher

Experimental Beta

Third-party support

MASSTRANSIT

MongoDB.Driver.Core
(Not supported on .NET Framework)

2.13.3 to 3.0.0

Experimental Beta

Third-party support

MONGODB

MySqlConnector

2.0.0 and higher

Experimental Beta

Third-party support

MYSQLCONNECTOR

MySql.Data
(Not supported on .NET Framework)

8.1.0 and higher

Experimental Beta

Third-party support

MYSQLDATA

Npgsql

6.0.0 and higher

Experimental Beta

Third-party support

NPGSQL

NServiceBus

8.0.0 and higher

Experimental Beta

Third-party support

NSERVICEBUS

Microsoft.Data.SqlClient,
System.Data.SqlClient,
System.Data

Version 3.* is not supported on .NET Framework
4.8.5 and higher
versions shipped with .NET Framework

Experimental Beta

Community support

SQLCLIENT

Quartz
(Not supported on .NET Framework 4.7.1 and lower)

3.4.0 and higher

Experimental Beta

Community support

QUARTZ

StackExchange.Redis
(Not supported on .NET Framework)

2.0.405 to 3.0.0

Experimental Beta

Community support

STACKEXCHANGEREDIS

System.ServiceModel
(Service side not supported on .NET)

4.7.0 and higher
of System.ServiceModel.Primitives

Experimental Beta

Community support

WCFCLIENT for client side instrumentation and
WCFSERVICE for service side instrumentation

Metrics instrumentations 🔗

Library

Supported versions

Maturity level

Support level

Instrumentation ID

ASP.NET Framework

See Ensure you are using supported .NET versions

Experimental Beta

Community support

ASPNET
(Requires the trace instrumentation)

ASP.NET Core

See Ensure you are using supported .NET versions

Experimental Beta

Community support

ASPNETCORE
(Automatically activates Microsoft.AspNetCore.Hosting.HttpRequestIn spans.)

System.Net.Http.HttpClient and
System.Net.HttpWebRequest

See Ensure you are using supported .NET versions

Experimental Beta

Community support

HTTPCLIENT

OpenTelemetry.Instrumentation.Runtime

See Ensure you are using supported .NET versions

Experimental Beta

Community support

NETRUNTIME

NServiceBus

8.0.0 and higher

Experimental Beta

Third-party support

NSERVICEBUS

OpenTelemetry.Instrumentation.Process

See Ensure you are using supported .NET versions

Experimental Beta

Community support

PROCESS

Logs instrumentations 🔗

Library

Supported versions

Status

Support level

Instrumentation ID

Microsoft.Extensions.Logging
(Not supported on .NET Framework)

8.0.0 and higher

Experimental Beta

Community support

ILOGGER
(Requires the trace instrumentation)

Install and configure the Splunk Distribution of OpenTelemetry Collector 🔗

The Splunk Distribution of OpenTelemetry .NET exports application traces and spans to the Splunk Distribution of OpenTelemetry Collector, which also collects system metric data and logs, including profiling data.

To send application traces and spans to Splunk Observability Cloud, install the Splunk Distribution of OpenTelemetry Collector for your platform. The following distributions are available: