DUECA/DUSIME
Loading...
Searching...
No Matches
dueca::NetTimingLog Struct Reference

Timing information on network use. More...

#include <NetTimingLog.hxx>

Collaboration diagram for dueca::NetTimingLog:

Public Types

typedef NetTimingLog __ThisDCOType__
 typedef for internal reference

Public Member Functions

 NetTimingLog ()
 default constructor.
 NetTimingLog (const uint16_t &n_points, const uint32_t &t_max, const float &net_permessage, const float &net_perbyte, const fixvector< 20, uint16_t > &times)
 Constructor with arguments.
 NetTimingLog (const NetTimingLog &o)
 copy constructor.
 NetTimingLog (::dueca::AmorphReStore &r)
 constructor to restore an NetTimingLog from amorphous storage.
 ~NetTimingLog ()
 destructor.
void packData (::dueca::AmorphStore &s) const
 packs the NetTimingLog into amorphous storage.
void packDataDiff (::dueca::AmorphStore &s, const NetTimingLog &ref) const
 packs the NetTimingLog into amorphous storage.
void unPackData (::dueca::AmorphReStore &s)
 unpacks the NetTimingLog from an amorphous storage.
void unPackDataDiff (::dueca::AmorphReStore &s)
 unpacks the differences for NetTimingLog from an amorphous storage.
bool operator== (const NetTimingLog &o) const
 Test for equality.
bool operator!= (const NetTimingLog &o) const
 Test for inequality.
NetTimingLogoperator= (const NetTimingLog &o)
 Assignment operator.
std::ostream & print (std::ostream &s) const
 prints the NetTimingLog to a stream.
void histoLog (unsigned meastime, unsigned cycletime)
 Enter a datapoint in the histogram log.
float histTime (unsigned idx) const
 fraction of regular timing
void printline (std::ostream &s, TimeTickType tick) const
 Print a line in a file with compact timinglog data.

Static Public Member Functions

static void * operator new (size_t size)
 new operator "new", which places objects not on a heap, but in one of the memory arenas.
static void * operator new (size_t size, void *mem)
 accompanying placement operator "new"
static void operator delete (void *p)
 new operator "delete", to go with the new version of operator new.
static void * operator new (size_t size, NetTimingLog *&o)
 placement "new", needed for stl.
static void printhead (std::ostream &os, const std::string &label)
 Print a header to a file.

Public Attributes

uint16_t n_points
 number of items logged
uint32_t t_max
 maximum in [us]
float net_permessage
 estimate for message set-up
float net_perbyte
 estimate for byte transmission time
fixvector< 20, uint16_t > times
 standard capacity

Static Public Attributes

static const char *const classname
 The name of this class.
static const uint32_t magic_check_number
 a "magic" number, hashed out of the class definition, that will be used to check consistency of the sent objects across the dueca nodes.

Detailed Description

Timing information on network use.

This provides a histogram view of the network communication time cycle. Timing is logged for a number of cycles, giving a histogram of times

Member Function Documentation

◆ operator new()

void * dueca::NetTimingLog::operator new ( size_t size)
static

new operator "new", which places objects not on a heap, but in one of the memory arenas.

This to speed up memory management.

◆ packDataDiff()

void dueca::NetTimingLog::packDataDiff ( ::dueca::AmorphStore & s,
const NetTimingLog & ref ) const

packs the NetTimingLog into amorphous storage.

only differences with a previous object are packed.

◆ histoLog()

void dueca::NetTimingLog::histoLog ( unsigned meastime,
unsigned cycletime )

Enter a datapoint in the histogram log.

Parameters
meastimeMeasured time
cycletimeCycle time

◆ histTime()

float dueca::NetTimingLog::histTime ( unsigned idx) const

fraction of regular timing

Parameters
idxHistogram bin selection

The documentation for this struct was generated from the following file:
  • /home/abuild/rpmbuild/BUILD/dueca-4.2.8-build/dueca-4.2.8/redhat-linux-build/udpcom/NetTimingLog.hxx