From c6fe6f2f45a63e36375813e85ba49b891b198437 Mon Sep 17 00:00:00 2001 From: Alex Huang Date: Mon, 7 Feb 2011 12:50:03 -0800 Subject: [PATCH] Removed all the stats command/answer from debug logging --- api/src/com/cloud/agent/api/Command.java | 5 ++ .../cloud/agent/api/GetFileStatsAnswer.java | 10 ++-- .../cloud/agent/api/GetFileStatsCommand.java | 5 ++ .../cloud/agent/api/GetHostStatsAnswer.java | 5 ++ .../cloud/agent/api/GetHostStatsCommand.java | 6 ++- .../agent/api/GetStorageStatsAnswer.java | 6 +++ .../agent/api/GetStorageStatsCommand.java | 5 ++ .../com/cloud/agent/api/GetVmStatsAnswer.java | 5 ++ .../cloud/agent/api/GetVmStatsCommand.java | 7 ++- .../cloud/agent/api/NetworkUsageAnswer.java | 5 ++ .../cloud/agent/api/NetworkUsageCommand.java | 7 +-- .../com/cloud/agent/transport/Request.java | 44 +++++++++++------ .../com/cloud/agent/manager/AgentAttache.java | 49 ++++++++++--------- .../cloud/agent/manager/AgentManagerImpl.java | 10 ++-- .../agent/manager/ClusteredAgentAttache.java | 5 +- .../agent/manager/DirectAgentAttache.java | 7 +-- 16 files changed, 125 insertions(+), 56 deletions(-) diff --git a/api/src/com/cloud/agent/api/Command.java b/api/src/com/cloud/agent/api/Command.java index 68f492f972f..dee62e7a610 100755 --- a/api/src/com/cloud/agent/api/Command.java +++ b/api/src/com/cloud/agent/api/Command.java @@ -32,9 +32,14 @@ public abstract class Command { protected Command() { } + @Override public String toString() { return this.getClass().getSimpleName(); } public abstract boolean executeInSequence(); + + public boolean logTrace() { + return false; + } } diff --git a/api/src/com/cloud/agent/api/GetFileStatsAnswer.java b/api/src/com/cloud/agent/api/GetFileStatsAnswer.java index 9b8abd6ea6a..fdb168cec40 100755 --- a/api/src/com/cloud/agent/api/GetFileStatsAnswer.java +++ b/api/src/com/cloud/agent/api/GetFileStatsAnswer.java @@ -19,10 +19,6 @@ package com.cloud.agent.api; import com.cloud.storage.VolumeStats; -/** - * @author ahuang - * - */ public class GetFileStatsAnswer extends Answer implements VolumeStats { long size; protected GetFileStatsAnswer() { @@ -33,7 +29,13 @@ public class GetFileStatsAnswer extends Answer implements VolumeStats { size = value; } + @Override public long getBytesUsed() { return size; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetFileStatsCommand.java b/api/src/com/cloud/agent/api/GetFileStatsCommand.java index 97599447092..3584abb196f 100755 --- a/api/src/com/cloud/agent/api/GetFileStatsCommand.java +++ b/api/src/com/cloud/agent/api/GetFileStatsCommand.java @@ -37,4 +37,9 @@ public class GetFileStatsCommand extends Command { public boolean executeInSequence() { return false; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetHostStatsAnswer.java b/api/src/com/cloud/agent/api/GetHostStatsAnswer.java index 8d5a8ce152c..b52a4e04422 100755 --- a/api/src/com/cloud/agent/api/GetHostStatsAnswer.java +++ b/api/src/com/cloud/agent/api/GetHostStatsAnswer.java @@ -88,4 +88,9 @@ public class GetHostStatsAnswer extends Answer implements HostStats { public HostStats getHostStats() { return hostStats; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetHostStatsCommand.java b/api/src/com/cloud/agent/api/GetHostStatsCommand.java index 05ffe4a0652..7adc78f055b 100755 --- a/api/src/com/cloud/agent/api/GetHostStatsCommand.java +++ b/api/src/com/cloud/agent/api/GetHostStatsCommand.java @@ -17,7 +17,6 @@ */ package com.cloud.agent.api; -import java.util.List; public class GetHostStatsCommand extends Command { @@ -50,4 +49,9 @@ public class GetHostStatsCommand extends Command public boolean executeInSequence() { return false; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetStorageStatsAnswer.java b/api/src/com/cloud/agent/api/GetStorageStatsAnswer.java index f7eba8e7aa8..dff8b8e74e9 100755 --- a/api/src/com/cloud/agent/api/GetStorageStatsAnswer.java +++ b/api/src/com/cloud/agent/api/GetStorageStatsAnswer.java @@ -27,10 +27,12 @@ public class GetStorageStatsAnswer extends Answer implements StorageStats { protected long capacity; + @Override public long getByteUsed() { return used; } + @Override public long getCapacityBytes() { return capacity; } @@ -46,4 +48,8 @@ public class GetStorageStatsAnswer extends Answer implements StorageStats { super(cmd, false, details); } + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetStorageStatsCommand.java b/api/src/com/cloud/agent/api/GetStorageStatsCommand.java index e08ed9bf56d..5c5184c8065 100755 --- a/api/src/com/cloud/agent/api/GetStorageStatsCommand.java +++ b/api/src/com/cloud/agent/api/GetStorageStatsCommand.java @@ -63,4 +63,9 @@ public class GetStorageStatsCommand extends Command { public boolean executeInSequence() { return false; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetVmStatsAnswer.java b/api/src/com/cloud/agent/api/GetVmStatsAnswer.java index 0255a43884d..1a904d65728 100755 --- a/api/src/com/cloud/agent/api/GetVmStatsAnswer.java +++ b/api/src/com/cloud/agent/api/GetVmStatsAnswer.java @@ -36,4 +36,9 @@ public class GetVmStatsAnswer extends Answer { protected GetVmStatsAnswer() { //no-args constructor for json serialization-deserialization } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/GetVmStatsCommand.java b/api/src/com/cloud/agent/api/GetVmStatsCommand.java index 498c119c92a..887ef7956fc 100755 --- a/api/src/com/cloud/agent/api/GetVmStatsCommand.java +++ b/api/src/com/cloud/agent/api/GetVmStatsCommand.java @@ -19,8 +19,6 @@ package com.cloud.agent.api; import java.util.List; -import com.cloud.vm.VirtualMachine; - public class GetVmStatsCommand extends Command { List vmNames; String hostGuid; @@ -51,4 +49,9 @@ public class GetVmStatsCommand extends Command { public boolean executeInSequence() { return false; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/NetworkUsageAnswer.java b/api/src/com/cloud/agent/api/NetworkUsageAnswer.java index bf4a4d5a7a9..c381982d9f1 100644 --- a/api/src/com/cloud/agent/api/NetworkUsageAnswer.java +++ b/api/src/com/cloud/agent/api/NetworkUsageAnswer.java @@ -46,4 +46,9 @@ public class NetworkUsageAnswer extends Answer { public Long getBytesSent() { return bytesSent; } + + @Override + public boolean logTrace() { + return true; + } } diff --git a/api/src/com/cloud/agent/api/NetworkUsageCommand.java b/api/src/com/cloud/agent/api/NetworkUsageCommand.java index 43472fe4383..a645c9b255c 100644 --- a/api/src/com/cloud/agent/api/NetworkUsageCommand.java +++ b/api/src/com/cloud/agent/api/NetworkUsageCommand.java @@ -52,12 +52,13 @@ public class NetworkUsageCommand extends Command { return option; } - /** - * {@inheritDoc} - */ @Override public boolean executeInSequence() { return false; } + @Override + public boolean logTrace() { + return true; + } } \ No newline at end of file diff --git a/core/src/com/cloud/agent/transport/Request.java b/core/src/com/cloud/agent/transport/Request.java index c51353c5c5e..eb8cf304041 100755 --- a/core/src/com/cloud/agent/transport/Request.java +++ b/core/src/com/cloud/agent/transport/Request.java @@ -29,7 +29,6 @@ import com.cloud.agent.api.Answer; import com.cloud.agent.api.Command; import com.cloud.agent.api.SecStorageFirewallCfgCommand.PortConfig; import com.cloud.exception.UnsupportedVersionException; -import com.cloud.storage.VolumeVO; import com.cloud.utils.NumbersUtil; import com.cloud.utils.Pair; import com.cloud.utils.exception.CloudRuntimeException; @@ -93,8 +92,8 @@ public class Request { s_gBuilder = new GsonBuilder(); s_gBuilder.registerTypeAdapter(Command[].class, new ArrayTypeAdaptor()); s_gBuilder.registerTypeAdapter(Answer[].class, new ArrayTypeAdaptor()); - final Type listType = new TypeToken>() {}.getType(); - s_gBuilder.registerTypeAdapter(listType, new VolListTypeAdaptor()); +// final Type listType = new TypeToken>() {}.getType(); +// s_gBuilder.registerTypeAdapter(listType, new VolListTypeAdaptor()); s_gBuilder.registerTypeAdapter(new TypeToken>() {}.getType(), new PortConfigListTypeAdaptor()); s_gBuilder.registerTypeAdapter(new TypeToken>() {}.getType(), new NwGroupsCommandTypeAdaptor()); s_logger.info("Builder inited."); @@ -303,6 +302,34 @@ public class Request { protected short getFlags() { return (short)(((this instanceof Response) ? FLAG_RESPONSE : FLAG_REQUEST) | _flags); } + + public void log(long agentId, String msg) { + if (!s_logger.isDebugEnabled()) { + return; + } + + StringBuilder buf = new StringBuilder("Seq "); + buf.append(agentId).append("-").append(_seq).append(": "); + boolean debug = false; + if (_cmds != null) { + for (Command cmd : _cmds) { + if (!cmd.logTrace()) { + debug = true; + break; + } + } + } else { + debug = true; + } + + buf.append(msg).append(toString()); + + if (executeInSequence() || debug) { + s_logger.debug(buf.toString()); + } else { + s_logger.trace(buf.toString()); + } + } /** * Factory method for Request and Response. It expects the bytes to be @@ -392,10 +419,6 @@ public class Request { } public static class NwGroupsCommandTypeAdaptor implements JsonDeserializer>, JsonSerializer> { - static final GsonBuilder s_gBuilder; - static { - s_gBuilder = Request.initBuilder(); - } public NwGroupsCommandTypeAdaptor() { } @@ -445,12 +468,6 @@ public class Request { } public static class PortConfigListTypeAdaptor implements JsonDeserializer>, JsonSerializer> { - static final GsonBuilder s_gBuilder; - static { - s_gBuilder = Request.initBuilder(); - } - - static final Type listType = new TypeToken>() {}.getType(); public PortConfigListTypeAdaptor() { } @@ -487,6 +504,5 @@ public class Request { } return pcs; } - } } diff --git a/server/src/com/cloud/agent/manager/AgentAttache.java b/server/src/com/cloud/agent/manager/AgentAttache.java index 9703ac1666e..88d6bc024a7 100644 --- a/server/src/com/cloud/agent/manager/AgentAttache.java +++ b/server/src/com/cloud/agent/manager/AgentAttache.java @@ -227,13 +227,14 @@ public abstract class AgentAttache { } public boolean processAnswers(final long seq, final Response resp) { - if (s_logger.isDebugEnabled()) { - if (!resp.executeInSequence()) { - s_logger.debug(log(seq, "Processing: " + resp.toString())); - } else { - s_logger.trace(log(seq, "Processing: " + resp.toString())); - } - } + resp.log(_id, "Processing: "); +// if (s_logger.isDebugEnabled()) { +// if (!resp.executeInSequence()) { +// s_logger.debug(log(seq, "Processing: " + resp.toString())); +// } else { +// s_logger.trace(log(seq, "Processing: " + resp.toString())); +// } +// } final Answer[] answers = resp.getAnswers(); @@ -313,9 +314,10 @@ public abstract class AgentAttache { } if (req.executeInSequence() && _currentSequence != null) { - if (s_logger.isDebugEnabled()) { - s_logger.debug(log(seq, "Waiting for Seq " + _currentSequence + " Scheduling: " + req.toString())); - } + req.log(_id, "Waiting for Seq " + _currentSequence + " Scheduling: "); +// if (s_logger.isDebugEnabled()) { +// s_logger.debug(log(seq, "Waiting for Seq " + _currentSequence + " Scheduling: " + req.toString())); +// } addRequest(req); return; } @@ -323,9 +325,10 @@ public abstract class AgentAttache { // If we got to here either we're not suppose to set // the _currentSequence or it is null already. - if (s_logger.isDebugEnabled()) { - s_logger.debug(log(seq, "Sending " + req.toString())); - } + req.log(_id, "Sending "); +// if (s_logger.isDebugEnabled()) { +// s_logger.debug(log(seq, "Sending " + req.toString())); +// } send(req); if (req.executeInSequence() && _currentSequence == null) { @@ -362,14 +365,15 @@ public abstract class AgentAttache { } if (answers != null) { if (s_logger.isDebugEnabled()) { - if (req.executeInSequence()) { - s_logger.debug(log(seq, "Received: " + new Response(req, answers).toString())); - } else { - s_logger.debug(log(seq, "Received: ")); - if (s_logger.isTraceEnabled()) { - s_logger.trace(log(seq, "Received: " + new Response(req, answers).toString())); - } - } + new Response(req, answers).log(_id, "Received: "); +// if (req.executeInSequence()) { +// s_logger.debug(log(seq, "Received: " + new Response(req, answers).toString())); +// } else { +// s_logger.debug(log(seq, "Received: ")); +// if (s_logger.isTraceEnabled()) { +// s_logger.trace(log(seq, "Received: " + new Response(req, answers).toString())); +// } +// } } return answers; } @@ -377,7 +381,8 @@ public abstract class AgentAttache { answers = sl.getAnswers(); // Try it again. if (answers != null) { if (s_logger.isDebugEnabled()) { - s_logger.debug(log(seq, "Received after timeout: " + new Response(req, answers).toString())); + new Response(req, answers).log(_id, "Received after timeout: "); +// s_logger.debug(log(seq, "Received after timeout: " + new Response(req, answers).toString())); } return answers; } diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index 590bd65d93a..fc68160ebfc 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -1227,8 +1227,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, final AgentAttache agent = getAttache(hostId); if (agent == null || agent.isClosed()) { - throw new AgentUnavailableException( - "agent not logged into this management server", hostId); + throw new AgentUnavailableException("agent not logged into this management server", hostId); } long seq = _hostDao.getNextSequence(hostId); @@ -1684,9 +1683,10 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, AgentAttache attache = null; if (s_logger.isDebugEnabled()) { - s_logger.debug("Startup request from directly connected host: " - + new Request(0l, -1l, -1l, cmds, true, false, true) - .toString()); + new Request(0l, -1l, -1l, cmds, true, false, true).log(-1, "Startup request from directly connected host: "); +// s_logger.debug("Startup request from directly connected host: " +// + new Request(0l, -1l, -1l, cmds, true, false, true) +// .toString()); } try { attache = handleDirectConnect(resource, cmds, details, old); diff --git a/server/src/com/cloud/agent/manager/ClusteredAgentAttache.java b/server/src/com/cloud/agent/manager/ClusteredAgentAttache.java index ac4ab474a28..789ea2815d0 100644 --- a/server/src/com/cloud/agent/manager/ClusteredAgentAttache.java +++ b/server/src/com/cloud/agent/manager/ClusteredAgentAttache.java @@ -141,8 +141,9 @@ public class ClusteredAgentAttache extends ConnectedAgentAttache implements Rout s_logger.debug(log(seq, "Error on connecting to management node: " + req.toString() + " try = " + i)); } - if(s_logger.isInfoEnabled()) - s_logger.info("IOException " + e.getMessage() + " when sending data to peer " + peerName + ", close peer connection and let it re-open"); + if(s_logger.isInfoEnabled()) { + s_logger.info("IOException " + e.getMessage() + " when sending data to peer " + peerName + ", close peer connection and let it re-open"); + } } } } finally { diff --git a/server/src/com/cloud/agent/manager/DirectAgentAttache.java b/server/src/com/cloud/agent/manager/DirectAgentAttache.java index 77852190553..c3c88caa998 100644 --- a/server/src/com/cloud/agent/manager/DirectAgentAttache.java +++ b/server/src/com/cloud/agent/manager/DirectAgentAttache.java @@ -87,9 +87,10 @@ public class DirectAgentAttache extends AgentAttache { @Override public void send(Request req) throws AgentUnavailableException { - if (s_logger.isDebugEnabled()) { - s_logger.debug(log(req.getSequence(), "Executing " + req.toString())); - } + req.log(_id, "Executing: "); +// if (s_logger.isDebugEnabled()) { +// s_logger.debug(log(req.getSequence(), "Executing " + req.toString())); +// } if (req instanceof Response) { Response resp = (Response)req; Answer[] answers = resp.getAnswers();