You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/10/18 23:26:26 UTC

[sling-org-apache-sling-tracer] 42/49: SLING-6120 - Collect logger names which get hit for a given request thread

This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-tracer.git

commit 9ab2e0fb29388ad88e822f418417e43ab4202e1e
Author: Chetan Mehrotra <ch...@apache.org>
AuthorDate: Sat Oct 8 10:22:02 2016 +0000

    SLING-6120 - Collect logger names which get hit for a given request thread
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1763885 13f79535-47bb-0310-9956-ffa450edef68
---
 .../apache/sling/tracer/internal/JSONRecording.java  | 20 ++++++++++++++++++++
 .../org/apache/sling/tracer/internal/LogTracer.java  |  2 ++
 .../org/apache/sling/tracer/internal/Recording.java  |  7 +++++++
 .../apache/sling/tracer/internal/TracerContext.java  |  4 ++++
 4 files changed, 33 insertions(+)

diff --git a/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java b/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java
index 1a7b654..56c1804 100644
--- a/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java
+++ b/src/main/java/org/apache/sling/tracer/internal/JSONRecording.java
@@ -33,8 +33,10 @@ import java.io.UnsupportedEncodingException;
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 import java.util.zip.GZIPInputStream;
 import java.util.zip.GZIPOutputStream;
 
@@ -70,6 +72,7 @@ class JSONRecording implements Recording, Comparable<JSONRecording> {
     private final boolean compress;
     private final List<QueryEntry> queries = new ArrayList<QueryEntry>();
     private final List<LogEntry> logs = new ArrayList<LogEntry>();
+    private final Set<String> loggerNames = new HashSet<String>();
     private RequestProgressTracker tracker;
     private byte[] json;
     private final long start = System.currentTimeMillis();
@@ -139,6 +142,11 @@ class JSONRecording implements Recording, Comparable<JSONRecording> {
         this.tracker = tracker;
     }
 
+    @Override
+    public void recordCategory(String loggerName) {
+        loggerNames.add(loggerName);
+    }
+
     public void done() {
         try {
             if (json == null) {
@@ -181,12 +189,24 @@ class JSONRecording implements Recording, Comparable<JSONRecording> {
         addJson(jw, "queries", queries);
 
         addJson(jw, "logs", logs);
+        addLoggerNames(jw);
         jw.endObject();
         osw.flush();
         os.close();
         return baos.toByteArray();
     }
 
+    private void addLoggerNames(JSONWriter jw) throws JSONException {
+        List<String> sortedNames = new ArrayList<String>(loggerNames);
+        Collections.sort(sortedNames);
+        jw.key("loggerNames");
+        jw.array();
+        for (String o : sortedNames) {
+            jw.value(o);
+        }
+        jw.endArray();
+    }
+
     private void addRequestProgressLogs(JSONWriter jw) throws JSONException {
         if (tracker != null) {
             jw.key("requestProgressLogs");
diff --git a/src/main/java/org/apache/sling/tracer/internal/LogTracer.java b/src/main/java/org/apache/sling/tracer/internal/LogTracer.java
index c95d7fd..9f38a65 100644
--- a/src/main/java/org/apache/sling/tracer/internal/LogTracer.java
+++ b/src/main/java/org/apache/sling/tracer/internal/LogTracer.java
@@ -431,6 +431,8 @@ public class LogTracer {
                 return FilterReply.NEUTRAL;
             }
 
+            tracer.recordCategory(logger.getName());
+
             TracerConfig tc = tracer.findMatchingConfig(logger.getName(), level);
             if (tc != null) {
                 if (format == null) {
diff --git a/src/main/java/org/apache/sling/tracer/internal/Recording.java b/src/main/java/org/apache/sling/tracer/internal/Recording.java
index e7300c5..604652a 100644
--- a/src/main/java/org/apache/sling/tracer/internal/Recording.java
+++ b/src/main/java/org/apache/sling/tracer/internal/Recording.java
@@ -34,6 +34,11 @@ interface Recording {
         public void registerTracker(RequestProgressTracker tracker) {
 
         }
+
+        @Override
+        public void recordCategory(String loggerName) {
+
+        }
     };
 
     void log(TracerConfig tc, Level level, String logger, FormattingTuple tuple);
@@ -44,4 +49,6 @@ interface Recording {
      * @param tracker from current request
      */
     void registerTracker(RequestProgressTracker tracker);
+
+    void recordCategory(String loggerName);
 }
diff --git a/src/main/java/org/apache/sling/tracer/internal/TracerContext.java b/src/main/java/org/apache/sling/tracer/internal/TracerContext.java
index 5859bce..0474662 100644
--- a/src/main/java/org/apache/sling/tracer/internal/TracerContext.java
+++ b/src/main/java/org/apache/sling/tracer/internal/TracerContext.java
@@ -103,6 +103,10 @@ class TracerContext {
         return tuple != null;
     }
 
+    public void recordCategory(String loggerName) {
+        recording.recordCategory(loggerName);
+    }
+
     public void done() {
         if (queryCount > 0) {
             progressTracker.log("JCR Query Count {0}", queryCount);

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.