A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.nuget.org/packages/OpenTelemetry.Instrumentation.ElasticsearchClient below:

NuGet Gallery | OpenTelemetry.Instrumentation.ElasticsearchClient 1.12.0-beta.1

Elasticsearch Client Instrumentation for OpenTelemetry .NET 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

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4