首页 > 解决方案 > 如何在 ASP.NET Core 中使用 opentelemetry 跟踪数据库操作?

问题描述

我有一个 ASP.NET Core Web API 项目,我们称之为projectA.

ProjectA 连接到 MySQL 数据库。

项目 A 只是这样做:

我想测量数据库操作所花费的时间并将结果发送给 Jaeger。

对于 http 请求,opentelemetry 会自动测量请求所花费的时间并将结果发送给 jaeger。

如何对数据库操作使用 opentelemetry 做同样的事情?

标签: asp.net-corejaegeropen-telemetry

解决方案


配置跟踪器提供程序时,您需要启用 SQL 客户端检测。

using OpenTelemetry.Trace;

public class Program
{
    public static void Main(string[] args)
    {
        using var tracerProvider = Sdk.CreateTracerProviderBuilder()
            .AddSqlClientInstrumentation()
            .AddConsoleExporter()
            .Build();
    }
}

这是官方文档:https ://github.com/open-telemetry/opentelemetry-dotnet/tree/main/src/OpenTelemetry.Instrumentation.SqlClient#readme


推荐阅读