Kieker 1.9

kieker.common.record.controlflow
Class OperationExecutionRecord

java.lang.Object
  extended by kieker.common.record.AbstractMonitoringRecord
      extended by kieker.common.record.controlflow.OperationExecutionRecord
All Implemented Interfaces:
Serializable, Comparable<IMonitoringRecord>, IMonitoringRecord, IMonitoringRecord.BinaryFactory, IMonitoringRecord.Factory

public class OperationExecutionRecord
extends AbstractMonitoringRecord
implements IMonitoringRecord.Factory, IMonitoringRecord.BinaryFactory

Since:
0.91
Author:
Andre van Hoorn, Jan Waller
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface kieker.common.record.IMonitoringRecord
IMonitoringRecord.BinaryFactory, IMonitoringRecord.Factory
 
Field Summary
static int NO_EOI_ESS
          Constant to be used if no eoi or ess required.
static String NO_HOSTNAME
          Constant to be used if no hostname required.
static String NO_SESSION_ID
          Constant to be used if no session ID required.
static long NO_TIMESTAMP
          Constant to be used if no timestamp required.
static long NO_TRACEID
          Constant to be used if no trace ID required.
static int SIZE
           
static Class<?>[] TYPES
           
 
Fields inherited from class kieker.common.record.AbstractMonitoringRecord
TYPE_SIZE_BOOLEAN, TYPE_SIZE_BYTE, TYPE_SIZE_CHARACTER, TYPE_SIZE_DOUBLE, TYPE_SIZE_FLOAT, TYPE_SIZE_INT, TYPE_SIZE_LONG, TYPE_SIZE_SHORT, TYPE_SIZE_STRING
 
Constructor Summary
OperationExecutionRecord(ByteBuffer buffer, IRegistry<String> stringRegistry)
          This constructor converts the given array into a record.
OperationExecutionRecord(Object[] values)
          This constructor converts the given array into a record.
OperationExecutionRecord(String operationSignature, String sessionId, long traceId, long tin, long tout, String hostname, int eoi, int ess)
          Creates a new OperationExecutionRecord with the given parameters.
 
Method Summary
 int getEoi()
           
 int getEss()
           
 String getHostname()
           
 String getOperationSignature()
           
 String getSessionId()
           
 int getSize()
          This method should deliver the size of a binary representation of this record.
 long getTin()
           
 long getTout()
           
 long getTraceId()
           
 Class<?>[] getValueTypes()
          This method should deliver an array with the classes of the single values for the record.
 void initFromArray(Object[] values)
          Deprecated. This record uses the IMonitoringRecord.Factory mechanism. Hence, this method is not implemented.
 void initFromBytes(ByteBuffer buffer, IRegistry<String> stringRegistry)
          Deprecated. This record uses the IMonitoringRecord.BinaryFactory mechanism. Hence, this method is not implemented.
 Object[] toArray()
          This method should deliver an array containing the content of the record.
 void writeBytes(ByteBuffer buffer, IRegistry<String> stringRegistry)
          This method should deliver an byte array containing the content of the record.
 
Methods inherited from class kieker.common.record.AbstractMonitoringRecord
checkArray, classForName, compareTo, createFromArray, createFromByteBuffer, createFromStringArray, equals, fromStringArrayToTypedArray, getLoggingTimestamp, hashCode, setLoggingTimestamp, toString, typesForClass
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

SIZE

public static final int SIZE
See Also:
Constant Field Values

TYPES

public static final Class<?>[] TYPES

NO_HOSTNAME

public static final String NO_HOSTNAME
Constant to be used if no hostname required.

See Also:
Constant Field Values

NO_SESSION_ID

public static final String NO_SESSION_ID
Constant to be used if no session ID required.

See Also:
Constant Field Values

NO_TRACEID

public static final long NO_TRACEID
Constant to be used if no trace ID required.

See Also:
Constant Field Values

NO_TIMESTAMP

public static final long NO_TIMESTAMP
Constant to be used if no timestamp required.

See Also:
Constant Field Values

NO_EOI_ESS

public static final int NO_EOI_ESS
Constant to be used if no eoi or ess required.

See Also:
Constant Field Values
Constructor Detail

OperationExecutionRecord

public OperationExecutionRecord(String operationSignature,
                                String sessionId,
                                long traceId,
                                long tin,
                                long tout,
                                String hostname,
                                int eoi,
                                int ess)
Creates a new OperationExecutionRecord with the given parameters.

Parameters:
operationSignature - an operation string, as defined in ClassOperationSignaturePair.splitOperationSignatureStr(String).
sessionId - the session ID; must not be null, use NO_SESSION_ID if no session ID desired.
traceId - the trace ID; use NO_TRACEID if no trace ID desired.
tin - the execution start timestamp; use NO_TIMESTAMP if no timestamp desired.
tout - the execution stop timestamp; use NO_TIMESTAMP if no timestamp desired.
hostname - the host name; must not be null, use NO_HOSTNAME if no host name desired.
eoi - the execution order index (eoi); use NO_EOI_ESS if no eoi desired.
ess - the execution stack size (ess); use NO_EOI_ESS if no ess desired.

OperationExecutionRecord

public OperationExecutionRecord(Object[] values)
This constructor converts the given array into a record. It is recommended to use the array which is the result of a call to toArray().

Parameters:
values - The values for the record.

OperationExecutionRecord

public OperationExecutionRecord(ByteBuffer buffer,
                                IRegistry<String> stringRegistry)
                         throws BufferUnderflowException
This constructor converts the given array into a record.

Parameters:
buffer - The bytes for the record.
Throws:
BufferUnderflowException - if buffer not sufficient
Method Detail

toArray

public Object[] toArray()
This method should deliver an array containing the content of the record. It should be possible to convert this array later into a record again.

Specified by:
toArray in interface IMonitoringRecord
Returns:
An array with the values of the record.

writeBytes

public void writeBytes(ByteBuffer buffer,
                       IRegistry<String> stringRegistry)
                throws BufferOverflowException
This method should deliver an byte array containing the content of the record. It should be possible to convert this array later into a record again.

Specified by:
writeBytes in interface IMonitoringRecord
Parameters:
buffer - The used ByteBuffer with sufficient capacity
stringRegistry - Usually the associated MonitoringController
Throws:
BufferOverflowException - if buffer not sufficient

initFromArray

@Deprecated
public final void initFromArray(Object[] values)
Deprecated. This record uses the IMonitoringRecord.Factory mechanism. Hence, this method is not implemented.

This method should initialize the record based on the given values. The array should be one of those resulting from a call to IMonitoringRecord.toArray().

Specified by:
initFromArray in interface IMonitoringRecord
Parameters:
values - The values for the record.

initFromBytes

@Deprecated
public final void initFromBytes(ByteBuffer buffer,
                                           IRegistry<String> stringRegistry)
                         throws BufferUnderflowException
Deprecated. This record uses the IMonitoringRecord.BinaryFactory mechanism. Hence, this method is not implemented.

This method should initialize the record based on the given values. The array should be one of those resulting from a call to IMonitoringRecord.writeBytes(ByteBuffer, IRegistry).

Specified by:
initFromBytes in interface IMonitoringRecord
Parameters:
buffer - The bytes for the record.
stringRegistry - The Registry storing the strings.
Throws:
BufferUnderflowException - if buffer not sufficient

getValueTypes

public Class<?>[] getValueTypes()
This method should deliver an array with the classes of the single values for the record.

Specified by:
getValueTypes in interface IMonitoringRecord
Returns:
The types of the values. This returned array should be treated readonly.
See Also:
IMonitoringRecord.toArray()

getSize

public int getSize()
This method should deliver the size of a binary representation of this record.

Specified by:
getSize in interface IMonitoringRecord
Returns:
The size.

getHostname

public final String getHostname()
Returns:
the hostname

getOperationSignature

public final String getOperationSignature()
Returns:
the operationSignature

getSessionId

public final String getSessionId()
Returns:
the sessionId

getTraceId

public final long getTraceId()
Returns:
the traceId

getTin

public final long getTin()
Returns:
the tin

getTout

public final long getTout()
Returns:
the tout

getEoi

public final int getEoi()
Returns:
the eoi

getEss

public final int getEss()
Returns:
the ess

Kieker 1.9

Copyright 2014 Kieker Project, http://kieker-monitoring.net