You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2016/01/27 13:50:39 UTC

[jira] [Created] (SLING-5459) Recording of tracer logs

Chetan Mehrotra created SLING-5459:
--------------------------------------

             Summary: Recording of tracer logs
                 Key: SLING-5459
                 URL: https://issues.apache.org/jira/browse/SLING-5459
             Project: Sling
          Issue Type: New Feature
          Components: Extensions
            Reporter: Chetan Mehrotra
            Assignee: Chetan Mehrotra
             Fix For: Log Tracer 1.0.0


Sling Log Tracer currently provides support for fine grained control of enabling logs for specific request. To make this log more accessible it would be useful to have a feature where the client can also fetch the logs from specific request over HTTP.

This feature would work like below
# Client sends an HTTP request with header {{Sling-Tracer-Record​}}  set to true
{noformat}
curl -D - -u admin:admin \
  -H "Sling-Tracer-Record : true" \
 -d "./jcr:content/jcr:title=Summer Collection" \
 -d ":name=summer-collection" \
 -d "./jcr:primaryType=sling:Folder" \
 -d "./jcr:content/jcr:primaryType=nt:unstructured" \
 -d "tracers=oak-writes" \
 http://localhost:4802/content/dam/
{noformat}
# Server includes a request id as part of {{Sling-Tracer-Request-Id}} response headers
{noformat}
HTTP/1.1 201 Created
Date: Wed, 27 Jan 2016 07:30:22 GMT
Sling-Tracer-Request-Id: 9b5b01f6-f269-47c3-a889-2dc8d4d7938f
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Location: /content/dam/summer-collection
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
{noformat}
# The logs in json format can then be fetched like http://localhost:4802/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json

Key points
# Request id is randomly generated
# The access to request log is via Web Console Plugin servlet hence its only accessible to admin user account
# The request data would only be recorded for those request which have the {{​Sling-Tracer-Record}} header set. The data would be kept in memory for *some time* with the assumption that client would fetch it soon. After some time the data would expire



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)