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>.