public void addEventCounterMutations( Mutator<ByteBuffer> m, UUID applicationId, Event event, long timestamp ) { if ( event.getCounters() != null ) { for ( Entry<String, Integer> value : event.getCounters().entrySet() ) { batchIncrementAggregateCounters( m, applicationId, event.getUser(), event.getGroup(), null, event.getCategory(), value.getKey().toLowerCase(), value.getValue(), event.getTimestamp(), timestamp ); } } }
@Test public void testTimedFlush() throws Exception { logger.info( "CounterIT.testCounters" ); EntityManager em = app.getEntityManager(); assertNotNull( em ); UUID user1 = UUID.randomUUID(); UUID user2 = UUID.randomUUID(); // UUID groupId = UUID.randomUUID(); Event event; for ( int i = 0; i < 100; i++ ) { event = new Event(); event.setTimestamp( ts + ( i * 60 * 1000 ) ); event.addCounter( "visits", 1 ); event.setUser( user1 ); em.create( event ); event = new Event(); event.setTimestamp( ts + ( i * 60 * 1000 ) ); event.addCounter( "visits", 1 ); event.setUser( user2 ); em.create( event ); } //sleep to ensure the flush has executed Thread.sleep( 30000 ); final long totalCount = returnCounts( em, "visits" ); assertEquals(200, totalCount); }
Event event = new Event(); event.setTimestamp( System.currentTimeMillis() ); event.addCounter( "admin.logins", 1 ); event.setGroup( organizationEntity.getUuid() );
public Message storeEventAsMessage(Mutator<ByteBuffer> m, Event event, long timestamp) { counterUtils.addEventCounterMutations(m, applicationId, event, timestamp); QueueManager q = queueManagerFactory.getQueueManager(applicationId); Message message = new Message(); message.setType("event"); message.setCategory(event.getCategory()); message.setStringProperty("message", event.getMessage()); message.setTimestamp(timestamp); q.postToQueue("events", message); return message; }
Object propertyValue = properties.get( prop_name ); if ( propertyValue != null ) { event.setProperty( prop_name, propertyValue );
event = new Event(); event.setTimestamp( ts + ( i * 60 * 1000 ) ); event.addCounter( "visits", 1 ); event.setUser( user1 ); em.create( event ); event = new Event(); event.setTimestamp( ts + ( i * 60 * 1000 ) ); event.addCounter( "visits", 1 ); event.setUser( user2 ); em.create( event ); event = new Event(); event.setTimestamp( ts + ( i * 60 * 60 * 1000 ) ); event.addCounter( "clicks", 1 ); em.create( event );