@Override public int compare( PathCallInformation o1, PathCallInformation o2 ) { final int i = o1.getStartTime().compareTo(o2.getStartTime()); if (i == 0) { return o1.getTrackingId().compareTo(o2.getTrackingId()); } return i; } };
@Override public int compare( PathTrackingEntry pathTrackingEntry, PathTrackingEntry pathTrackingEntry2 ) { // TODO add level in comparator return Long.valueOf( pathTrackingEntry.getStartTime() ).compareTo( Long.valueOf( pathTrackingEntry2.getStartTime() ) ); } }
protected String id( PathTrackingEntry pathTrackingEntry ) { return cassandra.generateKey( pathTrackingEntry.getTrackingId(), // pathTrackingEntry.getClassName(),// pathTrackingEntry.getMethodName(), // Long.toString( pathTrackingEntry.getStartTime() ),// pathTrackingEntry.getNodeId(), // Integer.toString( pathTrackingEntry.getLevel() ) ); }
@Override public Collection<PathCallInformation> retrieveTrackingIds( Date startTime, Date endTime ) { final QueryResult<OrderedRows<String, String, Long>> cResult = // HFactory.createRangeSlicesQuery( keyspace, // StringSerializer.get(), // StringSerializer.get(), // LongSerializer.get() ) // .setColumnNames( "trackingId", "nodeId", "className", "methodName", "startTime", "executionTime", "level" ) // .addEqualsExpression( "level", Long.valueOf( 1 ) ) // .addGteExpression( "startTime", startTime.getTime() ) // .setColumnFamily( family ) // .execute(); int size = cResult.get().getList().size(); Set<PathCallInformation> ids = new TreeSet<PathCallInformation>( PathCallInformation.COMPARATOR ); OrderedRows<String, String, Long> rows = cResult.get(); if ( rows == null ) { return ids; } for ( Row<String, String, Long> row : rows.getList() ) { ColumnSlice<String, Long> columnSlice = row.getColumnSlice(); PathTrackingEntry pathTrackingEntry = map( columnSlice ); ids.add( new PathCallInformation( pathTrackingEntry.getTrackingId(), new Date( pathTrackingEntry.getStartTime() / 1000000 ) ) ); } return ids; }
String trackingId = pathTrackingEntry.getTrackingId();
private PathTrackingEntry map( ColumnSlice<String, ?> columnSlice ) { final DynamicDelegatedSerializer<Object> serializer = new DynamicDelegatedSerializer<Object>(); String trackingId = StringSerializer.get().fromByteBuffer( columnSlice.getColumnByName( "trackingId" ).getValueBytes() ); String nodeId = StringSerializer.get().fromByteBuffer( columnSlice.getColumnByName( "nodeId" ).getValueBytes() ); String className = StringSerializer.get().fromByteBuffer( columnSlice.getColumnByName( "className" ).getValueBytes() ); String methodName = StringSerializer.get().fromByteBuffer( columnSlice.getColumnByName( "methodName" ).getValueBytes() ); long startTime = getOrDefault( serializer, // columnSlice.getColumnByName( "startTime" ), // LongSerializer.get() ).longValue(); long executionTime = getOrDefault( serializer, // columnSlice.getColumnByName( "executionTime" ), // LongSerializer.get() ).longValue(); int level = getOrDefault( serializer, // columnSlice.getColumnByName( "level" ), // LongSerializer.get() ).intValue(); return new PathTrackingEntry( trackingId, // nodeId, // className, // methodName, // startTime, // executionTime, // level ); }
.addInsertion( id, family, column( "trackingId", pathTrackingEntry.getTrackingId() ) ) // .addInsertion( id, family, column( "nodeId", pathTrackingEntry.getNodeId() ) ) // .addInsertion( id, family, column( "className", pathTrackingEntry.getClassName() ) ) // .addInsertion( id, family, column( "methodName", pathTrackingEntry.getMethodName() ) ) // .addInsertion( id, family, column( "startTime", pathTrackingEntry.getStartTime() ) ) // .addInsertion( id, family, column( "executionTime", pathTrackingEntry.getExecutionTime() ) ) // .addInsertion( id, family, column( "level", Long.valueOf( pathTrackingEntry.getLevel() ) ) ) // .addInsertion( "PATH_TRACKING", markerFamilly, emptyColumn( id ) );
@Override public int compare( PathTrackingEntry pathTrackingEntry, PathTrackingEntry pathTrackingEntry2 ) { return new Date( pathTrackingEntry.getStartTime() ) // .compareTo( new Date( pathTrackingEntry2.getStartTime() ) ); } };