The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
JobHistory Class Reference

JobHistory class definition. More...

#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.
 
void addProperty (const std::string &key, const std::string &value)
 
const std::string & release_version () const
 
const std::string & os () const
 
const std::string & hostname () const
 
const std::string & os_version () const
 
const std::string & machine () const
 
const std::string & dir () const
 
const std::string & cmtconfig () const
 
const std::vector< std::string > & environment () const
 
const PropertyListproperties () const override
 
const PropertyPairListpropertyPairs () const
 
time_t start_time () const
 
std::ostream & dump (std::ostream &, bool isXML, int indent) const override
 
const std::string & name () const override
 
const std::string & version () const override
 
const std::string & type () const override
 
- Public Member Functions inherited from HistoryObj
virtual ~HistoryObj ()=default
 
- Public Member Functions inherited from DataObject
 DataObject ()
 Standard Constructor.
 
 DataObject (const DataObject &rhs)
 Copy Constructor.
 
DataObjectoperator= (const DataObject &rhs)
 Assignment Operator.
 
 DataObject (DataObject &&rhs)
 Move Constructor.
 
DataObjectoperator= (DataObject &&rhs)
 Move Assignment Operator.
 
virtual ~DataObject ()
 Standard Destructor.
 
virtual unsigned long addRef ()
 Add reference to object.
 
virtual unsigned long release ()
 release reference to object
 
const std::string & name () const
 Retreive DataObject name. It is the name when registered in the store.
 
virtual StatusCode update ()
 Provide empty placeholder for internal object reconfiguration callback.
 
void setRegistry (IRegistry *pRegistry)
 Set pointer to Registry.
 
IRegistryregistry () const
 Get pointer to Registry.
 
LinkManagerlinkMgr ()
 Retrieve Link manager.
 
const LinkManagerlinkMgr () const
 
unsigned char version () const
 Retrieve version number of this object representation.
 
void setVersion (unsigned char vsn)
 Set version number of this object representation.
 
unsigned long refCount () const
 Return the refcount.
 
virtual std::ostream & fillStream (std::ostream &s) const
 Fill the output stream (ASCII)
 
- 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)
 

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::string > m_environ
 
PropertyList m_props
 
PropertyPairList m_ppl
 
std::vector< std::string > m_CVSid
 
time_t m_start_time
 

Friends

std::ostream & operator<< (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 32 of file JobHistory.h.

Member Typedef Documentation

◆ PropertyPairList

typedef std::vector<std::pair<std::string, std::unique_ptr<Gaudi::Property<std::string> > > > JobHistory::PropertyPairList

Definition at line 35 of file JobHistory.h.

Constructor & Destructor Documentation

◆ JobHistory() [1/2]

JobHistory::JobHistory ( )

Definition at line 20 of file JobHistory.cpp.

20 : m_start_time( 0 ) {
21
23
24 std::string rel;
25
26 if ( ( rel = System::getEnv( "ATLAS_BASE_RELEASE" ) ) != "UNKNOWN" ) {
28 } else if ( ( rel = System::getEnv( "GAUDIROOT" ) ) != "UNKNOWN" ) {
30 } else {
31 m_release_version = "UNKNOWN";
32 }
33 m_dir = System::getEnv( "PWD" );
34 m_cmtconfig = System::getEnv( "CMTCONFIG" );
35
40
42}
std::string m_os_version
Definition JobHistory.h:44
std::string m_osname
Definition JobHistory.h:42
time_t m_start_time
Definition JobHistory.h:53
std::string m_machine
Definition JobHistory.h:45
std::string m_cmtconfig
Definition JobHistory.h:40
std::string m_release_version
Definition JobHistory.h:38
std::string m_hostname
Definition JobHistory.h:43
std::vector< std::string > m_environ
Definition JobHistory.h:47
std::string m_dir
Definition JobHistory.h:39
GAUDI_API const std::string & osName()
OS name.
Definition System.cpp:271
GAUDI_API const std::string & machineType()
Machine type.
Definition System.cpp:283
GAUDI_API std::vector< std::string > getEnv()
get all environment variables
Definition System.cpp:356
GAUDI_API const std::string & hostName()
Host name.
Definition System.cpp:265
GAUDI_API const std::string & osVersion()
OS version.
Definition System.cpp:277

◆ 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 44 of file JobHistory.cpp.

47 : m_release_version( rel )
48 , m_dir( dir )
50 , m_osname( os )
51 , m_hostname( host )
52 , m_os_version( osver )
53 , m_machine( mach )
54 , m_start_time( time ) {}
const std::string & os() const
Definition JobHistory.h:73
const std::string & dir() const
Definition JobHistory.h:77
const std::string & cmtconfig() const
Definition JobHistory.h:78

◆ ~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 64 of file JobHistory.cpp.

64 {
66 std::string prop_value = value;
67 if ( !prop_value.empty() && prop_value[0] == '"' && prop_value[prop_value.size() - 1] == '"' )
68 prop_value = prop_value.substr( 1, prop_value.size() - 2 );
69
70 std::string client, prop_name;
71 auto pos = key.rfind( '.' );
72 if ( pos == std::string::npos ) {
73 prop_name = key;
74 } else {
75 client = key.substr( 0, pos );
76 prop_name = key.substr( pos + 1 );
77 }
78
79 m_ppl.emplace_back( client, std::make_unique<Gaudi::Property<std::string>>( prop_name, prop_value ) );
80}
PropertyPairList m_ppl
Definition JobHistory.h:50

◆ classID()

const CLID & JobHistory::classID ( )
static

Definition at line 58 of file JobHistory.cpp.

58 {
59
60 static const CLID CLID_JobHistory = 247994533;
61 return CLID_JobHistory;
62}
unsigned int CLID
Class ID definition.
Definition ClassID.h:16

◆ 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 65 of file JobHistory.h.

65{ return classID(); }
static const CLID & classID()

◆ cmtconfig()

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

Definition at line 78 of file JobHistory.h.

78{ return m_cmtconfig; }

◆ dir()

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

Definition at line 77 of file JobHistory.h.

77{ return m_dir; }

◆ dump()

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

Implements HistoryObj.

Definition at line 82 of file JobHistory.cpp.

82 {
83
84 if ( !isXML ) {
85 ost << "Release: " << release_version() << endl;
86 ost << "OS: " << os() << endl;
87 ost << "OS ver: " << os_version() << endl;
88 ost << "Host: " << hostname() << endl;
89 ost << "Machine: " << machine() << endl;
90 ost << "Run dir: " << dir() << endl;
91 ost << "CMTCONFIG: " << cmtconfig() << endl;
92 ost << "Job start time: " << start_time() << endl << endl;
93 ost << "Properties: [" << endl;
94 ;
95 for ( const auto& ipprop : propertyPairs() ) {
96 const auto& client = ipprop.first;
97 const auto& prop = ipprop.second;
98 ost << client << ": ";
99 prop->fillStream( ost );
100 ost << endl;
101 }
102 ost << "]" << endl;
103 for ( const auto& itr : environment() ) ost << itr << endl;
104 } else {
105 }
106
107 return ost;
108}
time_t start_time() const
Definition JobHistory.h:82
const std::string & machine() const
Definition JobHistory.h:76
const std::vector< std::string > & environment() const
Definition JobHistory.h:79
const std::string & release_version() const
Definition JobHistory.h:72
const PropertyPairList & propertyPairs() const
Definition JobHistory.h:81
const std::string & hostname() const
Definition JobHistory.h:74
const std::string & os_version() const
Definition JobHistory.h:75

◆ environment()

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

Definition at line 79 of file JobHistory.h.

79{ return m_environ; }

◆ hostname()

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

Definition at line 74 of file JobHistory.h.

74{ return m_hostname; }

◆ machine()

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

Definition at line 76 of file JobHistory.h.

76{ return m_machine; }

◆ name()

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

Implements IVersHistoryObj.

Definition at line 86 of file JobHistory.h.

86{ return m_machine; }

◆ os()

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

Definition at line 73 of file JobHistory.h.

73{ return m_osname; }

◆ os_version()

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

Definition at line 75 of file JobHistory.h.

75{ return m_os_version; }

◆ properties()

const PropertyList & JobHistory::properties ( ) const
inlineoverridevirtual

Implements IVersHistoryObj.

Definition at line 80 of file JobHistory.h.

80{ return m_props; }
PropertyList m_props
Definition JobHistory.h:49

◆ propertyPairs()

const PropertyPairList & JobHistory::propertyPairs ( ) const
inline

Definition at line 81 of file JobHistory.h.

81{ return m_ppl; }

◆ release_version()

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

Definition at line 72 of file JobHistory.h.

72{ return m_release_version; }

◆ start_time()

time_t JobHistory::start_time ( ) const
inline

Definition at line 82 of file JobHistory.h.

82{ return m_start_time; }

◆ type()

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

Implements IVersHistoryObj.

Definition at line 88 of file JobHistory.h.

88{ return m_osname; }

◆ version()

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

Implements IVersHistoryObj.

Definition at line 87 of file JobHistory.h.

87{ return m_release_version; }

Friends And Related Symbol Documentation

◆ operator<<

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

Definition at line 91 of file JobHistory.h.

91{ return rhs.dump( lhs, false, 0 ); }
std::ostream & dump(std::ostream &, bool isXML, int indent) const override

Member Data Documentation

◆ m_cmtconfig

std::string JobHistory::m_cmtconfig
private

Definition at line 40 of file JobHistory.h.

◆ m_CVSid

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

Definition at line 52 of file JobHistory.h.

◆ m_dir

std::string JobHistory::m_dir
private

Definition at line 39 of file JobHistory.h.

◆ m_environ

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

Definition at line 47 of file JobHistory.h.

◆ m_hostname

std::string JobHistory::m_hostname
private

Definition at line 43 of file JobHistory.h.

◆ m_machine

std::string JobHistory::m_machine
private

Definition at line 45 of file JobHistory.h.

◆ m_os_version

std::string JobHistory::m_os_version
private

Definition at line 44 of file JobHistory.h.

◆ m_osname

std::string JobHistory::m_osname
private

Definition at line 42 of file JobHistory.h.

◆ m_ppl

PropertyPairList JobHistory::m_ppl
private

Definition at line 50 of file JobHistory.h.

◆ m_props

PropertyList JobHistory::m_props
private

Definition at line 49 of file JobHistory.h.

◆ m_release_version

std::string JobHistory::m_release_version
private

Definition at line 38 of file JobHistory.h.

◆ m_start_time

time_t JobHistory::m_start_time
private

Definition at line 53 of file JobHistory.h.


The documentation for this class was generated from the following files: