You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by ol...@apache.org on 2014/03/03 00:02:02 UTC
svn commit: r1573397 - in /incubator/sirona/trunk: ./
agent/store/cube/src/main/java/org/apache/sirona/cube/
agent/store/cube/src/test/resources/
core/src/main/java/org/apache/sirona/configuration/ioc/
core/src/main/java/org/apache/sirona/store/ core/s...
Author: olamy
Date: Sun Mar 2 23:02:01 2014
New Revision: 1573397
URL: http://svn.apache.org/r1573397
Log:
store path tracking via collector/cube
Added:
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java (with props)
Removed:
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DefaultCollectorPathTrackingDataStore.java
Modified:
incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/Cube.java
incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubePathTrackingDataStore.java
incubator/sirona/trunk/agent/store/cube/src/test/resources/sirona.properties
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/configuration/ioc/IoCs.java
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/CollectorDataStoreFactory.java
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/gauge/DelegatedCollectorGaugeDataStore.java
incubator/sirona/trunk/pom.xml
incubator/sirona/trunk/server/collector/pom.xml
incubator/sirona/trunk/server/collector/src/main/java/org/apache/sirona/collector/server/Collector.java
incubator/sirona/trunk/server/collector/src/test/resources/sirona.properties
incubator/sirona/trunk/server/reporting/pom.xml
incubator/sirona/trunk/server/store/cassandra/pom.xml
Modified: incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/Cube.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/Cube.java?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/Cube.java (original)
+++ incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/Cube.java Sun Mar 2 23:02:01 2014
@@ -242,29 +242,28 @@ public class Cube {
return events;
}
- public StringBuilder pathTrackingSnapshot( final ConcurrentMap<String, Set<PathTrackingEntry>> pathTrackingEntries ) {
+ public StringBuilder pathTrackingSnapshot( Collection<PathTrackingEntry> pathTrackingEntries ) {
final StringBuilder events = newEventStream();
final long ts = System.currentTimeMillis();
- for (final Map.Entry<String, Set<PathTrackingEntry>> entry : pathTrackingEntries.entrySet() ) {
- for (PathTrackingEntry pathTrackingEntry : entry.getValue()){
+ for (PathTrackingEntry pathTrackingEntry : pathTrackingEntries){
- buildEvent( events, PATHTRACKING_TYPE, ts, new MapBuilder()
- .add( TRACKING_D, pathTrackingEntry.getTrackingId() )
- .add( NODE_ID, pathTrackingEntry.getNodeId() )
- .add( CLASSNAME, pathTrackingEntry.getClassName())
- .add( METHOD_NAME, pathTrackingEntry.getMethodName())
- .add( START_TIME, pathTrackingEntry.getStartTime())
- .add( EXEC_TIME, pathTrackingEntry.getExecutionTime())
- .add( LEVEL, pathTrackingEntry.getLevel())
- .map()
- );
-
- }
+ buildEvent( events, PATHTRACKING_TYPE, ts, new MapBuilder()
+ .add( TRACKING_D, pathTrackingEntry.getTrackingId() )
+ .add( NODE_ID, pathTrackingEntry.getNodeId() )
+ .add( CLASSNAME, pathTrackingEntry.getClassName())
+ .add( METHOD_NAME, pathTrackingEntry.getMethodName())
+ .add( START_TIME, pathTrackingEntry.getStartTime())
+ .add( EXEC_TIME, pathTrackingEntry.getExecutionTime())
+ .add( LEVEL, pathTrackingEntry.getLevel())
+ .map()
+ );
}
+
+
return events;
}
Modified: incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubePathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubePathTrackingDataStore.java?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubePathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/agent/store/cube/src/main/java/org/apache/sirona/cube/CubePathTrackingDataStore.java Sun Mar 2 23:02:01 2014
@@ -22,6 +22,7 @@ import org.apache.sirona.store.tracking.
import org.apache.sirona.store.tracking.CollectorPathTrackingDataStore;
import org.apache.sirona.tracking.PathTrackingEntry;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentMap;
@@ -36,7 +37,10 @@ public class CubePathTrackingDataStore
@Override
protected void pushEntriesByBatch( ConcurrentMap<String, Set<PathTrackingEntry>> pathTrackingEntries ) {
- cube.post( cube.pathTrackingSnapshot( pathTrackingEntries ) );
+ for ( Map.Entry<String, Set<PathTrackingEntry>> entry : pathTrackingEntries.entrySet())
+ {
+ cube.post( cube.pathTrackingSnapshot( entry.getValue() ) );
+ }
}
Modified: incubator/sirona/trunk/agent/store/cube/src/test/resources/sirona.properties
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/store/cube/src/test/resources/sirona.properties?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/store/cube/src/test/resources/sirona.properties (original)
+++ incubator/sirona/trunk/agent/store/cube/src/test/resources/sirona.properties Sun Mar 2 23:02:01 2014
@@ -19,3 +19,8 @@ org.apache.sirona.cube.period = 100
org.apache.sirona.cube.CubeBuilder.collector = http://localhost:1234/1.0/event/put
org.apache.sirona.core.gauge.activated = false
+
+
+org.apache.sirona.store.tracking.CollectorPathTrackingDataStore = org.apache.sirona.store.tracking.InMemoryPathTrackingDataStore
+
+org.apache.sirona.store.tracking.PathTrackingDataStore = org.apache.sirona.store.tracking.InMemoryPathTrackingDataStore
\ No newline at end of file
Modified: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/configuration/ioc/IoCs.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/configuration/ioc/IoCs.java?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/configuration/ioc/IoCs.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/configuration/ioc/IoCs.java Sun Mar 2 23:02:01 2014
@@ -79,7 +79,7 @@ public final class IoCs {
SINGLETONS.put(clazz, t);
return t;
} catch (final Exception e) {
- throw new SironaException(e.getMessage(),e);
+ throw new SironaException("Cannot find instance for class " + clazz.getName() + " : " + e.getMessage(),e);
}
}
Modified: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/CollectorDataStoreFactory.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/CollectorDataStoreFactory.java?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/CollectorDataStoreFactory.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/CollectorDataStoreFactory.java Sun Mar 2 23:02:01 2014
@@ -19,6 +19,7 @@ package org.apache.sirona.store;
import org.apache.sirona.store.counter.InMemoryCollectorCounterStore;
import org.apache.sirona.store.gauge.DelegatedCollectorGaugeDataStore;
import org.apache.sirona.store.status.InMemoryCollectorNodeStatusDataStore;
+import org.apache.sirona.store.tracking.DelegatedCollectorPathTrackingDataStore;
import org.apache.sirona.store.tracking.InMemoryPathTrackingDataStore;
public class CollectorDataStoreFactory
@@ -29,6 +30,6 @@ public class CollectorDataStoreFactory
super( new InMemoryCollectorCounterStore(), //
new DelegatedCollectorGaugeDataStore(), //
new InMemoryCollectorNodeStatusDataStore(), //
- new InMemoryPathTrackingDataStore() );
+ new DelegatedCollectorPathTrackingDataStore() );
}
}
Modified: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/gauge/DelegatedCollectorGaugeDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/gauge/DelegatedCollectorGaugeDataStore.java?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/gauge/DelegatedCollectorGaugeDataStore.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/gauge/DelegatedCollectorGaugeDataStore.java Sun Mar 2 23:02:01 2014
@@ -41,7 +41,7 @@ public class DelegatedCollectorGaugeData
DelegatedCollectorGaugeDataStore.class.getClassLoader().loadClass( // use this classloader and not TCCL to avoid issues
Configuration.getProperty(Configuration.CONFIG_PROPERTY_PREFIX + "collector.gauge.store-class", InMemoryGaugeDataStore.class.getName())));
} catch (final ClassNotFoundException e) {
- throw new SironaException(e);
+ throw new SironaException(e.getMessage(),e);
}
}
Added: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java?rev=1573397&view=auto
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java (added)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java Sun Mar 2 23:02:01 2014
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sirona.store.tracking;
+
+import org.apache.sirona.configuration.ioc.IoCs;
+import org.apache.sirona.tracking.PathTrackingEntry;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ *
+ */
+public class DelegatedCollectorPathTrackingDataStore
+ implements CollectorPathTrackingDataStore
+{
+ private final PathTrackingDataStore delegatedPathTrackingDataStore;
+
+
+ public DelegatedCollectorPathTrackingDataStore()
+ {
+ this.delegatedPathTrackingDataStore = IoCs.findOrCreateInstance( PathTrackingDataStore.class );
+ }
+
+
+ @Override
+ public void store( PathTrackingEntry pathTrackingEntry )
+ {
+ this.delegatedPathTrackingDataStore.store( pathTrackingEntry );
+ }
+
+ @Override
+ public void store( Collection<PathTrackingEntry> pathTrackingEntries )
+ {
+ this.delegatedPathTrackingDataStore.store( pathTrackingEntries );
+ }
+
+ @Override
+ public void clearEntries()
+ {
+ this.delegatedPathTrackingDataStore.clearEntries();
+ }
+
+ @Override
+ public Collection<PathTrackingEntry> retrieve( String trackingId )
+ {
+ return this.delegatedPathTrackingDataStore.retrieve( trackingId );
+ }
+
+ @Override
+ public Collection<String> retrieveTrackingIds( Date startTime, Date endTime )
+ {
+ return this.delegatedPathTrackingDataStore.retrieveTrackingIds( startTime, endTime );
+ }
+}
Propchange: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: incubator/sirona/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/pom.xml?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/pom.xml (original)
+++ incubator/sirona/trunk/pom.xml Sun Mar 2 23:02:01 2014
@@ -236,6 +236,12 @@
<version>2.1</version>
</plugin>
+ <plugin>
+ <groupId>org.apache.tomcat.maven</groupId>
+ <artifactId>tomcat7-maven-plugin</artifactId>
+ <version>2.2</version>
+ </plugin>
+
</plugins>
</pluginManagement>
<plugins>
@@ -387,6 +393,13 @@
<artifactId>sirona-web</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.9</version>
+ </dependency>
+
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
Modified: incubator/sirona/trunk/server/collector/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/collector/pom.xml?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/server/collector/pom.xml (original)
+++ incubator/sirona/trunk/server/collector/pom.xml Sun Mar 2 23:02:01 2014
@@ -28,6 +28,11 @@
<name>Apache Sirona Incubator :: Server :: Collector</name>
<packaging>war</packaging>
+ <properties>
+ <tomcatRunPort>9090</tomcatRunPort>
+ <tomcatRunPath>/sirona-collector</tomcatRunPath>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
@@ -51,7 +56,6 @@
<version>2.2.2</version>
</dependency>
-
<dependency>
<groupId>org.apache.sirona</groupId>
<artifactId>sirona-cube</artifactId>
@@ -88,6 +92,29 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.tomcat.maven</groupId>
+ <artifactId>tomcat7-maven-plugin</artifactId>
+ <configuration>
+ <port>${tomcatRunPort}</port>
+ <path>${tomcatRunPath}</path>
+ <systemProperties>
+ <org.apache.sirona.configuration.sirona.properties>${basedir}/sirona.properties</org.apache.sirona.configuration.sirona.properties>
+ </systemProperties>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.sirona</groupId>
+ <artifactId>sirona-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sirona</groupId>
+ <artifactId>sirona-cassandra</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </plugin>
</plugins>
<pluginManagement>
<plugins>
Modified: incubator/sirona/trunk/server/collector/src/main/java/org/apache/sirona/collector/server/Collector.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/collector/src/main/java/org/apache/sirona/collector/server/Collector.java?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/server/collector/src/main/java/org/apache/sirona/collector/server/Collector.java (original)
+++ incubator/sirona/trunk/server/collector/src/main/java/org/apache/sirona/collector/server/Collector.java Sun Mar 2 23:02:01 2014
@@ -134,7 +134,8 @@ public class Collector extends HttpServl
// TODO validation
}
- this.mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false).configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS, true);
+ this.mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) //
+ .configure(JsonParser.Feature.ALLOW_NON_NUMERIC_NUMBERS, true);
{ // pulling
{
@@ -187,7 +188,9 @@ public class Collector extends HttpServl
}
@Override
- protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException {
+ protected void doPost(final HttpServletRequest req, final HttpServletResponse resp)
+ throws ServletException, IOException {
+
final ServletInputStream inputStream = req.getInputStream();
try {
slurpEvents(inputStream);
@@ -265,8 +268,12 @@ public class Collector extends HttpServl
if (collectionFuture == null) {
synchronized (this) {
if (collectionFuture == null) {
- final ScheduledExecutorService ses = Executors.newSingleThreadScheduledExecutor(new DaemonThreadFactory("collector-pull-schedule"));
- final ScheduledFuture<?> future = ses.scheduleAtFixedRate(new CollectTask(), collectionPeriod, collectionPeriod, TimeUnit.MILLISECONDS);
+ final ScheduledExecutorService ses =
+ Executors.newSingleThreadScheduledExecutor(new DaemonThreadFactory("collector-pull-schedule"));
+ final ScheduledFuture<?> future = ses.scheduleAtFixedRate(new CollectTask(), //
+ collectionPeriod, //
+ collectionPeriod, //
+ TimeUnit.MILLISECONDS);
collectionFuture = new BatchFuture(ses, future);
}
}
Modified: incubator/sirona/trunk/server/collector/src/test/resources/sirona.properties
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/collector/src/test/resources/sirona.properties?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/server/collector/src/test/resources/sirona.properties (original)
+++ incubator/sirona/trunk/server/collector/src/test/resources/sirona.properties Sun Mar 2 23:02:01 2014
@@ -20,3 +20,7 @@ org.apache.sirona.cube.CubeBuilder.colle
org.apache.sirona.cube.CubeBuilder.marker = local
org.apache.sirona.core.gauge.activated = false
+
+org.apache.sirona.store.tracking.CollectorPathTrackingDataStore = org.apache.sirona.store.tracking.InMemoryPathTrackingDataStore
+
+org.apache.sirona.store.tracking.PathTrackingDataStore = org.apache.sirona.store.tracking.InMemoryPathTrackingDataStore
\ No newline at end of file
Modified: incubator/sirona/trunk/server/reporting/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/pom.xml?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/pom.xml (original)
+++ incubator/sirona/trunk/server/reporting/pom.xml Sun Mar 2 23:02:01 2014
@@ -31,6 +31,7 @@
<properties>
<tomcatRunPort>8080</tomcatRunPort>
<tomcatRunPath>/sirona</tomcatRunPath>
+ <sirona.reporting.tomcat.skip>false</sirona.reporting.tomcat.skip>
</properties>
<dependencies>
@@ -61,7 +62,6 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.8</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
@@ -126,10 +126,10 @@
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
- <version>2.2</version>
<configuration>
<port>${tomcatRunPort}</port>
<path>${tomcatRunPath}</path>
+ <skip>${sirona.reporting.tomcat.skip}</skip>
</configuration>
<dependencies>
<dependency>
Modified: incubator/sirona/trunk/server/store/cassandra/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/pom.xml?rev=1573397&r1=1573396&r2=1573397&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/pom.xml (original)
+++ incubator/sirona/trunk/server/store/cassandra/pom.xml Sun Mar 2 23:02:01 2014
@@ -56,7 +56,6 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.9</version>
</dependency>
<dependency>