Skip to main content
Glama

MCP SQL Server

by ryudg
ConnectionPoolPolicy.ts2.33 kB
import { ConnectionPoolMetrics } from '../entities/PerformanceMetric.js'; /** * ConnectionPoolPolicy * * Policy for evaluating connection pool status and providing recommendations. * Implements the policy pattern from DDD. */ export class ConnectionPoolPolicy { constructor( private readonly warningThreshold: number = 70, private readonly criticalThreshold: number = 90, private readonly minIdleConnections: number = 2 ) {} /** * Evaluates connection pool metrics and determines if they require attention. * @param metrics Connection pool metrics * @returns boolean indicating if the connection pool status is concerning */ evaluate(metrics: ConnectionPoolMetrics): boolean { return ( metrics.utilization > this.warningThreshold || metrics.idleConnections < this.minIdleConnections ); } /** * Gets the health status of the connection pool. * @param metrics Connection pool metrics * @returns Health status as string */ getHealthStatus(metrics: ConnectionPoolMetrics): 'healthy' | 'warning' | 'critical' { if (metrics.utilization >= this.criticalThreshold) { return 'critical'; } else if (metrics.utilization >= this.warningThreshold) { return 'warning'; } return 'healthy'; } /** * Provides recommendations for improving connection pool performance. * @param metrics Connection pool metrics * @returns Array of recommendation strings */ getRecommendations(metrics: ConnectionPoolMetrics): string[] { const recommendations: string[] = []; if (metrics.utilization >= this.criticalThreshold) { recommendations.push('Increase maximum pool size immediately'); recommendations.push('Check for connection leaks in application code'); } else if (metrics.utilization >= this.warningThreshold) { recommendations.push('Consider increasing maximum pool size'); recommendations.push('Monitor connection usage patterns'); } if (metrics.idleConnections < this.minIdleConnections) { recommendations.push('Increase minimum pool size to ensure availability'); } if (metrics.activeConnections > metrics.totalConnections * 0.9) { recommendations.push('Implement connection request timeout to prevent hanging requests'); } return recommendations; } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryudg/mcp-sql'

If you have feedback or need assistance with the MCP directory API, please join our Discord server