nxt.http

## Class GetStackTraces

- java.lang.Object
- - nxt.http.APIServlet.APIRequestHandler
  - - nxt.http.GetStackTraces

-     public class GetStackTraces
      extends APIServlet.APIRequestHandler

  The GetStackTraces API will return the current stack trace for each Nxt thread.

  Request parameters:

  - depth - Stack trace depth (minimum 1, defaults to full trace)

  Response parameters:

  - locks - An array of lock objects for locks with waiters
  - threads - An array of thread objects

  Lock object:

  - name - Lock class name
  - hash - Lock identity hash code
  - thread - Identifier of thread holding the lock

  Monitor object:

  - name - Monitor class name
  - hash - Monitor identity hash
  - depth - Stack depth where monitor locked
  - trace - Stack element where monitor locked

  Thread object:

  - blocked - Lock object if thread is waiting on a lock
  - id - Thread identifier
  - locks - Array of monitor objects for locks held by this thread
  - name - Thread name
  - state - Thread state
  - trace - Array of stack trace elements

- - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected boolean` | `allowRequiredBlockParameters()`
    `protected org.json.simple.JSONStreamAware` | `processRequest(javax.servlet.http.HttpServletRequest req)` Process the GetStackTraces API request
    `protected boolean` | `requireBlockchain()`
    `protected boolean` | `requirePassword()` Require the administrator password

    - ### Methods inherited from class nxt.http.APIServlet.APIRequestHandler

      `getAPITags, getFileParameter, getParameters, isPassword, isTextArea, processRequest, requireFullClient, requirePost, startDbTransaction`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### processRequest

          protected org.json.simple.JSONStreamAware processRequest(javax.servlet.http.HttpServletRequest req)

      Process the GetStackTraces API request
      Specified by:
        `processRequest` in class `APIServlet.APIRequestHandler`
      Parameters:
        `req` - API request
      Returns:
        API response

    - #### requirePassword

          protected boolean requirePassword()

      Require the administrator password
      Overrides:
        `requirePassword` in class `APIServlet.APIRequestHandler`
      Returns:
        TRUE if the admin password is required

    - #### allowRequiredBlockParameters

          protected boolean allowRequiredBlockParameters()

      Overrides:
        `allowRequiredBlockParameters` in class `APIServlet.APIRequestHandler`

    - #### requireBlockchain

          protected boolean requireBlockchain()

      Overrides:
        `requireBlockchain` in class `APIServlet.APIRequestHandler`