As to your second part, $ZTS is the most precise time you have.
On unix:

The $ZTIMESTAMP time value is a decimal numeric value that counts the time in seconds and fractions thereof. The number of digits in the fractional seconds may vary from zero to nine, depending on the precision of your computer’s time-of-day clock. On Windows systems the fractional precision is three decimal digits; on UNIX® systems it is six decimal digits. $ZTIMESTAMP suppresses trailing zeroes or a trailing decimal point in this fractional portion.

(http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=...)

Hi:

You are missing the CSP shell.

SAMPLES>d $SYSTEM.CSP.Shell()
CSP Shell

Command shell for debugging CSP pages. It looks and acts like a Cache programmer prompt, but you can use the GET or HEAD command to fetch a CSP page. You can set breakpoints, step into the code etc. You may pass query parameters to the page as well, eg.:CSP>>> GET /csp/samples/request.csp?A=1&B=2

The output you see is what would be sent to the browser, including any HTTP headers. You can also interact with the session, request and response objects via the special variables %session, %request and %response.

CSP:SAMPLES>>> get /csp/samples/menu.csp
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Set-Cookie: CSPSESSIONID-UP-csp-samples-=41056            41056; path=/csp/samples/;  httpOnly;
Cache-Control: no-cache
Date: Mon, 12 Jun 2017 12:34:00 GMT
Expires: Thu, 29 Oct 1998 17:04:19 GMT
Pragma: no-cache

<!-- Copyright (c) 2001 InterSystems Inc. ALL RIGHTS RESERVED. -->
[....]

This can then be used with the command line debugger (zbreak/break) to step through your csp/rest code.

Another useful set of toosl: syntax coloring for isclog/csplog for sublime text:
https://github.com/seanklingensmith/LogColors