ENTERPRISE  This is a SignServer Enterprise feature.

The QoS status worker has the fully qualified class name: org.signserver.server.signers.QoSStatusWorker

Overview

The QoS status worker provides status of the QoS prioritization web filter (when enabled). The worker is used for setting up Request Prioritization, allowing you to assign different priority levels to different signing requests, in a SignServer system with multiple workers configured to serve different types of signing requests. For more information, see Setting up Request Prioritization.

This worker produces text output in new-line separated key-value format with status information from the web filter.

Currently, the request data is ignored. It is recommended to send a request with an empty body as additional behaviors could be introduced in the future.

Output Key/Value Pairs

Output key/value pairDescription
FILTER_ENABLED=true/falseFalse if the filter is disabled, otherwise true. When set to true, additional status fields are included.
MAX_REQUESTS=<integer>The maximum number of concurrent requests before the filter will place requests in prioritized queues.
MAX_PRIORITY_LEVEL=<integer>The highest priority level available for requests.
QUEUE_SIZE(n)=<integer>One line for each priority level (0…MAX_PRIORITY_LEVEL) with the value representing the current number of requests placed in queue for that priority.
QOS_CACHE_TTL_S=<integer>The number of seconds to keep the configuration cache.

SEMAPHORE_QUEUE_SIZE=<integer>


Approximate number of requests waiting at this moment to be processed and that are blocked by the semaphore guarding the max request numbers.
SEMAPHORE_AVAILABLE_PERMITS=<integer>Number of permits that are available at this moment in the semaphore guarding the max requests number.

The worker also presents filter status in the worker status output.

Status Entries

The following lists the provided status entries.

TitleDescription
Filter enabledFalse if the filter is disabled, otherwise true. When this is true, additional status fields are included.
Maximum requestsThe maximum number of concurrent requests before the filter will place requests in prioritized queues.
Maximum priority levelThe highest priority level available for requests.
Queue size(n)One entry for each priority level (0…MAX_PRIORITY_LEVEL) with the value representing the current number of requests placed in queue for that priority.
Semaphore Queue SizeSee SEMAPHORE_QUEUE_SIZE above.
Semaphore Available PermitsSee SEMAPHORE_AVAILABLE_PERMITS.