You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bu...@apache.org on 2016/04/25 11:19:28 UTC

svn commit: r986570 - in /websites/staging/sling/trunk/content: ./ documentation/bundles/log-tracers.html

Author: buildbot
Date: Mon Apr 25 09:19:27 2016
New Revision: 986570

Log:
Staging update by buildbot for sling

Modified:
    websites/staging/sling/trunk/content/   (props changed)
    websites/staging/sling/trunk/content/documentation/bundles/log-tracers.html

Propchange: websites/staging/sling/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Apr 25 09:19:27 2016
@@ -1 +1 @@
-1740777
+1740785

Modified: websites/staging/sling/trunk/content/documentation/bundles/log-tracers.html
==============================================================================
--- websites/staging/sling/trunk/content/documentation/bundles/log-tracers.html (original)
+++ websites/staging/sling/trunk/content/documentation/bundles/log-tracers.html Mon Apr 25 09:19:27 2016
@@ -264,12 +264,15 @@ and route them to normal logging on serv
 
 
 <h2 id="tracer-recording">Tracer Recording<a class="headerlink" href="#tracer-recording" title="Permanent link">&para;</a></h2>
+<p><em>Since 1.0.0 <a href="https://issues.apache.org/jira/browse/SLING-5459">SLING-5459</a></em></p>
 <p>Apart from routing the logs to the server logs they can also be stored in memory and accessed in
 json form from Felix Web Console. By default support for recording is disabled and it needs to be
 explicitly enabled via OSGi config</p>
 <p>Recording features works as explained below</p>
 <ol>
-<li>Client sends an HTTP request with header <code>Sling-Tracer-Record</code>​ set to <code>true</code><div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">D</span> <span class="o">-</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin</span><span class="p">:</span><span class="n">admin</span> <span class="o">\</span>
+<li>
+<p>Client sends an HTTP request with header <code>Sling-Tracer-Record</code>​ set to <code>true</code></p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">D</span> <span class="o">-</span> <span class="o">-</span><span class="n">u</span> <span class="n">admin</span><span class="p">:</span><span class="n">admin</span> <span class="o">\</span>
   <span class="o">-</span><span class="n">H</span> &quot;<span class="n">Sling</span><span class="o">-</span><span class="n">Tracer</span><span class="o">-</span><span class="n">Record</span> <span class="p">:</span> <span class="n">true</span>&quot; <span class="o">\</span>
  <span class="o">-</span><span class="n">d</span> &quot;<span class="o">./</span><span class="n">jcr</span><span class="p">:</span><span class="n">content</span><span class="o">/</span><span class="n">jcr</span><span class="p">:</span><span class="n">title</span><span class="p">=</span><span class="n">Summer</span> <span class="n">Collection</span>&quot; <span class="o">\</span>
  <span class="o">-</span><span class="n">d</span> &quot;<span class="p">:</span><span class="n">name</span><span class="p">=</span><span class="n">summer</span><span class="o">-</span><span class="n">collection</span>&quot; <span class="o">\</span>
@@ -280,54 +283,62 @@ explicitly enabled via OSGi config</p>
 </pre></div>
 
 
-<ol>
+</li>
 <li>
 <p>Server includes a request id as part of <code>Sling-Tracer-Request-Id</code> response headers  </p>
-<p>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
-3. The logs in json format can then be fetched from server at <code>/system/console/tracer</code> like 
-   http://localhost:8080/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json. Below
-   is a json output for GET request</p>
-<p>curl -s -D - -H "Sling-Tracer-Record : true" -H "Sling-Tracers : oak-query" \
--H "Sling-Tracer-Config : org.apache.jackrabbit.oak.query" \
--u admin:admin http://localhost:4512/assets.html/content/dam -o /dev/null</p>
-<p>::javascript
-{
-  "method": "GET",
-  "time": 15140,
-  "timestamp": 1461574009024,
-  "requestProgressLogs": [
-    "0 TIMER_START{Request Processing}",
-    "0 COMMENT timer_end format is {<elapsed msec>,<timer name>} <optional message>",
-    ...
-  ],
-  "queries": [{
-    "query": "/jcr:root/etc/workflow/instances//element(<em>,app:Workflow)[@status='RUNNING'] order by @startTime descending",
-    "plan": "[app:Workflow] as [a] /</em> property status = RUNNING where ([a].[status] = 'RUNNING') and (isdescendantnode([a], [/etc/workflow/instances])) <em>/",
-    "caller": "com.example.WorkflowManager.getWorkflowInstances(WorkflowManager.java:902)"
-  }
-  ],
-  "logs": [{
-    "timestamp": 1461574022401,
-    "level": "DEBUG",
-    "logger": "org.apache.jackrabbit.oak.query.QueryEngineImpl",
-    "message": "Parsing xpath statement: /jcr:root/etc/workflow/instances//element(</em>,cq:Workflow)[@status='RUNNING'] order by @startTime descending",
-    "params": [
-      "xpath",
-      "/jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status='RUNNING'] order by @startTime descending"
-    ]
-  }
-    ...
-  ]
-}</p>
+<div class="codehilite"><pre><span class="n">HTTP</span><span class="o">/</span>1<span class="p">.</span>1 201 <span class="n">Created</span>
+<span class="n">Date</span><span class="p">:</span> <span class="n">Wed</span><span class="p">,</span> 27 <span class="n">Jan</span> 2016 07<span class="p">:</span>30<span class="p">:</span>22 <span class="n">GMT</span>
+<span class="n">Sling</span><span class="o">-</span><span class="n">Tracer</span><span class="o">-</span><span class="n">Request</span><span class="o">-</span><span class="n">Id</span><span class="p">:</span> 9<span class="n">b5b01f6</span><span class="o">-</span><span class="n">f269</span><span class="o">-</span>47<span class="n">c3</span><span class="o">-</span><span class="n">a889</span><span class="o">-</span>2<span class="n">dc8d4d7938f</span>
+<span class="n">X</span><span class="o">-</span><span class="n">Content</span><span class="o">-</span><span class="n">Type</span><span class="o">-</span><span class="n">Options</span><span class="p">:</span> <span class="n">nosniff</span>
+<span class="n">X</span><span class="o">-</span><span class="n">Frame</span><span class="o">-</span><span class="n">Options</span><span class="p">:</span> <span class="n">SAMEORIGIN</span>
+<span class="n">Location</span><span class="p">:</span> <span class="o">/</span><span class="n">content</span><span class="o">/</span><span class="n">dam</span><span class="o">/</span><span class="n">summer</span><span class="o">-</span><span class="n">collection</span>
+<span class="n">Content</span><span class="o">-</span><span class="n">Type</span><span class="p">:</span> <span class="n">text</span><span class="o">/</span><span class="n">html</span><span class="p">;</span> <span class="n">charset</span><span class="p">=</span><span class="n">UTF</span><span class="o">-</span>8
+<span class="n">Transfer</span><span class="o">-</span><span class="n">Encoding</span><span class="p">:</span> <span class="n">chunked</span>
+</pre></div>
+
+
 </li>
-</ol>
+<li>
+<p>The logs in json format can then be fetched from server at <code>/system/console/tracer</code> like 
+   http://localhost:8080/system/console/tracer/9b5b01f6-f269-47c3-a889-2dc8d4d7938f.json. </p>
+<div class="codehilite"><pre><span class="n">curl</span> <span class="o">-</span><span class="n">s</span> <span class="o">-</span><span class="n">D</span> <span class="o">-</span> <span class="o">-</span><span class="n">H</span> &quot;<span class="n">Sling</span><span class="o">-</span><span class="n">Tracer</span><span class="o">-</span><span class="n">Record</span> <span class="p">:</span> <span class="n">true</span>&quot; <span class="o">-</span><span class="n">H</span> &quot;<span class="n">Sling</span><span class="o">-</span><span class="n">Tracers</span> <span class="p">:</span> <span class="n">oak</span><span class="o">-</span><span class="n">query</span>&quot; <span class="o">\</span>
+<span class="o">-</span><span class="n">H</span> &quot;<span class="n">Sling</span><span class="o">-</span><span class="n">Tracer</span><span class="o">-</span><span class="n">Config</span> <span class="p">:</span> <span class="n">org</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">jackrabbit</span><span class="p">.</span><span class="n">oak</span><span class="p">.</span><span class="n">query</span>&quot; <span class="o">\</span>
+<span class="o">-</span><span class="n">u</span> <span class="n">admin</span><span class="p">:</span><span class="n">admin</span> <span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">localhost</span><span class="p">:</span>4512<span class="o">/</span><span class="n">assets</span><span class="p">.</span><span class="n">html</span><span class="o">/</span><span class="n">content</span><span class="o">/</span><span class="n">dam</span> <span class="o">-</span><span class="n">o</span> <span class="o">/</span><span class="n">dev</span><span class="o">/</span><span class="n">null</span>
+</pre></div>
+
+
+<p>Below is a json output for GET request</p>
+<div class="codehilite"><pre><span class="p">{</span>
+  <span class="s2">&quot;method&quot;</span><span class="o">:</span> <span class="s2">&quot;GET&quot;</span><span class="p">,</span>
+  <span class="s2">&quot;time&quot;</span><span class="o">:</span> <span class="mi">15140</span><span class="p">,</span>
+  <span class="s2">&quot;timestamp&quot;</span><span class="o">:</span> <span class="mi">1461574009024</span><span class="p">,</span>
+  <span class="s2">&quot;requestProgressLogs&quot;</span><span class="o">:</span> <span class="p">[</span>
+    <span class="s2">&quot;0 TIMER_START{Request Processing}&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;0 COMMENT timer_end format is {&lt;elapsed msec&gt;,&lt;timer name&gt;} &lt;optional message&gt;&quot;</span><span class="p">,</span>
+    <span class="p">...</span>
+  <span class="p">],</span>
+  <span class="s2">&quot;queries&quot;</span><span class="o">:</span> <span class="p">[{</span>
+    <span class="s2">&quot;query&quot;</span><span class="o">:</span> <span class="s2">&quot;/jcr:root/etc/workflow/instances//element(*,app:Workflow)[@status=&#39;RUNNING&#39;] order by @startTime descending&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;plan&quot;</span><span class="o">:</span> <span class="s2">&quot;[app:Workflow] as [a] /* property status = RUNNING where ([a].[status] = &#39;RUNNING&#39;) and (isdescendantnode([a], [/etc/workflow/instances])) */&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;caller&quot;</span><span class="o">:</span> <span class="s2">&quot;com.example.WorkflowManager.getWorkflowInstances(WorkflowManager.java:902)&quot;</span>
+  <span class="p">}</span>
+  <span class="p">],</span>
+  <span class="s2">&quot;logs&quot;</span><span class="o">:</span> <span class="p">[{</span>
+    <span class="s2">&quot;timestamp&quot;</span><span class="o">:</span> <span class="mi">1461574022401</span><span class="p">,</span>
+    <span class="s2">&quot;level&quot;</span><span class="o">:</span> <span class="s2">&quot;DEBUG&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;logger&quot;</span><span class="o">:</span> <span class="s2">&quot;org.apache.jackrabbit.oak.query.QueryEngineImpl&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;message&quot;</span><span class="o">:</span> <span class="s2">&quot;Parsing xpath statement: /jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status=&#39;RUNNING&#39;] order by @startTime descending&quot;</span><span class="p">,</span>
+    <span class="s2">&quot;params&quot;</span><span class="o">:</span> <span class="p">[</span>
+      <span class="s2">&quot;xpath&quot;</span><span class="p">,</span>
+      <span class="s2">&quot;/jcr:root/etc/workflow/instances//element(*,cq:Workflow)[@status=&#39;RUNNING&#39;] order by @startTime descending&quot;</span>
+    <span class="p">]</span>
+  <span class="p">}</span>
+    <span class="p">...</span>
+  <span class="p">]</span>
+<span class="p">}</span>
+</pre></div>
+
+
 </li>
 </ol>
 <p>JSON output consist of following sections</p>
@@ -351,7 +362,7 @@ around this.</p>
 <span class="nt">&lt;/dependency&gt;</span>
 </pre></div>
       <div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
-        Rev. 1740775 by chetanm on Mon, 25 Apr 2016 09:01:58 +0000
+        Rev. 1740785 by chetanm on Mon, 25 Apr 2016 09:19:15 +0000
       </div>
       <div class="trademarkFooter"> 
         Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project