提交 2caae110 编写于 作者: F Frankie Wu

upgrade to 0.2.2

上级 2b6f0e63
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.dianping.cat</groupId>
<artifactId>parent</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cat-consumer</artifactId>
......
package com.dianping.cat.consumer;
public class LogviewUploader {
}
......@@ -16,6 +16,7 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import com.dianping.cat.Cat;
import com.dianping.cat.consumer.logview.LogviewUploader;
import com.dianping.cat.message.Message;
import com.dianping.cat.message.MessageProducer;
import com.dianping.cat.message.Transaction;
......@@ -59,6 +60,9 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
@Inject
private AnalyzerFactory m_factory;
@Inject
private LogviewUploader m_uploader;
private ExecutorService m_executor;
private Set<String> m_domains = new HashSet<String>();
......@@ -208,10 +212,6 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
Cat.reset();
}
private void uploadLogviewBuckets(Set<String> domains) {
}
private void flushLogviewBuckets(Set<String> domains) {
BucketManager manager = lookup(BucketManager.class);
......@@ -262,6 +262,12 @@ public class RealtimeConsumer extends ContainerHolder implements MessageConsumer
m_executor.submit(task);
}
}
private void uploadLogviewBuckets(Set<String> domains) {
for (String domain : domains) {
m_uploader.upload(m_startTime, domain);
}
}
}
class PeriodManager extends Thread {
......
......@@ -17,6 +17,7 @@ import com.dianping.cat.consumer.dump.DumpChannelManager;
import com.dianping.cat.consumer.dump.DumpUploader;
import com.dianping.cat.consumer.event.EventAnalyzer;
import com.dianping.cat.consumer.ip.IpAnalyzer;
import com.dianping.cat.consumer.logview.LogviewUploader;
import com.dianping.cat.consumer.problem.ProblemAnalyzer;
import com.dianping.cat.consumer.problem.handler.ErrorHandler;
import com.dianping.cat.consumer.problem.handler.FailureHandler;
......@@ -40,44 +41,45 @@ public class ComponentsConfigurator extends AbstractResourceConfigurator {
all.add(C(AnalyzerFactory.class, DefaultAnalyzerFactory.class));
all.add(C(MessageConsumer.class, "realtime", RealtimeConsumer.class) //
.req(AnalyzerFactory.class) //
.config(E("extraTime").value(property("extraTime", "300000"))//
, E("analyzers").value("problem,transaction,event,ip,dump")));
.req(AnalyzerFactory.class, LogviewUploader.class) //
.config(E("extraTime").value(property("extraTime", "300000"))//
, E("analyzers").value("problem,transaction,event,ip,dump")));
String errorTypes = "Error,RuntimeException,Exception";
String failureTypes = "URL,SQL,Call,Cache";
all.add(C(Handler.class, ERROR.getName(), ErrorHandler.class)//
.config(E("errorType").value(errorTypes)));
.config(E("errorType").value(errorTypes)));
all.add(C(Handler.class, FAILURE.getName(), FailureHandler.class)//
.config(E("failureType").value(failureTypes)));
.config(E("failureType").value(failureTypes)));
all.add(C(Handler.class, LONG_URL.getName(), LongUrlHandler.class) //
.req(ServerConfigManager.class));
.req(ServerConfigManager.class));
all.add(C(ProblemAnalyzer.class).is(PER_LOOKUP) //
.req(Handler.class, new String[] { FAILURE.getName(), ERROR.getName(), LONG_URL.getName() }, "m_handlers") //
.req(BucketManager.class, ReportDao.class));
.req(Handler.class, new String[] { FAILURE.getName(), ERROR.getName(), LONG_URL.getName() }, "m_handlers") //
.req(BucketManager.class, ReportDao.class));
all.add(C(TransactionAnalyzer.class).is(PER_LOOKUP) //
.req(BucketManager.class, ReportDao.class));
.req(BucketManager.class, ReportDao.class));
all.add(C(EventAnalyzer.class).is(PER_LOOKUP) //
.req(BucketManager.class, ReportDao.class));
.req(BucketManager.class, ReportDao.class));
all.add(C(IpAnalyzer.class));
all.add(C(DumpAnalyzer.class).is(PER_LOOKUP) //
.req(MessagePathBuilder.class) //
.req(DumpChannelManager.class));
.req(MessagePathBuilder.class) //
.req(DumpChannelManager.class));
all.add(C(DumpChannel.class));
all.add(C(DumpChannelManager.class) //
.req(MessageCodec.class, "plain-text"));
.req(MessageCodec.class, "plain-text"));
all.add(C(LogviewUploader.class));
all.add(C(DumpUploader.class)//
.req(FileSystemManager.class)//
.req(FileSystemManager.class)//
);
return all;
......
package com.dianping.cat.consumer.logview;
import java.text.MessageFormat;
import java.util.Date;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
import com.dianping.cat.configuration.ServerConfigManager;
import com.dianping.cat.configuration.server.entity.ServerConfig;
import com.dianping.cat.message.spi.MessagePathBuilder;
import com.site.lookup.ContainerHolder;
import com.site.lookup.annotation.Inject;
public class LogviewUploader extends ContainerHolder implements Initializable {
@Inject
private MessagePathBuilder m_builder;
private String m_baseDir = "target/bucket/logview";
public void upload(long timestamp, String domain) {
MessageFormat format = new MessageFormat("{0,date,yyyyMMdd}/{1}");
String path = format.format(new Object[] { new Date(timestamp), domain });
}
@Override
public void initialize() throws InitializationException {
ServerConfigManager configManager = lookup(ServerConfigManager.class);
ServerConfig serverConfig = configManager.getServerConfig();
if (serverConfig != null) {
m_baseDir = serverConfig.getStorage().getLocalBaseDir();
}
}
}
......@@ -16,6 +16,9 @@
<requirement>
<role>com.dianping.cat.consumer.AnalyzerFactory</role>
</requirement>
<requirement>
<role>com.dianping.cat.consumer.logview.LogviewUploader</role>
</requirement>
</requirements>
</component>
<component>
......@@ -123,6 +126,10 @@
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.consumer.logview.LogviewUploader</role>
<implementation>com.dianping.cat.consumer.logview.LogviewUploader</implementation>
</component>
<component>
<role>com.dianping.cat.consumer.dump.DumpUploader</role>
<implementation>com.dianping.cat.consumer.dump.DumpUploader</implementation>
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.dianping.cat</groupId>
<artifactId>parent</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cat-core</artifactId>
......
......@@ -30,7 +30,7 @@ public class LocalMessageBucket implements Bucket<MessageTree> {
@Inject
private ServerConfigManager m_configManager;
private String m_baseDir = "target/bucket";
private String m_baseDir = "target/bucket/dump";
private ReentrantLock m_writeLock;
......
......@@ -33,7 +33,7 @@ public class LocalReportBucket implements Bucket<String>, LogEnabled {
@Inject
private ServerConfigManager m_configManager;
private String m_baseDir = "target/bucket";
private String m_baseDir = "target/bucket/report";
// key => offset of record
private Map<String, Long> m_idToOffsets = new HashMap<String, Long>();
......
<plexus>
<components>
<component>
<role>com.dianping.cat.configuration.ServerConfigManager</role>
<implementation>com.dianping.cat.configuration.ServerConfigManager</implementation>
</component>
<component>
<role>com.dianping.cat.message.io.InMemoryQueue</role>
<implementation>com.dianping.cat.message.io.InMemoryQueue</implementation>
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.dianping.cat</groupId>
<artifactId>parent</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cat-hadoop</artifactId>
......
<plexus>
<components>
<component>
<role>com.dianping.cat.configuration.ServerConfigManager</role>
<implementation>com.dianping.cat.configuration.ServerConfigManager</implementation>
</component>
<component>
<role>com.dianping.cat.hadoop.hdfs.FileSystemManager</role>
<implementation>com.dianping.cat.hadoop.hdfs.FileSystemManager</implementation>
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.dianping.cat</groupId>
<artifactId>parent</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cat-home</artifactId>
......
......@@ -297,6 +297,18 @@
<requirement>
<role>com.dianping.cat.consumer.AnalyzerFactory</role>
</requirement>
<requirement>
<role>com.dianping.cat.consumer.logview.LogviewUploader</role>
</requirement>
</requirements>
</component>
<component>
<role>com.dianping.cat.consumer.logview.LogviewUploader</role>
<implementation>com.dianping.cat.consumer.logview.LogviewUploader</implementation>
<requirements>
<requirement>
<role>com.dianping.cat.message.spi.MessagePathBuilder</role>
</requirement>
</requirements>
</component>
<component>
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>com.dianping.cat</groupId>
<artifactId>parent</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cat-job</artifactId>
......
......@@ -4,37 +4,37 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.dianping.cat</groupId>
<artifactId>parent</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
<name>Tracking</name>
<packaging>pom</packaging>
<modules>
<module>cat-core</module>
<module>cat-hadoop</module>
<module>cat-consumer</module>
<module>cat-home</module>
<module>cat-job</module>
<module>cat-home</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-core</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</dependency>
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-hadoop</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</dependency>
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-consumer</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</dependency>
<dependency>
<groupId>com.dianping.cat</groupId>
<artifactId>cat-job</artifactId>
<version>0.2.1</version>
<version>0.2.2</version>
</dependency>
<dependency>
<groupId>com.site.common</groupId>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册