rpm  5.4.15
Data Structures | Typedefs | Enumerations | Functions | Variables
rpmsw.h File Reference
#include <stdio.h>
#include <sys/time.h>
Include dependency graph for rpmsw.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rpmsw_s
 
struct  rpmop_s
 Cumulative statistics for an operation. More...
 

Typedefs

typedef unsigned long int rpmtime_t
 
typedef struct rpmsw_srpmsw
 
typedef struct rpmop_srpmop
 
typedef enum rpmswOpX_e rpmswOpX
 Indices for timestamps. More...
 

Enumerations

enum  rpmswOpX_e {
  RPMSW_OP_TOTAL = 0, RPMSW_OP_CHECK = 1, RPMSW_OP_ORDER = 2, RPMSW_OP_FINGERPRINT = 3,
  RPMSW_OP_REPACKAGE = 4, RPMSW_OP_INSTALL = 5, RPMSW_OP_ERASE = 6, RPMSW_OP_SCRIPTLETS = 7,
  RPMSW_OP_COMPRESS = 8, RPMSW_OP_UNCOMPRESS = 9, RPMSW_OP_DIGEST = 10, RPMSW_OP_SIGNATURE = 11,
  RPMSW_OP_DBADD = 12, RPMSW_OP_DBREMOVE = 13, RPMSW_OP_DBGET = 14, RPMSW_OP_DBPUT = 15,
  RPMSW_OP_DBDEL = 16, RPMSW_OP_READHDR = 17, RPMSW_OP_HDRLOAD = 18, RPMSW_OP_HDRGET = 19,
  RPMSW_OP_DEBUG = 20, RPMSW_OP_MAX = 20
}
 Indices for timestamps. More...
 

Functions

rpmsw rpmswNow (rpmsw sw)
 Return benchmark time stamp. More...
 
rpmtime_t rpmswDiff (rpmsw end, rpmsw begin)
 Return benchmark time stamp difference. More...
 
rpmtime_t rpmswInit (void)
 Return benchmark time stamp overhead. More...
 
int rpmswEnter (rpmop op, ssize_t rc)
 Enter timed operation. More...
 
rpmtime_t rpmswExit (rpmop op, ssize_t rc)
 Exit timed operation. More...
 
rpmtime_t rpmswAdd (rpmop to, rpmop from)
 Sum statistic counters. More...
 
rpmtime_t rpmswSub (rpmop to, rpmop from)
 Subtract statistic counters. More...
 
void rpmswPrint (const char *name, rpmop op, FILE *fp)
 Print operation statistics. More...
 

Variables

int _rpmsw_stats
 

Typedef Documentation

typedef struct rpmop_s* rpmop

Definition at line 24 of file rpmsw.h.

typedef struct rpmsw_s* rpmsw

Definition at line 20 of file rpmsw.h.

typedef enum rpmswOpX_e rpmswOpX

Indices for timestamps.

typedef unsigned long int rpmtime_t

Definition at line 16 of file rpmsw.h.

Enumeration Type Documentation

enum rpmswOpX_e

Indices for timestamps.

Enumerator
RPMSW_OP_TOTAL 
RPMSW_OP_CHECK 
RPMSW_OP_ORDER 
RPMSW_OP_FINGERPRINT 
RPMSW_OP_REPACKAGE 
RPMSW_OP_INSTALL 
RPMSW_OP_ERASE 
RPMSW_OP_SCRIPTLETS 
RPMSW_OP_COMPRESS 
RPMSW_OP_UNCOMPRESS 
RPMSW_OP_DIGEST 
RPMSW_OP_SIGNATURE 
RPMSW_OP_DBADD 
RPMSW_OP_DBREMOVE 
RPMSW_OP_DBGET 
RPMSW_OP_DBPUT 
RPMSW_OP_DBDEL 
RPMSW_OP_READHDR 
RPMSW_OP_HDRLOAD 
RPMSW_OP_HDRGET 
RPMSW_OP_DEBUG 
RPMSW_OP_MAX 

Definition at line 52 of file rpmsw.h.

Function Documentation

rpmtime_t rpmswAdd ( rpmop  to,
rpmop  from 
)

Sum statistic counters.

Parameters
toresult statistics
fromoperation statistics
Returns
cumulative usecs for operation

Definition at line 280 of file rpmsw.c.

References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.

Referenced by compare(), fsmTeardown(), grep_or_recurse(), headerScrub(), iosmStage(), iosmTeardown(), mireLoadPatternFiles(), mtreeVisitF(), psmWait(), rpmdcFiniFile(), rpmpsmStage(), rpmReadPackageFile(), rpmrepoFclose(), rpmtsCleanDig(), rpmtsCloseDB(), rpmtsCloseSDB(), and rpmtsPrintStats().

rpmtime_t rpmswDiff ( rpmsw  end,
rpmsw  begin 
)

Return benchmark time stamp difference.

Parameters
*endend time stamp
*beginbegin time stamp
Returns
difference in micro-seconds

Definition at line 123 of file rpmsw.c.

References rpmsw_cycles, rpmsw_overhead, rpmsw_type, rpmsw_s::ticks, rpmsw_s::tv, tvsub(), and rpmsw_s::u.

Referenced by rpmswExit(), and rpmswInit().

int rpmswEnter ( rpmop  op,
ssize_t  rc 
)
rpmtime_t rpmswExit ( rpmop  op,
ssize_t  rc 
)
rpmtime_t rpmswInit ( void  )

Return benchmark time stamp overhead.

Returns
overhead in micro-seconds

Definition at line 180 of file rpmsw.c.

References i, rpmsw_cycles, rpmsw_initialized, rpmsw_overhead, rpmsw_type, rpmswDiff(), and rpmswNow().

Referenced by rpmswNow().

rpmsw rpmswNow ( rpmsw  sw)

Return benchmark time stamp.

Parameters
*swtime stamp
Returns
0 on success

Definition at line 84 of file rpmsw.c.

References rpmsw_initialized, rpmsw_type, rpmswInit(), rpmsw_s::ticks, rpmsw_s::tv, and rpmsw_s::u.

Referenced by rpmswEnter(), rpmswExit(), and rpmswInit().

void rpmswPrint ( const char *  name,
rpmop  op,
FILE *  fp 
)

Print operation statistics.

Parameters
nameoperation name
opoperation statistics
fpfile handle (NULL uses stderr)

Definition at line 304 of file rpmsw.c.

References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.

Referenced by main().

rpmtime_t rpmswSub ( rpmop  to,
rpmop  from 
)

Subtract statistic counters.

Parameters
toresult statistics
fromoperation statistics
Returns
cumulative usecs for operation

Definition at line 292 of file rpmsw.c.

References rpmop_s::bytes, rpmop_s::count, and rpmop_s::usecs.

Referenced by rpmReadPackageFile().

Variable Documentation

int _rpmsw_stats

Definition at line 20 of file rpmsw.c.

Referenced by main().