Skip to content

Request Status

This screen displays information about the status of Data Discovery and SQL Pass-thru requests made by clients. It is accessible from the main menu (Request Status) or from the URL /reqstatus.

It can be useful for monitoring the progress of long-running requests and seeing where in the SlashDB execution pipeline they are taking longest to process.

This page is always accessible to the admin user.

Non-admin users will be able to see Data Discovery requests for databases that they have mappings for, and for any SQL Pass-thru queries that they have execute permissions for.

Important

If running SlashDB in multiprocess mode, you must configure the memcache daemon for the Request Status page to register all requests properly.

There is no fixed limit to the number of requests that can be logged; it is limited by server memory in single process mode, and both server and memcache memory limits in multiprocess mode. Requests will expire out of memory/memcache after a period of time, configurable in the INI settings.

Warning

The default memcache settings distributed with SlashDB will support roughly 7-8 thousand requests at a time in the log. If this limit is breached, memcache will arbitrarily evict items from its cache to make space for new items, and request statuses will disappear. Consult the memcache documentation for details about increasing the memcache memory limit.

Request Status List

Each request entry will appear in a list.

Info

The list does not refresh automatically.

Each entry in the list has:

  • a unique Request ID assigned to the request
  • the HTTP Method of the request (GET, POST, PUT, DELETE)
  • the URL Path of the request
  • the Start Time when the incoming request was received
  • the current Duration of the request (in milliseconds)
  • the current Status of the request - can be Completed, Executing, or Failed

Info

The list is also available in JSON format at /reqstatus.json.

The list can be filtered by using the input fields above the list headers or sorted by clicking on column headers.

Status will filter requests by completion status.

  • There are 5 other Fields you may filter by:
    • Request ID (exact match only)
    • Method (GET, POST, PUT, DELETE, HEAD)
    • Path (full or partial string matching, case sensitive)
    • Start Time (full or partial value matching)
    • Duration (numeric value matching)

The Option dropdown will change to display the available filtering options for the Method, Start Time, and Duration fields. Use the text input field to enter the value you want to filter against.

Request ID and Path have no filtering options; just input the value you wish to filter by into the text input field.

Click on the Search button once you have entered your filtering criteria to filter the request status list.

The Clear Filter button will clear any existing filters and sorting that are currently set.

Use the Paging buttons to browse through the list of request statuses. The number of statuses that are shown on each page is controlled by the limit parameter in the address bar.

Important

Requests are not kept in the list forever. They will disappear after exceeding a certain time threshold. See INI Parameters for more info.

Actions

To view more details about the request, click the List icon in the Action column.

Request Status Details

Clicking on the corresponding List icon for an entry in the list will reveal a pane with more details:

  • the user_id that executed the request
  • the HTTP method of the request
  • the proc_id (process ID) of the SlashDB process that executed the request
  • the t_id (thread ID) of the SlashDB worker that handled the request

  • the t_name (thread name) of the SlashDB worker that is handling the request
  • the URL path of the request

  • the redir_path (redirected path), if the request completes with a 3xx HTTP status code

  • the database resource, for Data Discovery requests, or the query_id for SQL Pass-thru requests
  • the db_id (database ID)
  • the duration that the request took to execute, in milliseconds
  • the http_status_code of the response
  • the err_msg (error message) logged if the request fails

Info

HTTP status codes will not appear until the response has been generated.

URL Parameters (Modifiers) that were provided with the request are also listed.

Finally, there is a Status Timeline with timestamps, showing each stage of the request as it goes through the execution pipeline.

This can be used to determine how long each stage of a request takes to complete. Refreshing the Request Status list will update the status timeline of an executing request with the latest available status.

Below are two request details panes; on the left a successful request, on the right a failed request:

INI Parameters

The following INI parameters are available for configuring the request status view: