@Override public ConstructionEvent create(final IValueDeserializer deserializer) throws RecordInstantiationException { return new ConstructionEvent(deserializer); }
@Override public ConstructionEvent create(final IValueDeserializer deserializer) { return new ConstructionEvent(deserializer); }
@Override @Deprecated public ConstructionEvent create(final Object[] values) { return new ConstructionEvent(values); }
/** * This is an advice which will be used after the construction of an object. * * @param thisObject * @param jp * The static information about this joint point. */ // HINT: This may be logged multiple times due to super constructor calls... @AfterReturning("monitoredConstructor() && this(thisObject) && notWithinKieker()") public void afterConstruction(final Object thisObject, final JoinPoint.StaticPart jp) { if (!CTRLINST.isMonitoringEnabled()) { return; } final Signature signature = jp.getSignature(); if (!CTRLINST.isProbeActivated(this.signatureToLongString(signature))) { return; } // common fields TraceMetadata trace = TRACEREGISTRY.getTrace(); final boolean newTrace = trace == null; if (newTrace) { trace = TRACEREGISTRY.registerTrace(); CTRLINST.newMonitoringRecord(trace); } final ConstructionEvent crecord = new ConstructionEvent(TIME.getTime(), trace.getTraceId(), trace.getNextOrderId(), signature.getDeclaringTypeName(), System.identityHashCode(thisObject)); CTRLINST.newMonitoringRecord(crecord); } }
/** * This is an advice which will be used after the construction of an object. * * @param thisObject * @param jp * The static information about this joint point. */ // HINT: This may be logged multiple times due to super constructor calls... @AfterReturning("monitoredConstructor() && this(thisObject) && notWithinKieker()") public void afterConstruction(final Object thisObject, final JoinPoint.StaticPart jp) { if (!CTRLINST.isMonitoringEnabled()) { return; } final Signature signature = jp.getSignature(); if (!CTRLINST.isProbeActivated(this.signatureToLongString(signature))) { return; } // common fields TraceMetadata trace = TRACEREGISTRY.getTrace(); final boolean newTrace = trace == null; if (newTrace) { trace = TRACEREGISTRY.registerTrace(); CTRLINST.newMonitoringRecord(trace); } final ConstructionEvent crecord = new ConstructionEvent(TIME.getTime(), trace.getTraceId(), trace.getNextOrderId(), signature.getDeclaringTypeName(), System.identityHashCode(thisObject)); CTRLINST.newMonitoringRecord(crecord); } }
/** * Tests the constructor and writeBytes(..) methods of {@link ConstructionEvent}. */ @Test public void testSerializeDeserializeBinaryEquals() { final ConstructionEvent event1 = new ConstructionEvent(TSTAMP, TRACE_ID, ORDER_INDEX, FQ_CLASSNAME, OBJECT_ID); Assert.assertEquals("Unexpected timestamp", TSTAMP, event1.getTimestamp()); Assert.assertEquals("Unexpected trace ID", TRACE_ID, event1.getTraceId()); Assert.assertEquals("Unexpected order index", ORDER_INDEX, event1.getOrderIndex()); Assert.assertEquals("Unexpected class name", FQ_CLASSNAME, event1.getClassSignature()); Assert.assertEquals("Unexpected object ID", OBJECT_ID, event1.getObjectId()); final WriterListener receiver = new WriterListener(); final IWriterRegistry<String> stringRegistry = new WriterRegistry(receiver); final ByteBuffer buffer = ByteBuffer.allocate(event1.getSize()); event1.serialize(BinaryValueSerializer.create(buffer, stringRegistry)); buffer.flip(); final ConstructionEvent event2 = new ConstructionEvent(BinaryValueDeserializer.create(buffer, receiver.getReaderRegistry())); Assert.assertEquals(event1, event2); Assert.assertEquals(0, event1.compareTo(event2)); } }
/** * Tests the constructor and toArray(..) methods of {@link ConstructionEvent}. * * Assert that a record instance event1 equals an instance event2 created by serializing event1 to an array event1Array * and using event1Array to construct event2. This ignores a set loggingTimestamp! */ @Test public void testSerializeDeserializeEquals() { final ConstructionEvent event1 = new ConstructionEvent(TSTAMP, TRACE_ID, ORDER_INDEX, FQ_CLASSNAME, OBJECT_ID); Assert.assertEquals("Unexpected timestamp", TSTAMP, event1.getTimestamp()); Assert.assertEquals("Unexpected trace ID", TRACE_ID, event1.getTraceId()); Assert.assertEquals("Unexpected order index", ORDER_INDEX, event1.getOrderIndex()); Assert.assertEquals("Unexpected class name", FQ_CLASSNAME, event1.getClassSignature()); Assert.assertEquals("Unexpected object ID", OBJECT_ID, event1.getObjectId()); }