<?php

declare(strict_types=1);

namespace Drupal\native_observability\Service;

/**
 * Generates unique request identifiers for trace correlation.
 *
 * The Request ID is the central correlation key used across:
 * - HTTP response headers (e.g. X-Request-Id)
 * - Structured logs
 * - Trace DB storage.
 *
 * Implementations MUST return collision-resistant IDs.
 */
interface RequestIdGeneratorInterface {

  /**
   * Generates a new request ID.
   *
   * @return string
   *   A unique request ID suitable for correlation.
   */
  public function generate(): string;

}
