Kieker 1.8

kieker.common.record.flow.trace
Class TraceMetadata

java.lang.Object
  extended by kieker.common.record.AbstractMonitoringRecord
      extended by kieker.common.record.flow.trace.TraceMetadata
All Implemented Interfaces:
Serializable, Comparable<IMonitoringRecord>, IFlowRecord, IMonitoringRecord, IMonitoringRecord.BinaryFactory, IMonitoringRecord.Factory

public class TraceMetadata
extends AbstractMonitoringRecord
implements IMonitoringRecord.Factory, IMonitoringRecord.BinaryFactory, IFlowRecord

Since:
1.5
Author:
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 String NO_HOSTNAME
          Constant to be used if no hostname required.
static int NO_PARENT_ORDER_INDEX
          Constant to be used if no trace parent order index required.
static long NO_PARENT_TRACEID
          Constant to be used if no trace parent ID required.
static String NO_SESSION_ID
          Constant to be used if no sessionId required.
static int SIZE
           
static Class<?>[] TYPES
           
 
Constructor Summary
TraceMetadata(ByteBuffer buffer, IRegistry<String> stringRegistry)
          This constructor converts the given array into a record.
TraceMetadata(long traceId, long threadId, String sessionId, String hostname, long parentTraceId, int parentOrderId)
          Creates a new instance of this class using the given parameters.
TraceMetadata(Object[] values)
          Creates a new instance of this class using the given parameter.
 
Method Summary
 String getHostname()
           
 int getNextOrderId()
           
 int getParentOrderId()
           
 long getParentTraceId()
           
 String getSessionId()
           
 int getSize()
          This method should deliver the size of a binary representation of this record.
 long getThreadId()
           
 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
 
Methods inherited from interface kieker.common.record.IMonitoringRecord
getLoggingTimestamp, setLoggingTimestamp, toString
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

SIZE

public static final int SIZE
See Also:
Constant Field Values

TYPES

public static final Class<?>[] TYPES

NO_SESSION_ID

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

See Also:
Constant Field Values

NO_HOSTNAME

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

See Also:
Constant Field Values

NO_PARENT_TRACEID

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

See Also:
Constant Field Values

NO_PARENT_ORDER_INDEX

public static final int NO_PARENT_ORDER_INDEX
Constant to be used if no trace parent order index required.

See Also:
Constant Field Values
Constructor Detail

TraceMetadata

public TraceMetadata(long traceId,
                     long threadId,
                     String sessionId,
                     String hostname,
                     long parentTraceId,
                     int parentOrderId)
Creates a new instance of this class using the given parameters.

Parameters:
traceId - The trace ID.
threadId - The thread ID.
sessionId - the session ID; use NO_SESSION_ID if no session ID desired.
hostname - the host name; use NO_HOSTNAME if no host name desired.
parentTraceId - the ID of the parent trace; use NO_PARENT_TRACEID if not desired.
parentOrderId - the order index within the parent trace; use NO_PARENT_ORDER_INDEX if not desired.

TraceMetadata

public TraceMetadata(Object[] values)
Creates a new instance of this class using the given parameter.

Parameters:
values - The array containing the values for the fields of this class. This should normally be the array resulting in a call to toArray().

TraceMetadata

public TraceMetadata(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.

getTraceId

public final long getTraceId()

getThreadId

public final long getThreadId()

getSessionId

public final String getSessionId()

getHostname

public final String getHostname()

getParentTraceId

public final long getParentTraceId()

getParentOrderId

public final int getParentOrderId()

getNextOrderId

public final int getNextOrderId()

Kieker 1.8

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