【问题标题】:How can I trace Database operations with opentelemetry in ASP.NET Core?如何在 ASP.NET Core 中使用 opentelemetry 跟踪数据库操作?
【发布时间】:2021-09-24 07:02:21
【问题描述】:

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

ProjectA 连接到 MySQL 数据库。

项目 A 只是这样做:

  • 收到请求
  • 然后查询连接的 MySQL 数据库
  • 然后返回对请求的响应

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

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

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

【问题讨论】:

  • 我对Jaeger不熟悉,但它似乎可以自动从span中的数据库操作中收集数据?见this comment,看到有别人的截图,可以追踪mysql操作。

标签: asp.net-core jaeger open-telemetry


【解决方案1】:

您需要在配置跟踪器提供程序时启用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-02
    • 2016-06-20
    • 1970-01-01
    • 2020-03-19
    • 2022-08-19
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多