/**
* PostgreSQL Performance Tools
*
* Query analysis, statistics, and performance monitoring.
* 20 tools total.
*/
import type { PostgresAdapter } from '../../PostgresAdapter.js';
import type { ToolDefinition } from '../../../../types/index.js';
// Import from sub-modules
import { createExplainTool, createExplainAnalyzeTool, createExplainBuffersTool } from './explain.js';
import { createIndexStatsTool, createTableStatsTool, createStatStatementsTool, createStatActivityTool, createUnusedIndexesTool, createDuplicateIndexesTool, createVacuumStatsTool, createQueryPlanStatsTool } from './stats.js';
import { createLocksTool, createBloatCheckTool, createCacheHitRatioTool } from './monitoring.js';
import { createSeqScanTablesTool, createIndexRecommendationsTool, createQueryPlanCompareTool } from './analysis.js';
import { createPerformanceBaselineTool, createConnectionPoolOptimizeTool, createPartitionStrategySuggestTool } from './optimization.js';
/**
* Get all performance tools
*/
export function getPerformanceTools(adapter: PostgresAdapter): ToolDefinition[] {
return [
createExplainTool(adapter),
createExplainAnalyzeTool(adapter),
createExplainBuffersTool(adapter),
createIndexStatsTool(adapter),
createTableStatsTool(adapter),
createStatStatementsTool(adapter),
createStatActivityTool(adapter),
createLocksTool(adapter),
createBloatCheckTool(adapter),
createCacheHitRatioTool(adapter),
createSeqScanTablesTool(adapter),
createIndexRecommendationsTool(adapter),
createQueryPlanCompareTool(adapter),
createPerformanceBaselineTool(adapter),
createConnectionPoolOptimizeTool(adapter),
createPartitionStrategySuggestTool(adapter),
createUnusedIndexesTool(adapter),
createDuplicateIndexesTool(adapter),
createVacuumStatsTool(adapter),
createQueryPlanStatsTool(adapter)
];
}