You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@asterixdb.apache.org by im...@apache.org on 2018/12/17 18:30:41 UTC
asterixdb git commit: [NO ISSUE] Tracer improvements
Repository: asterixdb
Updated Branches:
refs/heads/master 81f3e7593 -> 7b0736801
[NO ISSUE] Tracer improvements
Log traces to their own log with custom level,
as well as make the emitted log work with the
chrome tracer without modification
Change-Id: I81c158fcd17927d65e7b501345fdbc98001ba86a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/3064
Reviewed-by: Ian Maxon <im...@apache.org>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Ali Alsuliman <al...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/7b073680
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/7b073680
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/7b073680
Branch: refs/heads/master
Commit: 7b073680147ef8e24a51616c7a8be2a8e565124c
Parents: 81f3e75
Author: Ian Maxon <im...@apache.org>
Authored: Sun Dec 16 18:46:03 2018 -0800
Committer: Ian Maxon <im...@apache.org>
Committed: Mon Dec 17 10:27:00 2018 -0800
----------------------------------------------------------------------
.../asterix-app/src/main/resources/log4j2.xml | 11 ++++++++++
.../control/nc/NCLogConfigurationFactory.java | 22 +++++++++++++++-----
.../org/apache/hyracks/util/trace/Event.java | 6 +++++-
.../org/apache/hyracks/util/trace/Tracer.java | 16 +++++++-------
4 files changed, 41 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7b073680/asterixdb/asterix-app/src/main/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-app/src/main/resources/log4j2.xml b/asterixdb/asterix-app/src/main/resources/log4j2.xml
index 2ea8d4a..e54a424 100644
--- a/asterixdb/asterix-app/src/main/resources/log4j2.xml
+++ b/asterixdb/asterix-app/src/main/resources/log4j2.xml
@@ -19,6 +19,7 @@
<Configuration status="WARN">
<CustomLevels>
<CustomLevel name="ACCESS" intLevel="550" />
+ <CustomLevel name="TRACER" intLevel="570" />
</CustomLevels>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
@@ -27,6 +28,12 @@
<Console name="AccessLog" target="SYSTEM_OUT">
<PatternLayout pattern="%m%n"/>
</Console>
+ <Console name="TracerLog" target="SYSTEM_OUT">
+ <PatternLayout pattern="%m%n"/>
+ </Console>
+ <File name="TracerLogFile" fileName="target/tracer.log">
+ <PatternLayout pattern="%m,%n" header="[" footer="]"/>
+ </File>
</Appenders>
<Loggers>
<Root level="WARN">
@@ -36,5 +43,9 @@
<Logger name="org.apache.hyracks.http.server.CLFLogger" level="ACCESS" additivity="false">
<AppenderRef ref="AccessLog"/>
</Logger>
+ <Logger name="org.apache.hyracks.util.trace.Tracer.Traces" level="TRACER" additivity="false">
+ <AppenderRef ref="TracerLog"/>
+ <AppenderRef ref="TracerLogFile"/>
+ </Logger>
</Loggers>
</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7b073680/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCLogConfigurationFactory.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCLogConfigurationFactory.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCLogConfigurationFactory.java
index 41f8e7b..24c3dee 100644
--- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCLogConfigurationFactory.java
+++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NCLogConfigurationFactory.java
@@ -51,10 +51,12 @@ public class NCLogConfigurationFactory extends ConfigurationFactory {
ComponentBuilder triggeringPolicy = builder.newComponent("Policies")
.addComponent(builder.newComponent("CronTriggeringPolicy").addAttribute("schedule", "0 0 0 * * ?"))
.addComponent(builder.newComponent("SizeBasedTriggeringPolicy").addAttribute("size", "50M"));
- AppenderComponentBuilder defaultRoll = builder.newAppender("default", "RollingFile")
- .addAttribute("fileName", FileUtil.joinPath(logDir, "nc-" + nodeId + ".log"))
- .addAttribute("filePattern", FileUtil.joinPath(logDir, "nc-" + nodeId + "-%d{MM-dd-yy}.log.gz"))
- .add(defaultLayout).addComponent(triggeringPolicy);
+ AppenderComponentBuilder defaultRoll =
+ builder.newAppender("default", "RollingFile")
+ .addAttribute("fileName", FileUtil.joinPath(logDir, "nc-" + nodeId + ".log"))
+ .addAttribute("filePattern",
+ FileUtil.joinPath(logDir, "nc-" + nodeId + "-%d{MM-dd-yy-ss}.log.gz"))
+ .add(defaultLayout).addComponent(triggeringPolicy);
builder.add(defaultRoll);
// create the new logger
@@ -65,12 +67,22 @@ public class NCLogConfigurationFactory extends ConfigurationFactory {
builder.newAppender("access", "RollingFile")
.addAttribute("fileName", FileUtil.joinPath(logDir, "access-" + nodeId + ".log"))
.addAttribute("filePattern",
- FileUtil.joinPath(logDir, "access-" + nodeId + "-%d{MM-dd-yy}.log.gz"))
+ FileUtil.joinPath(logDir, "access-" + nodeId + "-%d{MM-dd-yy-ss}.log.gz"))
.add(accessLayout).addComponent(triggeringPolicy);
builder.add(accessRoll);
builder.add(builder.newLogger("org.apache.hyracks.http.server.CLFLogger", Level.forName("ACCESS", 550))
.add(builder.newAppenderRef("access")).addAttribute("additivity", false));
+ LayoutComponentBuilder traceLayout = builder.newLayout("PatternLayout").addAttribute("pattern", "%m,%n")
+ .addAttribute("header", "[").addAttribute("footer", "]");
+ AppenderComponentBuilder traceRoll = builder.newAppender("trace", "RollingFile")
+ .addAttribute("fileName", logDir + "trace-" + nodeId + ".log")
+ .addAttribute("filePattern", logDir + "trace-" + nodeId + "-%d{MM-dd-yy-ss}.log.gz").add(traceLayout)
+ .addComponent(triggeringPolicy);
+ builder.add(traceRoll);
+ builder.add(builder.newLogger("org.apache.hyracks.util.trace.Tracer.Traces", Level.forName("TRACER", 570))
+ .add(builder.newAppenderRef("trace")).addAttribute("additivity", false));
+
return builder.build();
}
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7b073680/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Event.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Event.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Event.java
index 3edba21..b5fe3d3 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Event.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Event.java
@@ -77,7 +77,11 @@ final class Event {
sb.append(",\"s\":\"").append(scope).append("\"");
}
if (args != null) {
- sb.append(",\"args\":").append(args);
+ if (args.isEmpty()) {
+ sb.append(",\"args\":").append("\"\"");
+ } else {
+ sb.append(",\"args\":").append(args);
+ }
}
sb.append("}");
return sb;
http://git-wip-us.apache.org/repos/asf/asterixdb/blob/7b073680/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Tracer.java
----------------------------------------------------------------------
diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Tracer.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Tracer.java
index 1e8af75..9019fdf 100644
--- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Tracer.java
+++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/trace/Tracer.java
@@ -34,20 +34,20 @@ import org.apache.logging.log4j.Logger;
*/
public class Tracer implements ITracer {
- public static final Logger LOGGER = LogManager.getLogger();
+ private static final Logger LOGGER = LogManager.getLogger();
- protected static final Level TRACE_LOG_LEVEL = Level.INFO;
- protected static final ThreadLocal<DateFormat> DATE_FORMAT =
+ private static final Level TRACE_LOG_LEVEL = Level.forName("TRACER", 570);
+ private static final ThreadLocal<DateFormat> DATE_FORMAT =
ThreadLocal.withInitial(() -> new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"));
- protected final Logger traceLog;
- protected long categories;
- protected TraceCategoryRegistry registry;
+ private final Logger traceLog;
+ private long categories;
+ private final TraceCategoryRegistry registry;
- protected static final int pid = PidHelper.getPid();
+ private static final int pid = PidHelper.getPid();
public Tracer(String name, long categories, TraceCategoryRegistry registry) {
- final String traceLoggerName = Tracer.class.getName() + "@" + name;
+ final String traceLoggerName = Tracer.class.getName() + ".Traces." + name;
LOGGER.info("Initialize Tracer " + traceLoggerName);
this.traceLog = LogManager.getLogger(traceLoggerName);
this.categories = categories;