Microsoft.Data.SqlClient.Extensions.Logging 1.0.0-preview1.26064.3

Microsoft.Data.SqlClient.Extensions.Logging

NuGet NuGet Downloads

Description

This package provides ETW EventSource tracing and diagnostics for Microsoft.Data.SqlClient. It enables comprehensive logging and telemetry capabilities for SQL Server database operations.

Key Features

  • ETW EventSource Integration: Structured logging using Event Tracing for Windows (ETW)
  • Diagnostic Listeners: Hook into SqlClient diagnostic events
  • Performance Counters: Track connection pool and query performance metrics
  • Correlation Support: Integrate with distributed tracing systems

Supportability

This package supports:

  • .NET Standard 2.0 (compatible with .NET Framework 4.6.1+, .NET Core 2.0+, and .NET 5+)

Installation

Install the package via NuGet:

dotnet add package Microsoft.Data.SqlClient.Extensions.Logging

Or via the Package Manager Console:

Install-Package Microsoft.Data.SqlClient.Extensions.Logging

Getting Started

Enable ETW Tracing

Use tools like PerfView or Windows Performance Recorder to capture ETW events:

# Using PerfView
PerfView.exe collect /Providers=*Microsoft.Data.SqlClient.EventSource

Subscribe to Diagnostic Events

using System.Diagnostics;

// Subscribe to SqlClient diagnostic events
DiagnosticListener.AllListeners.Subscribe(new SqlClientObserver());

public class SqlClientObserver : IObserver<DiagnosticListener>
{
    public void OnNext(DiagnosticListener listener)
    {
        if (listener.Name == "SqlClientDiagnosticListener")
        {
            listener.Subscribe(new SqlClientEventObserver());
        }
    }

    public void OnError(Exception error) { }
    public void OnCompleted() { }
}

public class SqlClientEventObserver : IObserver<KeyValuePair<string, object>>
{
    public void OnNext(KeyValuePair<string, object> value)
    {
        Console.WriteLine($"Event: {value.Key}");
        // Process event data...
    }

    public void OnError(Exception error) { }
    public void OnCompleted() { }
}

Event Categories

The logging extension emits events in these categories:

Category Events
Connection Open, Close, Pool operations
Commands Before/After execution, Errors
Transactions Begin, Commit, Rollback
Pool Connection acquired/released, Pool sizing
Errors Exceptions, Retries, Timeouts

Documentation

License

This package is licensed under the MIT License.

Showing the top 20 packages that depend on Microsoft.Data.SqlClient.Extensions.Logging.

Packages Downloads
Microsoft.Data.SqlClient
The current data provider for SQL Server and Azure SQL databases. This has replaced System.Data.SqlClient. These classes provide access to SQL and encapsulate database-specific protocols, including tabular data stream (TDS). Commonly Used Types: Microsoft.Data.SqlClient.SqlConnection Microsoft.Data.SqlClient.SqlException Microsoft.Data.SqlClient.SqlParameter Microsoft.Data.SqlClient.SqlDataReader Microsoft.Data.SqlClient.SqlCommand Microsoft.Data.SqlClient.SqlTransaction Microsoft.Data.SqlClient.SqlParameterCollection Microsoft.Data.SqlClient.SqlClientFactory When using NuGet 3.x this package requires at least version 3.4.
2
Microsoft.Data.SqlClient.Extensions.Abstractions
Microsoft.Data.SqlClient Extensions Abstractions
1

.NET Standard 2.0

  • No dependencies.

Version Downloads Last updated
1.0.0-preview1.26064.3 1 03/06/2026