public MonitorEventEntry newInstance() { return new MonitorEventEntry(capacity, monitor); } }
public void write(MonitorEventEntry entry) throws IOException { ByteBuffer buffer = entry.getBuffer(); MonitorLevel level = entry.getLevel(); long entryTimestamp = entry.getEntryTimestamp(); int count = eventWriter.writePrefix(level, entryTimestamp, buffer); count = count + eventWriter.writeTemplate(entry); buffer.put(NEWLINE); count++; buffer.limit(count); write(buffer); }
private void send(MonitorLevel level, long timestamp, String template, Object[] args) { MonitorEventEntry entry = null; try { long start = System.nanoTime(); entry = router.get(); entry.setDestinationIndex(destinationIndex); entry.setTimestampNanos(start); entry.setTemplate(template); entry.setParse(true); if (args != null) { for (int i = 0; i < args.length; i++) { Object arg = args[i]; entry.getEntries()[i].setObjectValue(arg); } } entry.setLevel(level); entry.setLimit(args == null ? 0 : args.length); entry.setEntryTimestamp(timestamp); } finally { if (entry != null) { router.publish(entry); } } }
public int writeTemplate(MonitorEventEntry entry) { String template = entry.getTemplate(); if (template == null) { return 0; ResizableByteBuffer buffer = entry.getBuffer(); int bytesWritten = 0; int counter = 0; ParameterEntry[] entries = entry.getEntries(); for (int i = 0; i < template.length(); i++) { char current = template.charAt(i); if (entry.isParse() && '{' == current) { if (counter > entry.getLimit()) { throw new ServiceRuntimeException("Monitor message contains more parameters than are supplied by the method interface: " + template); if (counter < entry.getLimit()) { ParameterEntry last = entries[entry.getLimit() - 1]; if (ParameterEntry.Slot.OBJECT == last.getSlot() && last.getObjectValue(Object.class) instanceof Throwable) { bytesWritten = bytesWritten + ObjectWriter.write(last.getObjectValue(Object.class), buffer);
public MonitorEventEntry get() { RingBuffer<MonitorEventEntry> ringBuffer = disruptor.getRingBuffer(); long sequence = ringBuffer.next(); MonitorEventEntry entry = ringBuffer.get(sequence); entry.getBuffer().clear(); for (ParameterEntry parameterEntry : entry.getEntries()) { parameterEntry.reset(); } entry.setSequence(sequence); return entry; }
public void write(MonitorEventEntry entry) throws IOException { int index = entry.getDestinationIndex(); checkIndex(index); destinations.get()[index].write(entry); }
public void publish(MonitorEventEntry entry) { disruptor.getRingBuffer().publish(entry.getSequence()); }
public int writeTemplate(MonitorEventEntry entry) { String template = entry.getTemplate(); if (template == null) { return 0; ByteBuffer buffer = entry.getBuffer(); int bytesWritten = 0; int counter = 0; ParameterEntry[] entries = entry.getEntries(); for (int i = 0; i < template.length(); i++) { char current = template.charAt(i); if ('{' == current) { if (counter > entry.getLimit()) { throw new ServiceRuntimeException("Monitor message contains more parameters than are supplied by the method interface: " + template); if (counter < entry.getLimit()) { ParameterEntry last = entries[entry.getLimit() - 1]; if (ParameterEntry.Slot.OBJECT == last.getSlot() && last.getObjectValue(Object.class) instanceof Throwable) { bytesWritten = bytesWritten + ObjectWriter.write(last.getObjectValue(Object.class), buffer);
public MonitorEventEntry get() { RingBuffer<MonitorEventEntry> ringBuffer = disruptor.getRingBuffer(); long sequence = ringBuffer.next(); MonitorEventEntry entry = ringBuffer.get(sequence); entry.getBuffer().clear(); for (ParameterEntry parameterEntry : entry.getEntries()) { parameterEntry.reset(); } entry.setSequence(sequence); return entry; }
public void write(MonitorEventEntry entry) throws IOException { int index = entry.getDestinationIndex(); checkIndex(index); destinations.get()[index].write(entry); }
public void publish(MonitorEventEntry entry) { disruptor.getRingBuffer().publish(entry.getSequence()); }
private void send(MonitorLevel level, long timestamp, String template, Object[] args) { MonitorEventEntry entry = null; try { long start = System.nanoTime(); entry = router.get(); entry.setDestinationIndex(destinationIndex); entry.setTimestampNanos(start); entry.setTemplate(template); if (args != null) { for (int i = 0; i < args.length; i++) { Object arg = args[i]; entry.getEntries()[i].setObjectValue(arg); } } entry.setLevel(level); entry.setLimit(args == null ? 0 : args.length); entry.setEntryTimestamp(timestamp); } finally { if (entry != null) { router.publish(entry); } } }
public void write(MonitorEventEntry entry) { ResizableByteBuffer buffer = entry.getBuffer(); MonitorLevel level = entry.getLevel(); long entryTimestamp = entry.getEntryTimestamp(); int count = eventWriter.writePrefix(level, entryTimestamp, buffer); count = count + eventWriter.writeTemplate(entry); buffer.put(NEWLINE); count++; buffer.limit(count); write(buffer); }
public MonitorEventEntry newInstance() { return new MonitorEventEntry(capacity); } }
try { entry = get(); entry.setDestinationIndex(destinationIndex); entry.setTimestampNanos(System.nanoTime()); entry.setLevel(level); entry.setEntryTimestamp(timestamp); entry.setTemplate(template); entry.setParse(parse); entry.setLimit(args == null ? 0 : args.length); if (args != null) { for (int i = 0; i < args.length; i++) { Object arg = args[i]; entry.getEntries()[i].setObjectValue(arg);
try { entry = get(); entry.setDestinationIndex(destinationIndex); entry.setTimestampNanos(System.nanoTime()); entry.setLevel(level); entry.setEntryTimestamp(timestamp); entry.setTemplate(template); entry.setLimit(args == null ? 0 : args.length); if (args != null) { for (int i = 0; i < args.length; i++) { Object arg = args[i]; entry.getEntries()[i].setObjectValue(arg);