Skip to content

Latest commit

 

History

History
92 lines (76 loc) · 5.25 KB

instrumented-libraries.md

File metadata and controls

92 lines (76 loc) · 5.25 KB

Instumented libraries and framework

Fully supported

The libraries below should be fully supported and the conventions are inspired by the OpenTelemetry Trace Semantic Conventions.

ID Library
Aerospike Aerospike.Client
AspNet ASP.NET 4.x
AspNetCore ASP.NET Core
AspNetMvc ASP.NET MVC
AspNetWebApi2 ASP.NET Web API 2
CurlHandler System.Net.Http.CurlHandler
ElasticsearchNet Elasticsearch.Net
GraphQL GraphQL
HttpMessageHandler System.Net.Http.MessageHandler
HttpSocketsHandler System.Net.Http.SocketsHandler
ILogger Microsoft.Extensions.Logging.Abstractions
Kafka Confluent.Kafka
MongoDb MongoDB.Driver.Core
MySql MySql.Data
Npgsql Npgsql
Oracle Oracle.ManagedDataAccess
RabbitMQ RabbitMQ.Client
ServiceStackRedis ServiceStack.Redis
SqlClient Microsoft.Data.SqlClient and System.Data.SqlClient
Sqlite SQLite
StackExchangeRedis StackExchange.Redis
Wcf Windows Communication Foundation (WCF)
WebRequest System.Net.WebRequest
WinHttpHandler System.Net.Http.WinHttpHandler

System.Net.Http.HttpClient is instrumented by instrumenting:

Partially supported

The libraries below are instrumented, though the instrumentation might not produce appropriate spans.

ID Library
AwsSdk AWSSDK.Core
AwsSqs AWSSDK.SQS
AzureFunctions Microsoft.Azure.WebJobs
CosmosDb Microsoft.Azure.Cosmos
Couchbase CouchbaseNetClient
Grpc gRPC
Msmq System.Messaging
MsTestV2 Microsoft.VisualStudio.TestPlatform
NUnit NUnit
ServiceRemoting Microsoft.ServiceFabric.Services.Remoting
XUnit xunit

Details

You can find out which methods and assemblies are being instrumented by inspecting the InstrumentationDefinitions file. This is useful to check, for example, the version range of the library you are instrumenting.

Each line contains following information (in order):

  • Assembly name
  • Type name
  • Method name
  • Method signature (arguments and return) types
  • Minimum assembly version - major number
  • Minimum assembly version - minor number
  • Minimum assembly version - patch number
  • Maximum assembly version - major number
  • Maximum assembly version - minor number
  • Maximum assembly version - patch number

For example:

new("AerospikeClient", "Aerospike.Client.SyncCommand", "ExecuteCommand",  new[] { "System.Void" }, 4, 0, 0, 4, 65535, 65535, assemblyFullName, "Datadog.Trace.ClrProfiler.AutoInstrumentation.Aerospike.SyncCommandIntegration"),

means that the following code is instrumented:

  • assembly: AerospikeClient, versions: [4.0.0, 5.0.0)
  • type: Aerospike.Client.SyncCommand
  • method: void ExecuteCommand()