diff options
Diffstat (limited to 'pablo/PabloHDF.c')
-rw-r--r-- | pablo/PabloHDF.c | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/pablo/PabloHDF.c b/pablo/PabloHDF.c index 4907e28..36bf0df 100644 --- a/pablo/PabloHDF.c +++ b/pablo/PabloHDF.c @@ -88,7 +88,6 @@ int fileno ( FILE * ); #define HDFtrace3OPEN__ int HDFtrace3OPEN( const char *, int, mode_t ); -/*#include "Assert_TrLib.h"*/ #include "SDDFparam.h" #include "TraceParam.h" @@ -115,7 +114,7 @@ int OUTPUT_SWITCH; extern void preInitIOTrace( void ); #include "ProcIDs.h" -#include "HDFTrace.h" +#include "HDF5Trace.h" #include "IOTrace.h" #define NO_OUTPUT 0 #define SDDF_OUTPUT 1 @@ -127,6 +126,7 @@ void hdfendtrace_ ( void ) ; void HDFendTrace (void); void HDFendTrace_RT (void); void HDFendTrace_SDDF(void); +void HDFfinalTimeStamp( void ); void startHDFtraceEvent (int ); int computeProcMask (int eventID); int computePacketTag(int eventID); @@ -839,13 +839,13 @@ void *HDFtraceMALLOC(size_t bytes ) size_t byte_req; byte_req = bytes; if ( IOtracingEnabled ) { - HDFtraceIOEvent ( ID_malloc, &byte_req, sizeof(size_t) ); + HDFtraceIOEvent ( ID_malloc, NULL, 0 ); } ptr = malloc( bytes ); if ( IOtracingEnabled ) { - HDFtraceIOEvent ( -ID_malloc, NULL, 0 ); + HDFtraceIOEvent ( -ID_malloc, &byte_req, sizeof(size_t) ); } return ptr ; @@ -860,3 +860,36 @@ void HDFtraceIOEvent( int eventType, void *dataPtr, unsigned dataLen ) HDFtraceEvent_RT( eventType, (HDFsetInfo *)dataPtr, dataLen ); } } +/*======================================================================* +// record the final time stamp * +//======================================================================*/ +void HDFfinalTimeStamp( void ) +{ + TR_LOCK criticalSection; + CLOCK currentTime; + double seconds; + struct { + int packetLength, + packetType, + packetTag, + timeDim; + double Seconds; + int eventID, + node, + dataLen; + } Packet; + + criticalSection = TRlock(); + currentTime = getClock(); + seconds = clockToSeconds( currentTime ); + + Packet.packetLength = sizeof(Packet); + Packet.packetType = PKT_DATA; + Packet.packetTag = FAMILY_EXTERNAL | RECORD_TRACE; + Packet.timeDim = 0; /* use fp time stamp only */ + Packet.Seconds = seconds; /* fp time stamp */ + Packet.eventID = ID_timeStamp; + Packet.node = TRgetNode(); + Packet.dataLen = 0; + putBytes( (void *)&Packet , sizeof(Packet) ); +} |