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/18 01:30:21 UTC
svn commit: r1578684 - in /incubator/sirona/trunk:
core/src/main/java/org/apache/sirona/store/tracking/
core/src/main/java/org/apache/sirona/tracking/ server/reporting/
server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/pathtracking/...
Author: olamy
Date: Tue Mar 18 00:30:20 2014
New Revision: 1578684
URL: http://svn.apache.org/r1578684
Log:
add a bean to have information on Path tracking
Added:
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java (with props)
Modified:
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/InMemoryPathTrackingDataStore.java
incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/PathTrackingDataStore.java
incubator/sirona/trunk/server/reporting/pom.xml
incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/pathtracking/PathTrackingEndpoints.java
incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/template/Templates.java
incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/home.vm
incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/pathtrackingdetail.vm
incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java
incubator/sirona/trunk/server/store/cassandra/src/test/java/org/apache/sirona/cassandra/local/PathTrackingDataStoreTest.java
Modified: 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=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/DelegatedCollectorPathTrackingDataStore.java Tue Mar 18 00:30:20 2014
@@ -17,6 +17,7 @@
package org.apache.sirona.store.tracking;
import org.apache.sirona.configuration.ioc.IoCs;
+import org.apache.sirona.tracking.PathCallInformation;
import org.apache.sirona.tracking.PathTrackingEntry;
import java.util.Collection;
@@ -62,7 +63,7 @@ public class DelegatedCollectorPathTrack
}
@Override
- public Collection<String> retrieveTrackingIds( Date startTime, Date endTime )
+ public Collection<PathCallInformation> retrieveTrackingIds( Date startTime, Date endTime )
{
return this.delegatedPathTrackingDataStore.retrieveTrackingIds( startTime, endTime );
}
Modified: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/InMemoryPathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/InMemoryPathTrackingDataStore.java?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/InMemoryPathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/InMemoryPathTrackingDataStore.java Tue Mar 18 00:30:20 2014
@@ -16,6 +16,7 @@
*/
package org.apache.sirona.store.tracking;
+import org.apache.sirona.tracking.PathCallInformation;
import org.apache.sirona.tracking.PathTrackingEntry;
import org.apache.sirona.tracking.PathTrackingEntryComparator;
import org.apache.sirona.util.SerializeUtils;
@@ -102,9 +103,9 @@ public class InMemoryPathTrackingDataSto
}
@Override
- public Collection<String> retrieveTrackingIds( Date startTime, Date endTime )
+ public Collection<PathCallInformation> retrieveTrackingIds( Date startTime, Date endTime )
{
- List<String> trackingIds = new ArrayList<String>();
+ Set<PathCallInformation> trackingIds = new TreeSet<PathCallInformation>( PathCallInformation.COMPARATOR );
for ( List<Pointer> buffers : this.pathTrackingEntries.values() )
{
if ( pathTrackingEntries.isEmpty() )
@@ -118,7 +119,8 @@ public class InMemoryPathTrackingDataSto
if ( first.getStartTime() / 1000000 > startTime.getTime() //
&& first.getStartTime() / 1000000 < endTime.getTime() )
{
- trackingIds.add( first.getTrackingId() );
+ trackingIds.add(
+ new PathCallInformation( first.getTrackingId(), new Date( startTime.getTime() / 1000000 ) ) );
}
}
return trackingIds;
@@ -233,7 +235,7 @@ public class InMemoryPathTrackingDataSto
}
}
- for (String key : entriesToRemove)
+ for ( String key : entriesToRemove )
{
pathTrackingEntries.remove( key );
}
Modified: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/PathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/PathTrackingDataStore.java?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/PathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/store/tracking/PathTrackingDataStore.java Tue Mar 18 00:30:20 2014
@@ -16,6 +16,7 @@
*/
package org.apache.sirona.store.tracking;
+import org.apache.sirona.tracking.PathCallInformation;
import org.apache.sirona.tracking.PathTrackingEntry;
import java.util.Collection;
@@ -44,9 +45,9 @@ public interface PathTrackingDataStore
/**
* @param startTime
* @param endTime
- * @return {@link java.lang.String} of all trackingIds available in the system between startTime and endTime
+ * @return {@link org.apache.sirona.tracking.PathCallInformation} of all trackingIds available in the system between startTime and endTime
*/
- Collection<String> retrieveTrackingIds( Date startTime, Date endTime );
+ Collection<PathCallInformation> retrieveTrackingIds( Date startTime, Date endTime );
Added: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java?rev=1578684&view=auto
==============================================================================
--- incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java (added)
+++ incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java Tue Mar 18 00:30:20 2014
@@ -0,0 +1,87 @@
+/*
+ * 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.tracking;
+
+import java.io.Serializable;
+import java.util.Comparator;
+import java.util.Date;
+
+/**
+ *
+ */
+public class PathCallInformation
+ implements Serializable
+{
+
+ // use a default value here
+ private static final long serialVersionUID = 4L;
+
+ private String trackingId;
+
+ /**
+ * start time for the path in in nano seconds
+ */
+ private Date startTime;
+
+ public PathCallInformation( String trackingId, Date startTime )
+ {
+ this.trackingId = trackingId;
+ this.startTime = startTime;
+ }
+
+ public String getTrackingId()
+ {
+ return trackingId;
+ }
+
+ public void setTrackingId( String trackingId )
+ {
+ this.trackingId = trackingId;
+ }
+
+ public Date getStartTime()
+ {
+ return startTime;
+ }
+
+ public void setStartTime( Date startTime )
+ {
+ this.startTime = startTime;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "PathCallInformation{" +
+ "trackingId='" + trackingId + '\'' +
+ ", startTime=" + startTime +
+ '}';
+ }
+
+ /**
+ * start time comparaison
+ */
+ public static final Comparator<PathCallInformation> COMPARATOR = new Comparator<PathCallInformation>()
+ {
+ @Override
+ public int compare( PathCallInformation o1, PathCallInformation o2 )
+ {
+ return o1.getStartTime().compareTo( o2.getStartTime() );
+ }
+ };
+}
Propchange: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/sirona/trunk/core/src/main/java/org/apache/sirona/tracking/PathCallInformation.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: incubator/sirona/trunk/server/reporting/pom.xml
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/pom.xml?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/pom.xml (original)
+++ incubator/sirona/trunk/server/reporting/pom.xml Tue Mar 18 00:30:20 2014
@@ -69,6 +69,17 @@
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity-tools</artifactId>
+ <version>2.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>junit</groupId>
Modified: incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/pathtracking/PathTrackingEndpoints.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/pathtracking/PathTrackingEndpoints.java?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/pathtracking/PathTrackingEndpoints.java (original)
+++ incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/plugin/pathtracking/PathTrackingEndpoints.java Tue Mar 18 00:30:20 2014
@@ -22,6 +22,7 @@ import org.apache.sirona.reporting.web.p
import org.apache.sirona.reporting.web.plugin.api.Template;
import org.apache.sirona.reporting.web.plugin.report.format.HTMLFormat;
import org.apache.sirona.store.tracking.PathTrackingDataStore;
+import org.apache.sirona.tracking.PathCallInformation;
import org.apache.sirona.tracking.PathTrackingEntry;
import org.apache.sirona.util.Environment;
@@ -53,9 +54,10 @@ public class PathTrackingEndpoints
Calendar cal = Calendar.getInstance();
cal.add( Calendar.DATE, -1 );
- Collection<String> ids = PATH_TRACKING_DATA_STORE.retrieveTrackingIds( cal.getTime(), new Date() );
+ Collection<PathCallInformation> pathCallInformations =
+ PATH_TRACKING_DATA_STORE.retrieveTrackingIds( cal.getTime(), new Date() );
- params.put( "trackingIds", ids );
+ params.put( "pathCallInformations", pathCallInformations );
return new Template( "pathtracking/home.vm", params );
}
@@ -64,13 +66,19 @@ public class PathTrackingEndpoints
public String startend( final long start, final long end )
{
- Collection<String> entries = PATH_TRACKING_DATA_STORE.retrieveTrackingIds( new Date( start ), new Date( end ) );
+ Collection<PathCallInformation> entries =
+ PATH_TRACKING_DATA_STORE.retrieveTrackingIds( new Date( start ), new Date( end ) );
MapBuilder<String, String> mapBuilder = new MapBuilder<String, String>();
- for ( String entry : entries )
+ for ( PathCallInformation entry : entries )
{
- mapBuilder = mapBuilder.set( "trackingId", entry );
+ mapBuilder = mapBuilder.set( //
+ new MapBuilder<String, String>() //
+ .set( "trackingId", entry.getTrackingId() ) //
+ .set( "startTime", Long.toString( entry.getStartTime() ) ) //
+ .build()
+ );
}
return toJson( mapBuilder.build() );
Modified: incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/template/Templates.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/template/Templates.java?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/template/Templates.java (original)
+++ incubator/sirona/trunk/server/reporting/src/main/java/org/apache/sirona/reporting/web/template/Templates.java Tue Mar 18 00:30:20 2014
@@ -105,7 +105,7 @@ public final class Templates
{
context = new VelocityContext( variables );
}
- context.put( "date", new DateTool() );
+ context.put( "dateTool", new DateTool() );
return context;
}
Modified: incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/home.vm
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/home.vm?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/home.vm (original)
+++ incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/home.vm Tue Mar 18 00:30:20 2014
@@ -18,8 +18,8 @@
<div class="row">
<div class="col-lg-3">
<ul>
- #foreach( $id in $trackingIds )
- <li><a href="$mapping/pathtracking/pathtrackingdetail/$id">$id</a></li>
+ #foreach( $pathCallInformation in $pathCallInformations )
+ <li><a href="$mapping/pathtracking/pathtrackingdetail/$pathCallInformation.trackingId">$pathCallInformation.trackingId: $dateTool.format("yyyy-MM-dd'T'HH:mm:ssz", $pathCallInformation.startTime.time)</a></li>
#end
</ul>
</div>
Modified: incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/pathtrackingdetail.vm
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/pathtrackingdetail.vm?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/pathtrackingdetail.vm (original)
+++ incubator/sirona/trunk/server/reporting/src/main/resources/templates/pathtracking/pathtrackingdetail.vm Tue Mar 18 00:30:20 2014
@@ -19,7 +19,7 @@
<div class="col-lg-9">
<ul>
#foreach( $entry in $entries)
- <li>$entry.className:$entry.methodName</li>
+ <li>$entry.className:$entry.methodName:$entry.level:$entry.executionTime</li>
#end
</ul>
</div>
Modified: incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/main/java/org/apache/sirona/cassandra/collector/pathtracking/CassandraPathTrackingDataStore.java Tue Mar 18 00:30:20 2014
@@ -32,6 +32,7 @@ import org.apache.sirona.configuration.i
import org.apache.sirona.store.tracking.BatchPathTrackingDataStore;
import org.apache.sirona.store.tracking.CollectorPathTrackingDataStore;
import org.apache.sirona.store.tracking.PathTrackingDataStore;
+import org.apache.sirona.tracking.PathCallInformation;
import org.apache.sirona.tracking.PathTrackingEntry;
import org.apache.sirona.tracking.PathTrackingEntryComparator;
@@ -39,7 +40,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -185,7 +185,7 @@ public class CassandraPathTrackingDataSt
}
@Override
- public Collection<String> retrieveTrackingIds( Date startTime, Date endTime )
+ public Collection<PathCallInformation> retrieveTrackingIds( Date startTime, Date endTime )
{
final QueryResult<OrderedRows<String, String, Long>> cResult = //
@@ -200,7 +200,7 @@ public class CassandraPathTrackingDataSt
int size = cResult.get().getList().size();
- Set<String> ids = new HashSet<String>( size );
+ Set<PathCallInformation> ids = new TreeSet<PathCallInformation>( PathCallInformation.COMPARATOR );
OrderedRows<String, String, Long> rows = cResult.get();
@@ -215,7 +215,8 @@ public class CassandraPathTrackingDataSt
PathTrackingEntry pathTrackingEntry = map( columnSlice );
- ids.add( pathTrackingEntry.getTrackingId() );
+ ids.add( new PathCallInformation( pathTrackingEntry.getTrackingId(),
+ new Date( pathTrackingEntry.getStartTime() / 1000000 ) ) );
}
return ids;
Modified: incubator/sirona/trunk/server/store/cassandra/src/test/java/org/apache/sirona/cassandra/local/PathTrackingDataStoreTest.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/server/store/cassandra/src/test/java/org/apache/sirona/cassandra/local/PathTrackingDataStoreTest.java?rev=1578684&r1=1578683&r2=1578684&view=diff
==============================================================================
--- incubator/sirona/trunk/server/store/cassandra/src/test/java/org/apache/sirona/cassandra/local/PathTrackingDataStoreTest.java (original)
+++ incubator/sirona/trunk/server/store/cassandra/src/test/java/org/apache/sirona/cassandra/local/PathTrackingDataStoreTest.java Tue Mar 18 00:30:20 2014
@@ -23,6 +23,7 @@ import org.apache.sirona.cassandra.colle
import org.apache.sirona.cassandra.framework.CassandraRunner;
import org.apache.sirona.cassandra.framework.CassandraTestInject;
import org.apache.sirona.configuration.ioc.IoCs;
+import org.apache.sirona.tracking.PathCallInformation;
import org.apache.sirona.tracking.PathTrackingEntry;
import org.junit.Assert;
import org.junit.Test;
@@ -136,11 +137,11 @@ public class PathTrackingDataStoreTest
Calendar yesterday = Calendar.getInstance();
yesterday.add( Calendar.DATE, -1 );
- Collection<String> trackingIds = getStore().retrieveTrackingIds( yesterday.getTime(), new Date() );
+ Collection<PathCallInformation> trackingIds = getStore().retrieveTrackingIds( yesterday.getTime(), new Date() );
Assert.assertEquals( 1, trackingIds.size() );
- Assert.assertEquals( first.getTrackingId(), trackingIds.iterator().next() );
+ Assert.assertEquals( first.getTrackingId(), trackingIds.iterator().next().getTrackingId() );
}
@@ -213,12 +214,12 @@ public class PathTrackingDataStoreTest
Calendar yesterday = Calendar.getInstance();
yesterday.add( Calendar.DATE, -1 );
- Collection<String> trackingIds = getStore().retrieveTrackingIds( yesterday.getTime(), new Date() );
+ Collection<PathCallInformation> trackingIds = getStore().retrieveTrackingIds( yesterday.getTime(), new Date() );
Assert.assertEquals( 1, trackingIds.size() );
- Assert.assertEquals( first.getTrackingId(), trackingIds.iterator().next() );
+ Assert.assertEquals( first.getTrackingId(), trackingIds.iterator().next().getTrackingId() );
Collection<PathTrackingEntry> entries = getStore().retrieve( firstuuid );