@Override protected synchronized void pushCountersByBatch(final Collection<Counter> instances) { cube.post(cube.counterSnapshot(instances)); } }
public void post(final StringBuilder payload) { if (payload.length() > 0) { doPost(globalPayload(payload)); } }
public StringBuilder statusSnapshot(final long ts, final NodeStatus nodeStatus) { final StringBuilder events = newEventStream(); for (final ValidationResult result : nodeStatus.getResults()) { buildEvent(events, VALIDATION_TYPE, ts, new MapBuilder() .add("message", result.getMessage()) .add("status", result.getStatus().name()) .add("name", result.getName()) .map()); } if (nodeStatus.getDate() != null) { buildEvent(events, STATUS_TYPE, ts, new MapBuilder() .add("date", nodeStatus.getDate().getTime()) .map()); } return events; }
@Override protected void pushGauges(final Map<Role, Measure> gauges) { final StringBuilder events = cube.newEventStream(); for (final Map.Entry<Role, Measure> entry : gauges.entrySet()) { try { final Measure value = entry.getValue(); cube.gaugeSnapshot(events, value.getTime(), entry.getKey(), value.getValue()); } catch (final Exception e) { LOGGER.log(Level.SEVERE, e.getMessage(), e); } } cube.post(events); } }
@Override public void store( final PathTrackingEntry pathTrackingEntry ) { CUBE.doPostBytes( SerializeUtils.serialize( pathTrackingEntry ), PathTrackingEntry.class.getName() ); }
public String globalPayload(final StringBuilder payload) { if (payload.length() > 0) { return finalPayload(payload.substring(0, payload.length() - 1)); } return finalPayload(payload.toString()); }
public synchronized Cube build() { if (cubeInstance != null) { return cubeInstance; } if (marker == null) { marker = Localhosts.get(); } if (sslKeyStore != null || sslTrustStore != null) { final KeyManager[] keyManagers = createKeyManager(); final TrustManager[] trustManagers = createTrustManager(); try { final SSLContext sslContext = SSLContext.getInstance("SSL"); sslContext.init(keyManagers, trustManagers, new java.security.SecureRandom()); socketFactory = sslContext.getSocketFactory(); } catch (final Exception e) { throw new SironaException(e); } } else { socketFactory = null; } if (basicHeader != null) { // compute it basicHeader = "Basic " + DatatypeConverter.printBase64Binary(basicHeader.getBytes()); } return new Cube(this); }
byte[] bytes = useCompression ? gzipCompression( payload.getBytes() ) : payload.getBytes();
public StringBuilder gaugeSnapshot(final StringBuilder base, final long time, final Role role, final double value) { return buildEvent(base, GAUGE_TYPE, time, new MapBuilder() .add("value", value) .add("role", role.getName()) .add("unit", role.getUnit().getName()) .map()); }
public StringBuilder pathTrackingSnapshot( Collection<PathTrackingEntry> pathTrackingEntries ) { final StringBuilder events = newEventStream(); final long ts = System.currentTimeMillis(); 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() ); } return events; }
public void onEvent( final PathTrackingEntry entry, final long sequence, final boolean endOfBatch ) throws Exception { if ( ( sequence % numberOfConsumers ) == ordinal ) { CUBE.doPostBytes( SerializeUtils.serialize( entry ), PathTrackingEntry.class.getName() ); } }
public StringBuilder pathTrackingSnapshot( PathTrackingEntry pathTrackingEntry ) { final StringBuilder event = newEventStream(); final long ts = System.currentTimeMillis(); buildEvent( event, 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 event; }
@Override protected void pushEntriesByBatch( Map<String, List<Pointer>> pathTrackingEntries ) { if ( !USE_SINGLE_STORE ) { for ( Map.Entry<String, List<Pointer>> entry : pathTrackingEntries.entrySet() ) { for ( Pointer pointer : entry.getValue() ) { if ( !pointer.isFree() ) { CUBE.doPostBytes( readBytes( pointer ), PathTrackingEntry.class.getName() ); pointer.freeMemory(); } } } } }
public StringBuilder counterSnapshot(final Collection<Counter> instances) { final long ts = System.currentTimeMillis(); final StringBuilder events = newEventStream(); for (final Counter counter : instances) { buildEvent(events, COUNTER_TYPE, ts, new MapBuilder() .add(NAME, counter.getKey().getName()) .add(ROLE, counter.getKey().getRole().getName()) .add(UNIT, counter.getKey().getRole().getUnit().getName()) // minimum metrics to be able to aggregate counters later .add(CONCURRENCY, counter.currentConcurrency().intValue()) .add(MEAN, counter.getMean()) .add(VARIANCE, counter.getVariance()) .add(HITS, counter.getHits()) .add(MAX, counter.getMax()) .add(MIN, counter.getMin()) .add(SUM, counter.getSum()) .add(M_2, counter.getSecondMoment()) .map()); } return events; }
@Override protected void pushEntriesByBatch( Map<String, List<Pointer>> pathTrackingEntries ) { if ( !USE_SINGLE_STORE ) { for ( Map.Entry<String, List<Pointer>> entry : pathTrackingEntries.entrySet() ) { for ( Pointer pointer : entry.getValue() ) { if ( !pointer.isFree() ) { CUBE.doPostBytes( readBytes( pointer ), PathTrackingEntry.class.getName() ); pointer.freeMemory(); } } } } }