Table of Contents

Class ConnectionMetricsInterceptor

Namespace
FishMMO.Database.Npgsql.Monitoring.Metrics
Assembly
FishMMO-DB.dll

EF Core interceptor that tracks database connection open/close events. This is used to approximate Npgsql pool utilization by measuring how many DbConnections are currently open (checked out from the pool).

public sealed class ConnectionMetricsInterceptor : DbConnectionInterceptor, IDbConnectionInterceptor, IInterceptor
Inheritance
ConnectionMetricsInterceptor
Implements
Inherited Members

Constructors

ConnectionMetricsInterceptor(ConnectionPoolMetrics)

Initializes a new instance of the ConnectionMetricsInterceptor class.

public ConnectionMetricsInterceptor(ConnectionPoolMetrics metrics)

Parameters

metrics ConnectionPoolMetrics

Metrics sink to update.

Methods

ConnectionClosed(DbConnection, ConnectionEndEventData)

Called just after EF has called Close() in an async context.

public override void ConnectionClosed(DbConnection connection, ConnectionEndEventData eventData)

Parameters

connection DbConnection

The connection.

eventData ConnectionEndEventData

Contextual information about the connection.

ConnectionClosedAsync(DbConnection, ConnectionEndEventData)

Called just after EF has called CloseAsync().

public override Task ConnectionClosedAsync(DbConnection connection, ConnectionEndEventData eventData)

Parameters

connection DbConnection

The connection.

eventData ConnectionEndEventData

Contextual information about the connection.

Returns

Task

A Task representing the asynchronous operation.

ConnectionOpened(DbConnection, ConnectionEndEventData)

Called just after EF has called Open().

public override void ConnectionOpened(DbConnection connection, ConnectionEndEventData eventData)

Parameters

connection DbConnection

The connection.

eventData ConnectionEndEventData

Contextual information about the connection.

ConnectionOpenedAsync(DbConnection, ConnectionEndEventData, CancellationToken)

Called just after EF has called OpenAsync().

public override Task ConnectionOpenedAsync(DbConnection connection, ConnectionEndEventData eventData, CancellationToken cancellationToken = default)

Parameters

connection DbConnection

The connection.

eventData ConnectionEndEventData

Contextual information about the connection.

cancellationToken CancellationToken

The cancellation token.

Returns

Task

A Task representing the asynchronous operation.