@Override public String toString() { return getClass().getSimpleName() + "{jid=" + Integer.toHexString(System.identityHashCode(this)) + ", name=" + getSource().getName() + ", keep.context=" + keepContext + ", sink=" + eventSink + "}"; }
@Override public Snapshot newSnapshot(String cat, String name) { PropertySnapshot snapshot = new PropertySnapshot(cat, name); snapshot.setSource(getSource()); return snapshot; }
@Override public Snapshot newSnapshot(String cat, String name, OpLevel level) { PropertySnapshot snapshot = new PropertySnapshot(cat, name, level); snapshot.setSource(getSource()); return snapshot; }
private void openIOHandle(Handle handle) { try { handle.open(); } catch (IOException ioe) { errorCount.incrementAndGet(); logger.log(OpLevel.ERROR, "Failed to open handle={4}, vm.name={0}, tid={1}, event.sink={2}, source={3}, reason={5}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), handle, Utils.getExceptionMessages(ioe), ioe); } catch (Throwable e) { errorCount.incrementAndGet(); logger.log(OpLevel.ERROR, "Failed to open handle={4}, vm.name={0}, tid={1}, event.sink={2}, source={3}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), handle, e); } }
@Override public void sinkError(SinkError ev) { errorCount.incrementAndGet(); if (logger.isSet(OpLevel.DEBUG)) { logger.log(OpLevel.ERROR, "Sink write error: count={4}, vm.name={0}, tid={1}, event.sink={2}, source={3}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), errorCount.get(), ev.getCause()); } resetEventSink(); }
@Override public synchronized void close() { if (!isOpen()) { return; } try { closeEventSink(); Utils.close(selector); logger.log(OpLevel.DEBUG, "Tracker closed vm.name={0}, tid={1}, event.sink={2}, source={3}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource()); } catch (Throwable e) { errorCount.incrementAndGet(); logger.log(OpLevel.ERROR, "Failed to close tracker vm.name={0}, tid={1}, event.sink={2}, source={3}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), e); } }
private synchronized void resetEventSink() { try { if (eventSink != null) { eventSink.flush(); eventSink.close(); } } catch (IOException ioe) { errorCount.incrementAndGet(); logger.log(OpLevel.ERROR, "Failed to reset event sink vm.name={0}, tid={1}, event.sink={2}, source={3}, reason={4}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), Utils.getExceptionMessages(ioe), ioe); } catch (Throwable e) { errorCount.incrementAndGet(); logger.log(OpLevel.ERROR, "Failed to reset event sink vm.name={0}, tid={1}, event.sink={2}, source={3}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource(), e); } }
@Override public void log(OpLevel sev, String msg, Object... args) { long start = System.nanoTime(); try { eventSink.log(eventSink.getTTL(), getSource(), sev, msg, args); msgCount.incrementAndGet(); } catch (Throwable ex) { dropCount.incrementAndGet(); if (logger.isSet(OpLevel.DEBUG)) { logger.log(OpLevel.ERROR, "Failed to log message: severity={0}, msg={1}", sev, msg, ex); } } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public void tnt(TrackingEvent event) { long start = System.nanoTime(); try { if (!event.isNoop()) { reportEvent(event); } else { noopCount.incrementAndGet(); } } catch (Throwable ex) { dropCount.incrementAndGet(); if (logger.isSet(OpLevel.DEBUG)) { logger.log(OpLevel.ERROR, "Failed to track event: signature={0}, tid={1}, event.sink={2}, source={3}", event.getTrackingId(), Thread.currentThread().getId(), eventSink, getSource(), ex); } } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public synchronized void open() { if (!isOpen()) { openIOHandle(selector); openEventSink(); logger.log(OpLevel.DEBUG, "Tracker opened vm.name={0}, tid={1}, event.sink={2}, source={3}", Utils.getVMName(), Thread.currentThread().getId(), eventSink, getSource()); } }
@Override public void tnt(TrackingActivity activity) { long start = System.nanoTime(); try { if (!activity.isNoop()) { reportActivity(activity); } else { noopCount.incrementAndGet(); } } catch (Throwable ex) { dropCount.incrementAndGet(); if (logger.isSet(OpLevel.DEBUG)) { logger.log(OpLevel.ERROR, "Failed to track activity: signature={0}, tid={1}, event.sink={2}, source={3}", activity.getTrackingId(), Thread.currentThread().getId(), eventSink, getSource(), ex); } } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, String opName, Collection<String> correlators, byte[] msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlators, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opName, correlators, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(String opName, String msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(OpLevel.NONE, opName, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), OpLevel.NONE, opName, (String) null, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, String opName, String correlator, byte[] msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlator, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opName, correlator, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, String opName, String correlator, String msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlator, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opName, correlator, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, OpType opType, String opName, Collection<String> correlators, Collection<String> tags, byte[] msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlators, tags, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opType, opName, correlators, tags, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, String opName, Collection<String> correlators, String msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlators, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opName, correlators, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, OpType opType, String opName, String correlator, String tag, byte[] msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlator, tag, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opType, opName, correlator, tag, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, OpType opType, String opName, String correlator, String tag, String msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlator, tag, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opType, opName, correlator, tag, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }
@Override public TrackingEvent newEvent(OpLevel severity, OpType opType, String opName, Collection<String> correlators, Collection<String> tags, String msg, Object... args) { long start = System.nanoTime(); try { if (!isTrackingEnabled(severity, opName, correlators, tags, msg, args)) { return NULL_EVENT; } TrackingEvent event = new TrackingEvent(this, getSource(), severity, opType, opName, correlators, tags, msg, args); event.getOperation().setUser(tConfig.getSource().getUser()); return event; } finally { countOverheadNanos(System.nanoTime() - start); } }