Microsoft.Data.SqlClient.Internal.Logging 1.0.0
Microsoft.Data.SqlClient.Internal.Logging
⚠️ Internal Package — Do Not Reference Directly
This package is intended for internal use by the SqlClient suite of packages only. It is not designed for direct consumption by application code and may undergo breaking changes without notice.
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.Internal.Logging
Or via the Package Manager Console:
Install-Package Microsoft.Data.SqlClient.Internal.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.
Related Packages
- Microsoft.Data.SqlClient - The main SqlClient driver
- Microsoft.Data.SqlClient.Extensions.Abstractions - Core abstractions
- Microsoft.Data.SqlClient.Extensions.Azure - Azure integration extensions
Showing the top 20 packages that depend on Microsoft.Data.SqlClient.Internal.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.
|
5 |
|
Microsoft.Data.SqlClient.Extensions.Abstractions
Microsoft.Data.SqlClient Extensions Abstractions
|
2 |
.NET Standard 2.0
- No dependencies.
| Version | Downloads | Last updated |
|---|---|---|
| 1.0.0 | 5 | 03/17/2026 |