Sirikata
Classes | Namespaces | Defines | Enumerations
libcore/include/sirikata/core/trace/Trace.hpp File Reference
#include <sirikata/core/util/Platform.hpp>
#include <sirikata/core/util/Thread.hpp>
#include <sirikata/core/util/AtomicTypes.hpp>
#include <sirikata/core/network/ObjectMessage.hpp>
#include <sirikata/core/trace/BatchedBuffer.hpp>
Include dependency graph for Trace.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Sirikata::Trace::Drops
class  Sirikata::Trace::Trace

Namespaces

namespace  Sirikata
 

Note: All the classes provided in this file are thin wrappers around the corresponding classes in ASIO.


namespace  Sirikata::Trace

Defines

#define TRACE_DROP(nam)   ((mContext->trace()->drops.n[::Sirikata::Trace::Drops::nam]=#nam )&&++(mContext->trace()->drops.d[::Sirikata::Trace::Drops::nam])); SILOG(drop,insane,#nam)
#define ProximityTag   0
#define ObjectLocationTag   1
#define ServerDatagramQueuedTag   4
#define ServerDatagramSentTag   5
#define ServerDatagramReceivedTag   6
#define SegmentationChangeTag   10
#define MigrationBeginTag   11
#define MigrationAckTag   12
#define MigrationRoundTripTag   18
#define ServerLocationTag   13
#define ServerObjectEventTag   14
#define ObjectSegmentationCraqLookupRequestAnalysisTag   15
#define ObjectSegmentationProcessedRequestAnalysisTag   16
#define ObjectPingTag   17
#define ObjectPingCreatedTag   32
#define ObjectHitPointTag   34
#define OSegTrackedSetResultAnalysisTag   19
#define OSegShutdownEventTag   20
#define ObjectGeneratedLocationTag   22
#define OSegCacheResponseTag   23
#define OSegLookupNotOnServerAnalysisTag   24
#define OSegCumulativeTraceAnalysisTag   25
#define MessageTimestampTag   30
#define MessageCreationTimestampTag   31
#define ObjectConnectedTag   33
#define CREATE_TRACE_CHECK_DECL(___name)   bool check ## ___name () const;
#define CREATE_TRACE_EVAL_DECL(___name,...)   void ___name( __VA_ARGS__ );
#define CREATE_TRACE_DECL(___name,...)
#define CREATE_TRACE_CHECK_DEF(__klass, ___name, ___log_var)
#define CREATE_TRACE_EVAL_DEF(__klass, ___name,...)   void __klass :: ___name ( __VA_ARGS__ )
#define CREATE_TRACE_DEF(__klass, ___name, ___log_var,...)
#define TRACE(___trace, ___name,...)
#define CONTEXT_TRACE(___name,...)   TRACE( mContext->trace(), ___name, mContext->simTime(), __VA_ARGS__)
#define CONTEXT_TRACE_NO_TIME(___name,...)   TRACE( mContext->trace(), ___name, __VA_ARGS__)
#define TIMESTAMP_FULL(trace, time, packetId, path)
#define TIMESTAMP_SIMPLE(packetId, path)
#define TIMESTAMP(packet, path)
#define TIMESTAMP_START(prefix, packet)
#define TIMESTAMP_END(prefix, path)
#define TIMESTAMP_PAYLOAD(packet, path)
#define TIMESTAMP_PAYLOAD_START(prefix, packet)
#define TIMESTAMP_PAYLOAD_END(prefix, path)
#define TIMESTAMP_CREATED(packet, path)

Enumerations

enum  Sirikata::Trace::MessagePath {
  Sirikata::Trace::NONE, Sirikata::Trace::CREATED, Sirikata::Trace::DESTROYED, Sirikata::Trace::OH_HIT_NETWORK,
  Sirikata::Trace::OH_DROPPED_AT_SEND, Sirikata::Trace::OH_NET_RECEIVED, Sirikata::Trace::OH_DROPPED_AT_RECEIVE_QUEUE, Sirikata::Trace::OH_RECEIVED,
  Sirikata::Trace::SPACE_DROPPED_AT_MAIN_STRAND_CROSSING, Sirikata::Trace::HANDLE_OBJECT_HOST_MESSAGE, Sirikata::Trace::HANDLE_SPACE_MESSAGE, Sirikata::Trace::FORWARDED_LOCALLY,
  Sirikata::Trace::DROPPED_AT_FORWARDED_LOCALLY, Sirikata::Trace::FORWARDING_STARTED, Sirikata::Trace::FORWARDED_LOCALLY_SLOW_PATH, Sirikata::Trace::DROPPED_DURING_FORWARDING,
  Sirikata::Trace::OSEG_CACHE_CHECK_STARTED, Sirikata::Trace::OSEG_CACHE_CHECK_FINISHED, Sirikata::Trace::OSEG_LOOKUP_STARTED, Sirikata::Trace::OSEG_CACHE_LOOKUP_FINISHED,
  Sirikata::Trace::OSEG_SERVER_LOOKUP_FINISHED, Sirikata::Trace::OSEG_LOOKUP_FINISHED, Sirikata::Trace::SPACE_TO_SPACE_ENQUEUED, Sirikata::Trace::DROPPED_AT_SPACE_ENQUEUED,
  Sirikata::Trace::SPACE_TO_SPACE_HIT_NETWORK, Sirikata::Trace::SPACE_TO_SPACE_READ_FROM_NET, Sirikata::Trace::SPACE_TO_SPACE_SMR_DEQUEUED, Sirikata::Trace::SPACE_TO_OH_ENQUEUED,
  Sirikata::Trace::NUM_PATHS
}

Define Documentation

#define CONTEXT_TRACE (   ___name,
  ... 
)    TRACE( mContext->trace(), ___name, mContext->simTime(), __VA_ARGS__)
#define CONTEXT_TRACE_NO_TIME (   ___name,
  ... 
)    TRACE( mContext->trace(), ___name, __VA_ARGS__)
#define CREATE_TRACE_CHECK_DECL (   ___name)    bool check ## ___name () const;
#define CREATE_TRACE_CHECK_DEF (   __klass,
  ___name,
  ___log_var 
)
Value:
bool __klass :: check ## ___name () const {          \
        return ___log_var->as<bool>();                \
    }
#define CREATE_TRACE_DECL (   ___name,
  ... 
)
Value:
CREATE_TRACE_CHECK_DECL(___name)            \
    CREATE_TRACE_EVAL_DECL(___name, __VA_ARGS__)
#define CREATE_TRACE_DEF (   __klass,
  ___name,
  ___log_var,
  ... 
)
Value:
CREATE_TRACE_CHECK_DEF(__klass, ___name, ___log_var)          \
    CREATE_TRACE_EVAL_DEF(__klass, ___name, __VA_ARGS__)
#define CREATE_TRACE_EVAL_DECL (   ___name,
  ... 
)    void ___name( __VA_ARGS__ );
#define CREATE_TRACE_EVAL_DEF (   __klass,
  ___name,
  ... 
)    void __klass :: ___name ( __VA_ARGS__ )
#define MessageCreationTimestampTag   31
#define MessageTimestampTag   30
#define MigrationAckTag   12
#define MigrationBeginTag   11
#define MigrationRoundTripTag   18
#define ObjectConnectedTag   33
#define ObjectGeneratedLocationTag   22
#define ObjectHitPointTag   34
#define ObjectLocationTag   1
#define ObjectPingCreatedTag   32
#define ObjectPingTag   17
#define ObjectSegmentationCraqLookupRequestAnalysisTag   15
#define ObjectSegmentationProcessedRequestAnalysisTag   16
#define OSegCacheResponseTag   23
#define OSegCumulativeTraceAnalysisTag   25
#define OSegLookupNotOnServerAnalysisTag   24
#define OSegShutdownEventTag   20
#define OSegTrackedSetResultAnalysisTag   19
#define ProximityTag   0
#define SegmentationChangeTag   10
#define ServerDatagramQueuedTag   4
#define ServerDatagramReceivedTag   6
#define ServerDatagramSentTag   5
#define ServerLocationTag   13
#define ServerObjectEventTag   14
#define TIMESTAMP (   packet,
  path 
)
#define TIMESTAMP_CREATED (   packet,
  path 
)
#define TIMESTAMP_END (   prefix,
  path 
)
#define TIMESTAMP_FULL (   trace,
  time,
  packetId,
  path 
)
#define TIMESTAMP_PAYLOAD (   packet,
  path 
)
#define TIMESTAMP_PAYLOAD_END (   prefix,
  path 
)
#define TIMESTAMP_PAYLOAD_START (   prefix,
  packet 
)
#define TIMESTAMP_SIMPLE (   packetId,
  path 
)
#define TIMESTAMP_START (   prefix,
  packet 
)
#define TRACE (   ___trace,
  ___name,
  ... 
)
Value:
{                                            \
        if ( ___trace-> check ## ___name () )    \
            ___trace-> ___name ( __VA_ARGS__ );  \
    } while(0)
#define TRACE_DROP (   nam)    ((mContext->trace()->drops.n[::Sirikata::Trace::Drops::nam]=#nam )&&++(mContext->trace()->drops.d[::Sirikata::Trace::Drops::nam])); SILOG(drop,insane,#nam)