diff --git a/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java b/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java index faf04cfe8905ede910f76ca9359f40e74bf7e813..0845e702ebe58e0c7f13c596bccf8f75a414f988 100644 --- a/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java +++ b/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpAnalyzer.java @@ -20,7 +20,7 @@ import com.dianping.cat.message.internal.MessageId; import com.dianping.cat.message.spi.AbstractMessageAnalyzer; import com.dianping.cat.message.spi.MessagePathBuilder; import com.dianping.cat.message.spi.MessageTree; -import com.dianping.cat.storage.dump.DumpTreeItem; +import com.dianping.cat.storage.dump.DumpItem; import com.dianping.cat.storage.dump.LocalMessageBucketManager; import com.dianping.cat.storage.dump.MessageBucketManager; import com.site.helper.Threads; @@ -47,7 +47,7 @@ public class DumpAnalyzer extends AbstractMessageAnalyzer implements Ini private Logger m_logger; - private final BlockingQueue m_queue = new LinkedBlockingQueue(10000); + private final BlockingQueue m_storeQueue = new LinkedBlockingQueue(10000); private int m_errors; @@ -122,8 +122,9 @@ public class DumpAnalyzer extends AbstractMessageAnalyzer implements Ini } } else { try { - DumpTreeItem item = m_bucketManager.getStoreMeta(tree); - boolean result = m_queue.offer(item); + DumpItem item = m_bucketManager.buildStoreMetaInfo(tree); + boolean result = m_storeQueue.offer(item); + if (!result) { m_errors++; @@ -131,7 +132,7 @@ public class DumpAnalyzer extends AbstractMessageAnalyzer implements Ini m_logger.error("Error when put dump item into queue, errors:" + m_errors); } } - // m_bucketManager.storeMessage(tree); + //m_bucketManager.storeMessage(tree); } catch (IOException e) { m_logger.error("Error when dumping to local file system!", e); } @@ -164,7 +165,7 @@ public class DumpAnalyzer extends AbstractMessageAnalyzer implements Ini // long current = System.currentTimeMillis(); while (true) { try { - DumpTreeItem item = m_queue.poll(5, TimeUnit.MILLISECONDS); + DumpItem item = m_storeQueue.poll(5, TimeUnit.MILLISECONDS); if (item != null) { m_bucketManager.storeMessage(item); diff --git a/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpChannel.java b/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpChannel.java index 91a5a9528dba93c03d533250fc0500e32969cc08..966330126e8cf21eb3a69808a6599b73b01c2f60 100644 --- a/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpChannel.java +++ b/cat-consumer/src/main/java/com/dianping/cat/consumer/dump/DumpChannel.java @@ -75,24 +75,6 @@ public class DumpChannel { m_lastChunkAdjust = lastChunkAdjust; } - public int write(ChannelBuffer buf) throws IOException{ - int length = buf.readInt(); - long count = m_file.length(); - - if (m_maxSize > 0 && count + m_lastChunkAdjust + length > m_maxSize) { - // exceed the max size - return 0; - } - - buf.getBytes(buf.readerIndex(), m_out, length); - - // a blank line used to separate two message trees - m_out.write('\n'); - //m_out.flush(); - - return length + 1; - } - public int write(MessageTree tree) throws IOException { ChannelBuffer buf = ChannelBuffers.dynamicBuffer(8192); diff --git a/cat-core/src/main/java/com/dianping/cat/storage/dump/DumpTreeItem.java b/cat-core/src/main/java/com/dianping/cat/storage/dump/DumpItem.java similarity index 76% rename from cat-core/src/main/java/com/dianping/cat/storage/dump/DumpTreeItem.java rename to cat-core/src/main/java/com/dianping/cat/storage/dump/DumpItem.java index 93a24205ed7616be7377755837bbd4b0549e3bb3..45ed4d18feae0c4fe7794ab9273ae519483eea90 100644 --- a/cat-core/src/main/java/com/dianping/cat/storage/dump/DumpTreeItem.java +++ b/cat-core/src/main/java/com/dianping/cat/storage/dump/DumpItem.java @@ -1,7 +1,7 @@ package com.dianping.cat.storage.dump; -public class DumpTreeItem { +public class DumpItem { private int m_index; @@ -15,7 +15,7 @@ public class DumpTreeItem { return m_index; } - public DumpTreeItem setIndex(int index) { + public DumpItem setIndex(int index) { m_index = index; return this; } @@ -24,7 +24,7 @@ public class DumpTreeItem { return m_fileName; } - public DumpTreeItem setFileName(String fileName) { + public DumpItem setFileName(String fileName) { m_fileName = fileName; return this; } @@ -33,7 +33,7 @@ public class DumpTreeItem { return m_size; } - public DumpTreeItem setSize(int size) { + public DumpItem setSize(int size) { m_size = size; return this; } diff --git a/cat-core/src/main/java/com/dianping/cat/storage/dump/LocalMessageBucketManager.java b/cat-core/src/main/java/com/dianping/cat/storage/dump/LocalMessageBucketManager.java index 490043081645674a4bc4cfb13622390aaa71be80..c869fdc5e073196848cba7b436943d450c905ed3 100644 --- a/cat-core/src/main/java/com/dianping/cat/storage/dump/LocalMessageBucketManager.java +++ b/cat-core/src/main/java/com/dianping/cat/storage/dump/LocalMessageBucketManager.java @@ -168,8 +168,8 @@ public class LocalMessageBucketManager extends ContainerHolder implements Messag m_baseDir = baseDir; } - public DumpTreeItem getStoreMeta(MessageTree tree) throws IOException { - DumpTreeItem item = new DumpTreeItem(); + public DumpItem buildStoreMetaInfo(MessageTree tree) throws IOException { + DumpItem item = new DumpItem(); MessageId messageId = MessageId.parse(tree.getMessageId()); int index = messageId.getIndex(); @@ -206,12 +206,14 @@ public class LocalMessageBucketManager extends ContainerHolder implements Messag private ChannelBuffer getChannelBuf(int index,String fileName, MessageTree tree) throws IOException { LocalMessageBucket bucket = m_buckets.get(fileName); + return bucket.getChannelBuf(tree); } - public void storeMessage(DumpTreeItem item) throws IOException{ + public void storeMessage(DumpItem item) throws IOException{ LocalMessageBucket bucket = m_buckets.get(item.getFileName()); - bucket.storeChannelBuf(item.getIndex(), item.getSize(),item.getBytes()); + + bucket.storeChannelBuf(item.getIndex(), item.getSize(), item.getBytes()); } @Override diff --git a/cat-home/src/main/webapp/jsp/report/home.jsp b/cat-home/src/main/webapp/jsp/report/home.jsp index 05eadac375150ad4b5cbf5c41d20192db1b66a78..758984339f818154240d699725c0de5bbe86c78c 100755 --- a/cat-home/src/main/webapp/jsp/report/home.jsp +++ b/cat-home/src/main/webapp/jsp/report/home.jsp @@ -37,9 +37,11 @@ Welcome to Central Application Tracking (CAT).

- - - + + + + +
序号常见问题
1Transaction、Event历史报表,图表X轴以5分钟为刻度,Y轴表示每5分钟的值
2Problem、Heartbeat历史报表,图表X轴以1分钟为刻度,Y轴表示每1分钟的值
序号常见问题解答
1TestCase跑不起来升级至CAT的0.4.0的版本,Pigeon版本至1.6.1
2集成了CAT,但是在测试环境看不到信息请check相关步骤CAT集成帮助文档
3Transaction、Event报表区间Transaction、Event历史报表,图表X轴以5分钟为刻度,Y轴表示每5分钟的值
4Problem、Hearbeat报表区间Problem、Heartbeat历史报表,图表X轴以1分钟为刻度,Y轴表示每1分钟的值