The Gaudi Framework  master (594c33fa)
JobHistory Class Reference

#include </builds/gaudi/Gaudi/GaudiKernel/include/GaudiKernel/JobHistory.h>

Inheritance diagram for JobHistory:
Collaboration diagram for JobHistory:

Public Types

typedef std::vector< std::pair< std::string, std::unique_ptr< Gaudi::Property< std::string > > > > PropertyPairList
 
- Public Types inherited from IVersHistoryObj
typedef std::vector< Gaudi::Details::PropertyBase * > PropertyList
 

Public Member Functions

 JobHistory ()
 
 JobHistory (const std::string &rel, const std::string &os, const std::string &host, const std::string &dir, const std::string &osver, const std::string &mach, const std::string &cmtconfig, const time_t &time)
 
virtual ~JobHistory ()
 
const CLIDclID () const override
 Retrieve reference to class definition structure. More...
 
void addProperty (const std::string &key, const std::string &value)
 
std::string release_version () const
 
std::string os () const
 
std::string hostname () const
 
std::string os_version () const
 
std::string machine () const
 
std::string dir () const
 
std::string cmtconfig () const
 
std::vector< std::stringenvironment () const
 
const PropertyListproperties () const override
 
const PropertyPairListpropertyPairs () const
 
time_t start_time () const
 
std::ostreamdump (std::ostream &, bool isXML, int indent) const override
 
const std::stringname () const override
 
const std::stringversion () const override
 
const std::stringtype () const override
 
- Public Member Functions inherited from HistoryObj
virtual ~HistoryObj ()=default
 
- Public Member Functions inherited from DataObject
 DataObject ()
 Standard Constructor. More...
 
 DataObject (const DataObject &rhs)
 Copy Constructor. More...
 
DataObjectoperator= (const DataObject &rhs)
 Assignment Operator. More...
 
 DataObject (DataObject &&rhs)
 Move Constructor. More...
 
DataObjectoperator= (DataObject &&rhs)
 Move Assignment Operator. More...
 
virtual ~DataObject ()
 Standard Destructor. More...
 
virtual unsigned long addRef ()
 Add reference to object. More...
 
virtual unsigned long release ()
 release reference to object More...
 
const std::stringname () const
 Retreive DataObject name. It is the name when registered in the store. More...
 
virtual StatusCode update ()
 Provide empty placeholder for internal object reconfiguration callback. More...
 
void setRegistry (IRegistry *pRegistry)
 Set pointer to Registry. More...
 
IRegistryregistry () const
 Get pointer to Registry. More...
 
LinkManagerlinkMgr ()
 Retrieve Link manager. More...
 
const LinkManagerlinkMgr () const
 
unsigned char version () const
 Retrieve version number of this object representation. More...
 
void setVersion (unsigned char vsn)
 Set version number of this object representation. More...
 
unsigned long refCount () const
 Return the refcount. More...
 
virtual std::ostreamfillStream (std::ostream &s) const
 Fill the output stream (ASCII) More...
 
- Public Member Functions inherited from IVersHistoryObj
virtual ~IVersHistoryObj ()=default
 

Static Public Member Functions

static const CLIDclassID ()
 
- Static Public Member Functions inherited from HistoryObj
static const CLIDclassID ()
 
static std::string convert_string (const std::string &)
 
- Static Public Member Functions inherited from DataObject
static const CLIDclassID ()
 Retrieve reference to class definition structure (static access) More...
 

Private Attributes

std::string m_release_version
 
std::string m_dir
 
std::string m_cmtconfig
 
std::string m_osname
 
std::string m_hostname
 
std::string m_os_version
 
std::string m_machine
 
std::vector< std::stringm_environ
 
PropertyList m_props
 
PropertyPairList m_ppl
 
std::vector< std::stringm_CVSid
 
time_t m_start_time
 

Friends

std::ostreamoperator<< (std::ostream &lhs, const JobHistory &rhs)
 

Additional Inherited Members

- Protected Member Functions inherited from HistoryObj
virtual void indent (std::ostream &, int) const
 

Detailed Description

JobHistory class definition

Author
: Charles Leggett

Definition at line 33 of file JobHistory.h.

Member Typedef Documentation

◆ PropertyPairList

Constructor & Destructor Documentation

◆ JobHistory() [1/2]

JobHistory::JobHistory ( )

Definition at line 43 of file JobHistory.cpp.

43  : m_start_time( 0 ) {
44 
45  time( &m_start_time );
46 
47  std::string rel;
48 
49  if ( ( rel = System::getEnv( "ATLAS_BASE_RELEASE" ) ) != "UNKNOWN" ) {
50  m_release_version = rel;
51  } else if ( ( rel = System::getEnv( "GAUDIROOT" ) ) != "UNKNOWN" ) {
52  m_release_version = rel;
53  } else {
54  m_release_version = "UNKNOWN";
55  }
56  m_dir = System::getEnv( "PWD" );
57  m_cmtconfig = System::getEnv( "CMTCONFIG" );
58 
63 
65 }

◆ JobHistory() [2/2]

JobHistory::JobHistory ( const std::string rel,
const std::string os,
const std::string host,
const std::string dir,
const std::string osver,
const std::string mach,
const std::string cmtconfig,
const time_t &  time 
)

Definition at line 67 of file JobHistory.cpp.

70  : m_release_version( rel )
71  , m_dir( dir )
73  , m_osname( os )
74  , m_hostname( host )
75  , m_os_version( osver )
76  , m_machine( mach )
77  , m_start_time( time ) {}

◆ ~JobHistory()

JobHistory::~JobHistory ( )
virtualdefault

Member Function Documentation

◆ addProperty()

void JobHistory::addProperty ( const std::string key,
const std::string value 
)

\fixme strip optional quotes around the string

Definition at line 91 of file JobHistory.cpp.

91  {
93  std::string prop_value = value;
94  if ( !prop_value.empty() && prop_value[0] == '"' && prop_value[prop_value.size() - 1] == '"' )
95  prop_value = prop_value.substr( 1, prop_value.size() - 2 );
96 
97  std::string client, prop_name;
98  auto pos = key.rfind( '.' );
99  if ( pos == std::string::npos ) {
100  prop_name = key;
101  } else {
102  client = key.substr( 0, pos );
103  prop_name = key.substr( pos + 1 );
104  }
105 
106  m_ppl.emplace_back( client, std::make_unique<Gaudi::Property<std::string>>( prop_name, prop_value ) );
107 }

◆ classID()

const CLID & JobHistory::classID ( )
static

Definition at line 85 of file JobHistory.cpp.

85  {
86 
87  static const CLID CLID_JobHistory = 247994533;
88  return CLID_JobHistory;
89 }

◆ clID()

const CLID& JobHistory::clID ( ) const
inlineoverridevirtual

Retrieve reference to class definition structure.

Retrieve Pointer to class definition structure.

Reimplemented from HistoryObj.

Definition at line 66 of file JobHistory.h.

66 { return classID(); }

◆ cmtconfig()

std::string JobHistory::cmtconfig ( ) const
inline

Definition at line 79 of file JobHistory.h.

79 { return m_cmtconfig; }

◆ dir()

std::string JobHistory::dir ( ) const
inline

Definition at line 78 of file JobHistory.h.

78 { return m_dir; }

◆ dump()

std::ostream & JobHistory::dump ( std::ostream ost,
bool  isXML,
int  indent 
) const
overridevirtual

Implements HistoryObj.

Definition at line 109 of file JobHistory.cpp.

109  {
110 
111  if ( !isXML ) {
112  ost << "Release: " << release_version() << endl;
113  ost << "OS: " << os() << endl;
114  ost << "OS ver: " << os_version() << endl;
115  ost << "Host: " << hostname() << endl;
116  ost << "Machine: " << machine() << endl;
117  ost << "Run dir: " << dir() << endl;
118  ost << "CMTCONFIG: " << cmtconfig() << endl;
119  ost << "Job start time: " << start_time() << endl << endl;
120  ost << "Properties: [" << endl;
121  ;
122  for ( const auto& ipprop : propertyPairs() ) {
123  const auto& client = ipprop.first;
124  const auto& prop = ipprop.second;
125  ost << client << ": ";
126  prop->fillStream( ost );
127  ost << endl;
128  }
129  ost << "]" << endl;
130  for ( const auto& itr : environment() ) ost << itr << endl;
131  } else {
132  }
133 
134  return ost;
135 }

◆ environment()

std::vector<std::string> JobHistory::environment ( ) const
inline

Definition at line 80 of file JobHistory.h.

80 { return m_environ; }

◆ hostname()

std::string JobHistory::hostname ( ) const
inline

Definition at line 75 of file JobHistory.h.

75 { return m_hostname; }

◆ machine()

std::string JobHistory::machine ( ) const
inline

Definition at line 77 of file JobHistory.h.

77 { return m_machine; }

◆ name()

const std::string& JobHistory::name ( ) const
inlineoverridevirtual

Implements IVersHistoryObj.

Definition at line 87 of file JobHistory.h.

87 { return m_machine; }

◆ os()

std::string JobHistory::os ( ) const
inline

Definition at line 74 of file JobHistory.h.

74 { return m_osname; }

◆ os_version()

std::string JobHistory::os_version ( ) const
inline

Definition at line 76 of file JobHistory.h.

76 { return m_os_version; }

◆ properties()

const PropertyList& JobHistory::properties ( ) const
inlineoverridevirtual

Implements IVersHistoryObj.

Definition at line 81 of file JobHistory.h.

81 { return m_props; }

◆ propertyPairs()

const PropertyPairList& JobHistory::propertyPairs ( ) const
inline

Definition at line 82 of file JobHistory.h.

82 { return m_ppl; }

◆ release_version()

std::string JobHistory::release_version ( ) const
inline

Definition at line 73 of file JobHistory.h.

73 { return m_release_version; }

◆ start_time()

time_t JobHistory::start_time ( ) const
inline

Definition at line 83 of file JobHistory.h.

83 { return m_start_time; }

◆ type()

const std::string& JobHistory::type ( ) const
inlineoverridevirtual

Implements IVersHistoryObj.

Definition at line 89 of file JobHistory.h.

89 { return m_osname; }

◆ version()

const std::string& JobHistory::version ( ) const
inlineoverridevirtual

Implements IVersHistoryObj.

Definition at line 88 of file JobHistory.h.

88 { return m_release_version; }

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream lhs,
const JobHistory rhs 
)
friend

Definition at line 92 of file JobHistory.h.

92 { return rhs.dump( lhs, false, 0 ); }

Member Data Documentation

◆ m_cmtconfig

std::string JobHistory::m_cmtconfig
private

Definition at line 41 of file JobHistory.h.

◆ m_CVSid

std::vector<std::string> JobHistory::m_CVSid
private

Definition at line 53 of file JobHistory.h.

◆ m_dir

std::string JobHistory::m_dir
private

Definition at line 40 of file JobHistory.h.

◆ m_environ

std::vector<std::string> JobHistory::m_environ
private

Definition at line 48 of file JobHistory.h.

◆ m_hostname

std::string JobHistory::m_hostname
private

Definition at line 44 of file JobHistory.h.

◆ m_machine

std::string JobHistory::m_machine
private

Definition at line 46 of file JobHistory.h.

◆ m_os_version

std::string JobHistory::m_os_version
private

Definition at line 45 of file JobHistory.h.

◆ m_osname

std::string JobHistory::m_osname
private

Definition at line 43 of file JobHistory.h.

◆ m_ppl

PropertyPairList JobHistory::m_ppl
private

Definition at line 51 of file JobHistory.h.

◆ m_props

PropertyList JobHistory::m_props
private

Definition at line 50 of file JobHistory.h.

◆ m_release_version

std::string JobHistory::m_release_version
private

Definition at line 39 of file JobHistory.h.

◆ m_start_time

time_t JobHistory::m_start_time
private

Definition at line 54 of file JobHistory.h.


The documentation for this class was generated from the following files:
JobHistory::release_version
std::string release_version() const
Definition: JobHistory.h:73
std::string
STL class.
JobHistory::cmtconfig
std::string cmtconfig() const
Definition: JobHistory.h:79
JobHistory::os
std::string os() const
Definition: JobHistory.h:74
System::getEnv
GAUDI_API std::string getEnv(const char *var)
get a particular environment variable (returning "UNKNOWN" if not set)
Definition: System.cpp:388
std::string::size
T size(T... args)
JobHistory::dump
std::ostream & dump(std::ostream &, bool isXML, int indent) const override
Definition: JobHistory.cpp:109
JobHistory::os_version
std::string os_version() const
Definition: JobHistory.h:76
JobHistory::m_props
PropertyList m_props
Definition: JobHistory.h:50
JobHistory::m_machine
std::string m_machine
Definition: JobHistory.h:46
JobHistory::hostname
std::string hostname() const
Definition: JobHistory.h:75
JobHistory::machine
std::string machine() const
Definition: JobHistory.h:77
JobHistory::m_dir
std::string m_dir
Definition: JobHistory.h:40
JobHistory::classID
static const CLID & classID()
Definition: JobHistory.cpp:85
System::osName
GAUDI_API const std::string & osName()
OS name.
Definition: System.cpp:324
JobHistory::m_os_version
std::string m_os_version
Definition: JobHistory.h:45
JobHistory::m_osname
std::string m_osname
Definition: JobHistory.h:43
CLID
unsigned int CLID
Class ID definition.
Definition: ClassID.h:18
plotSpeedupsPyRoot.time
time
Definition: plotSpeedupsPyRoot.py:180
std::string::substr
T substr(T... args)
JobHistory::m_environ
std::vector< std::string > m_environ
Definition: JobHistory.h:48
std::vector::emplace_back
T emplace_back(T... args)
std::endl
T endl(T... args)
JobHistory::start_time
time_t start_time() const
Definition: JobHistory.h:83
JobHistory::m_ppl
PropertyPairList m_ppl
Definition: JobHistory.h:51
JobHistory::m_hostname
std::string m_hostname
Definition: JobHistory.h:44
System::machineType
GAUDI_API const std::string & machineType()
Machine type.
Definition: System.cpp:336
JobHistory::dir
std::string dir() const
Definition: JobHistory.h:78
std::string::empty
T empty(T... args)
JobHistory::m_release_version
std::string m_release_version
Definition: JobHistory.h:39
System::hostName
GAUDI_API const std::string & hostName()
Host name.
Definition: System.cpp:318
JobHistory::propertyPairs
const PropertyPairList & propertyPairs() const
Definition: JobHistory.h:82
JobHistory::m_cmtconfig
std::string m_cmtconfig
Definition: JobHistory.h:41
ProduceConsume.key
key
Definition: ProduceConsume.py:81
System::osVersion
GAUDI_API const std::string & osVersion()
OS version.
Definition: System.cpp:330
Gaudi::Property< std::string >
JobHistory::m_start_time
time_t m_start_time
Definition: JobHistory.h:54
JobHistory::environment
std::vector< std::string > environment() const
Definition: JobHistory.h:80