OpenTelemetry.Instrumentation.ElasticsearchClient
1.12.0-beta.1
Prefix Reserved
dotnet add package OpenTelemetry.Instrumentation.ElasticsearchClient --version 1.12.0-beta.1
NuGet\Install-Package OpenTelemetry.Instrumentation.ElasticsearchClient -Version 1.12.0-beta.1
<PackageReference Include="OpenTelemetry.Instrumentation.ElasticsearchClient" Version="1.12.0-beta.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.ElasticsearchClient" Version="1.12.0-beta.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.ElasticsearchClient" />
paket add OpenTelemetry.Instrumentation.ElasticsearchClient --version 1.12.0-beta.1
#r "nuget: OpenTelemetry.Instrumentation.ElasticsearchClient, 1.12.0-beta.1"
#:package OpenTelemetry.Instrumentation.ElasticsearchClient@1.12.0-beta.1
#addin nuget:?package=OpenTelemetry.Instrumentation.ElasticsearchClient&version=1.12.0-beta.1&prerelease
#tool nuget:?package=OpenTelemetry.Instrumentation.ElasticsearchClient&version=1.12.0-beta.1&prerelease
Elasticsearch Client Instrumentation for OpenTelemetry .NET
Status | |
---|---|
Stability | Beta |
Code Owners | @ejsmith |
NEST/Elasticsearch.Net
This is an Instrumentation Library, which instruments NEST/Elasticsearch.Net and collects traces about outgoing requests.
This component is based on the OpenTelemetry semantic conventions for metrics and traces. These conventions are Experimental, and hence, this package is a pre-release. Until a stable version is released, there can be breaking changes.
Steps to enable OpenTelemetry.Instrumentation.ElasticsearchClient
Step 1: Install Package
Add a reference to the
OpenTelemetry.Instrumentation.ElasticsearchClient
package. Also, add any other instrumentations & exporters you will need.
dotnet add package --prerelease OpenTelemetry.Instrumentation.ElasticsearchClient
Step 2: Enable NEST/Elasticsearch.Net Instrumentation at application startup
NEST/Elasticsearch.Net
instrumentation must be enabled at application startup.
The following example demonstrates adding NEST/Elasticsearch.Net
instrumentation to a console application. This example also sets up the
OpenTelemetry Console exporter, which requires adding the package
OpenTelemetry.Exporter.Console
to the application.
using OpenTelemetry;
using OpenTelemetry.Trace;
public class Program
{
public static void Main(string[] args)
{
using var tracerProvider = Sdk.CreateTracerProviderBuilder()
.AddElasticsearchClientInstrumentation()
.AddConsoleExporter()
.Build();
}
}
For an ASP.NET Core application, adding instrumentation is typically done in the
ConfigureServices
of your Startup
class. Refer to documentation for
OpenTelemetry.Instrumentation.AspNetCore.
For an ASP.NET application, adding instrumentation is typically done in the
Global.asax.cs
. Refer to the documentation for
OpenTelemetry.Instrumentation.AspNet.
Advanced configuration
This instrumentation can be configured to change the default behavior by using
ElasticsearchClientInstrumentationOptions
.
services.AddOpenTelemetry()
.WithTracing(builder => builder
.AddElasticsearchClientInstrumentation(options =>
{
// add request json as db.statement attribute tag
options.SetDbStatementForRequest = true;
})
.AddConsoleExporter());
When used with
OpenTelemetry.Extensions.Hosting
,
all configurations to ElasticsearchClientInstrumentationOptions
can be done in the ConfigureServices
method of you applications Startup
class as shown below.
// Configure
services.Configure<ElasticsearchClientInstrumentationOptions>(options =>
{
// add request json as db.statement attribute tag
options.SetDbStatementForRequest = true;
});
services.AddOpenTelemetry()
.WithTracing(builder => builder
.AddElasticsearchClientInstrumentation()
.AddConsoleExporter());
Elastic.Clients.Elasticsearch
Elastic.Clients.Elasticsearch,
that deprecates NEST/Elasticsearch.Net
,
brings native support for OpenTelemetry. To instrument it you need
to configure the OpenTelemetry SDK to listen to the ActivitySource
used by the library by calling AddSource("Elastic.Clients.Elasticsearch.ElasticsearchClient")
(Elastic.Clients.Elasticsearch version < 8.10.0) or AddSource("Elastic.Transport")
(Elastic.Clients.Elasticsearch version >= 8.10.0)
on the TracerProviderBuilder
.
References
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- OpenTelemetry (>= 1.12.0 && < 2.0.0)
- System.Text.Encodings.Web (>= 4.7.2)
- System.Text.Json (>= 4.7.2)
-
.NETStandard 2.0
- OpenTelemetry (>= 1.12.0 && < 2.0.0)
- System.Text.Encodings.Web (>= 4.7.2)
- System.Text.Json (>= 4.7.2)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on OpenTelemetry.Instrumentation.ElasticsearchClient:
Package | Downloads |
---|---|
Grafana.OpenTelemetry
Full Grafana distribution of OpenTelemetry .NET |
|
SPG.Common.AspNetCore
ASP.NET core helper classes used by SPG products |
|
Masa.Contrib.StackSdks.Tsc.OpenTelemetry
Package Description |
|
CyberEye.Observability.Lib
Package cung cấp các cấu hình về Observability, Monitoring, Telemetry như Metrics, Traces |
|
Galosoft.IaaS.OpenTelemetry
Galosoft.IaaS快速开发库 |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on OpenTelemetry.Instrumentation.ElasticsearchClient:
Repository | Stars |
---|---|
exceptionless/Exceptionless
Exceptionless application
|
Version | Downloads | Last Updated |
---|---|---|
1.12.0-beta.1 | 99 | 7/30/2025 |
1.0.0-beta.5 | 2,459,063 | 10/24/2023 |
1.0.0-beta.4 | 534,600 | 3/7/2023 |
1.0.0-beta.3 | 576,995 | 3/17/2022 |