Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

QSimpleArmTran Class Reference

Class defining an interface to measure response times of so-called transactions. More...

#include <qsimplearmtran.h>

Inheritance diagram for QSimpleArmTran:

QArmTransaction QObject QArmInstance QArm List of all members.

Public Types

enum  QArmStatus { GOOD, ABORTED, FAILED, UNKNOWN }

Public Slots

void start ()
void start (QArmMetricList *_metric_values)
void stop (const QArmTransaction::QArmStatus _status=QArmTransaction::GOOD)
void start (const QArmApplication *_app, const QArmContextValueList *_context_values=0, const QArmMetricList *_metric_values=0)
void stop (const QArmStatus _status=QArmTransaction::GOOD)

Signals

void stopped (const QArmStatus _status)

Public Member Functions

 QSimpleArmTran (const QString &_name, QSimpleArmTran *_parent=0, const QArmMetricList *_metric_bindings=0)
 ~QSimpleArmTran ()
const arm_correlator_t * getCorrelator () const
char * getStringifiedCorrelator (char *_corrstr, size_t _size) const
const QString & getUser () const
void setUser (const QString &_user)
const int addSubbuffer (int _num, armsdk_buffer4_t &_sdk_buf4, arm_subbuffer_t *_sb) const

Protected Member Functions

bool childrenExist () const
void addChild ()
void subtractChild ()
void connectParent ()

Protected Attributes

QArmTranDefinitionm_tranDefinition
bool m_active
const arm_id_t * m_id

Detailed Description

Class defining an interface to measure response times of so-called transactions.

A transaction is identified by a name and can have a parent transaction. The constructor creates such a transaction. With the methods start() and stop() response time measurements can be executed. It is possible to measure a series of response times by calling start()/stop() multiple times.

Definition at line 109 of file qsimplearmtran.h.


Member Enumeration Documentation

enum QArmTransaction::QArmStatus [inherited]
 

Status of the transaction.

Enumeration values:
GOOD  Transaction was executed successful.
ABORTED  Transaction was aborted for some reason.
FAILED  Transaction execution failed.
UNKNOWN  Transaction status is unknown.

Definition at line 76 of file qarmtransaction.h.


Constructor & Destructor Documentation

QSimpleArmTran::QSimpleArmTran const QString &  _name,
QSimpleArmTran _parent = 0,
const QArmMetricList _metric_bindings = 0
 

Creates a transaction measurement instance with instance specific data.

Parameters:
_name Name of the transaction definition.
_parent Parent transaction.
_metric_bindings Metric bindings, the metric values will be filled during start().

Definition at line 185 of file qsimplearmtran.cpp.

QSimpleArmTran::~QSimpleArmTran  ) 
 

Destructor.

Definition at line 197 of file qsimplearmtran.cpp.

References QArmTransaction::m_tranDefinition.


Member Function Documentation

void QArmTransaction::addChild  )  [inline, protected, inherited]
 

Inform this transaction that a child transaction uses this as parent.

Definition at line 240 of file qarmtransaction.h.

References QArmTransaction::m_children.

Referenced by QArmTransaction::connectParent().

const int QArm::addSubbuffer int  _num,
armsdk_buffer4_t &  _sdk_buf4,
arm_subbuffer_t *  _sb
const [inherited]
 

Helper method, very often used during initialisation of arm4 buffers.

Parameters:
_num Current count of subbuffers
_sdk_buf4 The arm4 buffer to fill with subbuffers
_sb The subbuffer to add to _sdk_buf4
Returns:
The new count of subbuffers (one more than before)

Definition at line 95 of file qarm.cpp.

Referenced by QArmAppDefinition::QArmAppDefinition(), QArmTranDefinition::QArmTranDefinition(), QArmTransaction::start(), and QArmApplication::start().

bool QArmTransaction::childrenExist  )  const [inline, protected, inherited]
 

Check if any children were added. If not this class sets environment variable to reach children within other processes.

Definition at line 236 of file qarmtransaction.h.

References QArmTransaction::m_children.

Referenced by QArmTransaction::start(), and QArmTransaction::stop().

void QArmTransaction::connectParent  )  [protected, inherited]
 

Connects to parent if one was provided.

Definition at line 120 of file qarmtransaction.cpp.

References QArmTransaction::addChild(), QArmTransaction::m_tranParent, QArmTransaction::stop(), and QArmTransaction::stopped().

Referenced by QArmTransaction::QArmTransaction().

const arm_correlator_t * QArmTransaction::getCorrelator  )  const [inline, inherited]
 

Get the correlator of this transaction in case it is running.

Returns:
The correlator of the current transaction. If a transaction instance is not running, ARM_CORR_NONE ist returned.

Definition at line 224 of file qarmtransaction.h.

References QArmInstance::m_active, and QArmTransaction::m_tranCorr.

Referenced by QArmTransaction::getStringifiedCorrelator().

char * QArmTransaction::getStringifiedCorrelator char *  _corrstr,
size_t  _size
const [inherited]
 

Get the stringified correlator of this transaction in case it is running.

Parameters:
_corrstr The buffer where to put the stringifid correlator.
_size The size of the buffer.
Returns:
The stringified correlator of the current transaction. If a transaction instance is not running, NULL ist returned.

Definition at line 250 of file qarmtransaction.cpp.

References QArmTransaction::getCorrelator().

const QString & QArmTransaction::getUser  )  const [inline, inherited]
 

Returns the user currently associated with this transaction instance. See description of setUser().

Returns:
the currently initialized user.

Definition at line 228 of file qarmtransaction.h.

References QArmTransaction::m_user.

void QArmTransaction::setUser const QString &  _user  )  [inline, inherited]
 

Associates a user to the QArmTransaction instance. This user, represented by a QString is assumed to be the user for all start() and stop() pairs until the association is changed or cleared. getUser() returns the last value that was set.

Parameters:
_user The user to be associated with this transaction instance. An empty string will clear the association.

Definition at line 232 of file qarmtransaction.h.

References QArmTransaction::m_user.

void QArmTransaction::start const QArmApplication _app,
const QArmContextValueList _context_values = 0,
const QArmMetricList _metric_values = 0
[slot, inherited]
 

Starts transaction measurement.

Parameters:
_app The ARM application instance.
_context_values The values related to the context names provided with c'tor.
_metric_values The values related to the metric bindings provided with c'tor.

Definition at line 135 of file qarmtransaction.cpp.

References QArm::addSubbuffer(), QArmTransaction::childrenExist(), QArmApplication::getHandle(), QArmInstance::m_active, QArmInstance::m_id, QArmTransaction::m_parentCorr, QArmTransaction::m_parentCorrBuf, QArmTransaction::m_tranCorr, QArmTransaction::m_tranHandle, QArmTransaction::m_tranParent, and QArmTransaction::m_user.

Referenced by start().

void QSimpleArmTran::start QArmMetricList _metric_values  )  [slot]
 

Starts transaction measurement with some values ("metrics") added to each transaction. The metric values correspond directly to the metric bindings provided to the c'tor.

Parameters:
_metric_values The values related to the metric bindings provided with c'tor.

Definition at line 210 of file qsimplearmtran.cpp.

References QSimpleArmApp::instance(), and QArmTransaction::start().

void QSimpleArmTran::start  )  [slot]
 

Starts transaction measurement without any additional instance specific information.

Definition at line 204 of file qsimplearmtran.cpp.

References QSimpleArmApp::instance(), and QArmTransaction::start().

void QArmTransaction::stop const QArmStatus  _status = QArmTransaction::GOOD  )  [slot, inherited]
 

Stops transaction measurement.

Parameters:
_status Status of transaction execution.

Definition at line 222 of file qarmtransaction.cpp.

References QArmTransaction::childrenExist(), QArmInstance::m_active, QArmTransaction::m_parentCorr, QArmTransaction::m_tranHandle, QArmTransaction::m_tranParent, and QArmTransaction::stopped().

Referenced by QArmTransaction::connectParent(), stop(), and QArmTransaction::~QArmTransaction().

void QSimpleArmTran::stop const QArmTransaction::QArmStatus  _status = QArmTransaction::GOOD  )  [slot]
 

Stops transaction measurement.

Parameters:
_status Status of transaction execution.

Definition at line 216 of file qsimplearmtran.cpp.

References QArmTransaction::stop().

void QArmTransaction::stopped const QArmStatus  _status  )  [signal, inherited]
 

Send a signal in case this transaction stopped.

Parameters:
_status The status provided when the transaction was stopped.

Referenced by QArmTransaction::connectParent(), and QArmTransaction::stop().

void QArmTransaction::subtractChild  )  [inline, protected, inherited]
 

Inform this transaction that a child transaction was deleted.

Definition at line 244 of file qarmtransaction.h.

References QArmTransaction::m_children.

Referenced by QArmTransaction::~QArmTransaction().


Member Data Documentation

bool QArmInstance::m_active [protected, inherited]
 

Variable to check if this instance is active (i.e. somewhere between start() and stop())

Definition at line 75 of file qarminstance.h.

Referenced by QArmTransaction::getCorrelator(), QArmTransaction::start(), QArmApplication::start(), QArmTransaction::stop(), QArmApplication::stop(), QArmApplication::~QArmApplication(), and QArmTransaction::~QArmTransaction().

const arm_id_t* QArmInstance::m_id [protected, inherited]
 

ARM definition id used during register

Definition at line 79 of file qarminstance.h.

Referenced by QArmTransaction::start(), QArmApplication::start(), and QArmApplication::stop().

QArmTranDefinition* QArmTransaction::m_tranDefinition [protected, inherited]
 

Association to used transaction definition.

Definition at line 191 of file qarmtransaction.h.

Referenced by ~QSimpleArmTran().


The documentation for this class was generated from the following files:
Generated on Thu Dec 15 19:14:25 2005 for QArm API by  doxygen 1.4.2