<?php /** * Interface for MCP observability handlers. * * @package McpAdapter */ declare( strict_types=1 ); namespace WP\MCP\Infrastructure\Observability\Contracts; /** * Interface for handling MCP observability metrics and tracking. * * This interface defines the contract for observability handlers that can * track metrics like request counts, timing, and error rates in the MCP adapter. * Concrete implementations can integrate with various observability systems. */ interface McpObservabilityHandlerInterface { /** * Emit a countable event for tracking with optional timing data. * * @param string $event The event name to record. * @param array $tags Optional tags to attach to the event. * @param float|null $duration_ms Optional duration in milliseconds for timing measurements. * * @return void */ public function record_event( string $event, array $tags = array(), ?float $duration_ms = null ): void; }