Class DefaultRequestIdGenerator

java.lang.Object
org.apache.polaris.service.tracing.DefaultRequestIdGenerator
All Implemented Interfaces:
RequestIdGenerator

@ApplicationScoped public class DefaultRequestIdGenerator extends Object implements RequestIdGenerator
Default implementation of RequestIdGenerator, striking a balance between randomness and performance.

The IDs generated by this generator are of the form: UUID_COUNTER. The UUID part is randomly generated at startup, and the counter is incremented for each request.

In the unlikely event that the counter overflows, a new UUID is generated and the counter is reset to 1.

  • Constructor Details

    • DefaultRequestIdGenerator

      public DefaultRequestIdGenerator()
  • Method Details

    • generateRequestId

      public io.smallrye.mutiny.Uni<String> generateRequestId(jakarta.ws.rs.container.ContainerRequestContext requestContext)
      Description copied from interface: RequestIdGenerator
      Generates a new request ID. IDs must be fast to generate and unique.
      Specified by:
      generateRequestId in interface RequestIdGenerator
      Parameters:
      requestContext - The JAX-RS request context