SqlBulkCopy を OpenTelemetry で観測したい
DRANK
...というタイトルで 超dotnet new 勉強会に登壇してきました。タイトルからお察しの通り、SqlBulkCopy を利用した SQL DB へのデータ挿入は OpenTelemetry のテレメトリ送信に対応していません。こういう欠損というか、微妙な可観測性の低さは運用上地味に困るので何とかしようという話です。 の標準挙動を確認Microsoft.Data.SqlClient と OpenTelemetry.Instrumentation.SqlClient による標準的な挙動を確認していきます。Step.1 : 通常の insert 文まずは標準的な insert 文からはじめてみましょう。テーブルに 10 件のレコードを入れてみます。using System.Linq; using System.Transactions; using Azure.Monitor.OpenTelemetry.AspNetCore; using Dapper; using DotNetNew.WebApp; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Mvc; using Microsoft.Data.SqlClient; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using OpenTelemetry.Metrics; using OpenTelemetry.Trace; var builder = WebApplication.CreateBuilder(args); // OpenTelemetry を構成 var…