mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
New function log_clock.
* common/logging.c (log_clock): New. * g10/gpg.c (set_debug): Print clock debug flag. * g10/options.h (DBG_CLOCK_VALUE, DBG_CLOCK): New. -- To actually use log_clock you need to enable the code in logginc.c:log_check() and link against librt. --debug 4096 may then be used to enable it at runtime.
This commit is contained in:
parent
fb31462e7e
commit
0baedfd25a
@ -857,6 +857,33 @@ log_printhex (const char *text, const void *buffer, size_t length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
log_clock (const char *string)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
static unsigned long long initial;
|
||||||
|
struct timespec tv;
|
||||||
|
unsigned long long now;
|
||||||
|
|
||||||
|
if (clock_gettime (CLOCK_REALTIME, &tv))
|
||||||
|
{
|
||||||
|
log_debug ("error getting the realtime clock value\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
now = tv.tv_sec * 1000000000ull;
|
||||||
|
now += tv.tv_nsec;
|
||||||
|
|
||||||
|
if (!initial)
|
||||||
|
initial = now;
|
||||||
|
|
||||||
|
log_debug ("[%llu] %s", now - initial, string);
|
||||||
|
#else
|
||||||
|
/* You need to link with -ltr to enable the above code. */
|
||||||
|
log_debug ("[not enabled in the source] %s", string);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 )
|
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 5 )
|
||||||
void
|
void
|
||||||
bug_at( const char *file, int line, const char *func )
|
bug_at( const char *file, int line, const char *func )
|
||||||
|
@ -96,5 +96,7 @@ void log_flush (void);
|
|||||||
by the hexdump and a final LF. */
|
by the hexdump and a final LF. */
|
||||||
void log_printhex (const char *text, const void *buffer, size_t length);
|
void log_printhex (const char *text, const void *buffer, size_t length);
|
||||||
|
|
||||||
|
void log_clock (const char *string);
|
||||||
|
|
||||||
|
|
||||||
#endif /*LIBJNLIB_LOGGING_H*/
|
#endif /*LIBJNLIB_LOGGING_H*/
|
||||||
|
@ -1029,7 +1029,7 @@ set_debug (const char *level)
|
|||||||
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
gcry_control (GCRYCTL_SET_VERBOSITY, (int)opt.verbose);
|
||||||
|
|
||||||
if (opt.debug)
|
if (opt.debug)
|
||||||
log_info ("enabled debug flags:%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
|
log_info ("enabled debug flags:%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
|
||||||
(opt.debug & DBG_PACKET_VALUE )? " packet":"",
|
(opt.debug & DBG_PACKET_VALUE )? " packet":"",
|
||||||
(opt.debug & DBG_MPI_VALUE )? " mpi":"",
|
(opt.debug & DBG_MPI_VALUE )? " mpi":"",
|
||||||
(opt.debug & DBG_CIPHER_VALUE )? " cipher":"",
|
(opt.debug & DBG_CIPHER_VALUE )? " cipher":"",
|
||||||
@ -1042,7 +1042,8 @@ set_debug (const char *level)
|
|||||||
(opt.debug & DBG_HASHING_VALUE)? " hashing":"",
|
(opt.debug & DBG_HASHING_VALUE)? " hashing":"",
|
||||||
(opt.debug & DBG_EXTPROG_VALUE)? " extprog":"",
|
(opt.debug & DBG_EXTPROG_VALUE)? " extprog":"",
|
||||||
(opt.debug & DBG_CARD_IO_VALUE)? " cardio":"",
|
(opt.debug & DBG_CARD_IO_VALUE)? " cardio":"",
|
||||||
(opt.debug & DBG_ASSUAN_VALUE )? " assuan":"");
|
(opt.debug & DBG_ASSUAN_VALUE )? " assuan":"",
|
||||||
|
(opt.debug & DBG_CLOCK_VALUE )? " clock":"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -3114,6 +3115,8 @@ main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
set_debug (debug_level);
|
set_debug (debug_level);
|
||||||
|
if (DBG_CLOCK)
|
||||||
|
log_clock ("start");
|
||||||
|
|
||||||
/* Do these after the switch(), so they can override settings. */
|
/* Do these after the switch(), so they can override settings. */
|
||||||
if(PGP2)
|
if(PGP2)
|
||||||
@ -4097,6 +4100,8 @@ void
|
|||||||
g10_exit( int rc )
|
g10_exit( int rc )
|
||||||
{
|
{
|
||||||
gcry_control (GCRYCTL_UPDATE_RANDOM_SEED_FILE);
|
gcry_control (GCRYCTL_UPDATE_RANDOM_SEED_FILE);
|
||||||
|
if (DBG_CLOCK)
|
||||||
|
log_clock ("stop");
|
||||||
if ( (opt.debug & DBG_MEMSTAT_VALUE) )
|
if ( (opt.debug & DBG_MEMSTAT_VALUE) )
|
||||||
{
|
{
|
||||||
gcry_control (GCRYCTL_DUMP_MEMORY_STATS);
|
gcry_control (GCRYCTL_DUMP_MEMORY_STATS);
|
||||||
|
@ -1156,6 +1156,9 @@ keydb_search2 (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,
|
|||||||
if (!hd)
|
if (!hd)
|
||||||
return gpg_error (GPG_ERR_INV_ARG);
|
return gpg_error (GPG_ERR_INV_ARG);
|
||||||
|
|
||||||
|
if (DBG_CLOCK)
|
||||||
|
log_clock ("keydb_search enter");
|
||||||
|
|
||||||
rc = -1;
|
rc = -1;
|
||||||
while ((rc == -1 || gpg_err_code (rc) == GPG_ERR_EOF)
|
while ((rc == -1 || gpg_err_code (rc) == GPG_ERR_EOF)
|
||||||
&& hd->current >= 0 && hd->current < hd->used)
|
&& hd->current >= 0 && hd->current < hd->used)
|
||||||
@ -1182,6 +1185,8 @@ keydb_search2 (KEYDB_HANDLE hd, KEYDB_SEARCH_DESC *desc,
|
|||||||
hd->found = hd->current;
|
hd->found = hd->current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (DBG_CLOCK)
|
||||||
|
log_clock ("keydb_search leave");
|
||||||
return ((rc == -1 || gpg_err_code (rc) == GPG_ERR_EOF)
|
return ((rc == -1 || gpg_err_code (rc) == GPG_ERR_EOF)
|
||||||
? gpg_error (GPG_ERR_NOT_FOUND)
|
? gpg_error (GPG_ERR_NOT_FOUND)
|
||||||
: rc);
|
: rc);
|
||||||
|
@ -271,6 +271,7 @@ struct {
|
|||||||
#define DBG_HASHING_VALUE 512 /* debug hashing operations */
|
#define DBG_HASHING_VALUE 512 /* debug hashing operations */
|
||||||
#define DBG_EXTPROG_VALUE 1024 /* debug external program calls */
|
#define DBG_EXTPROG_VALUE 1024 /* debug external program calls */
|
||||||
#define DBG_CARD_IO_VALUE 2048 /* debug smart card I/O. */
|
#define DBG_CARD_IO_VALUE 2048 /* debug smart card I/O. */
|
||||||
|
#define DBG_CLOCK_VALUE 4096
|
||||||
|
|
||||||
/* Fixme: For now alias this value. */
|
/* Fixme: For now alias this value. */
|
||||||
#define DBG_ASSUAN_VALUE DBG_EXTPROG_VALUE
|
#define DBG_ASSUAN_VALUE DBG_EXTPROG_VALUE
|
||||||
@ -286,6 +287,7 @@ struct {
|
|||||||
#define DBG_EXTPROG (opt.debug & DBG_EXTPROG_VALUE)
|
#define DBG_EXTPROG (opt.debug & DBG_EXTPROG_VALUE)
|
||||||
#define DBG_CARD_IO (opt.debug & DBG_CARD_IO_VALUE)
|
#define DBG_CARD_IO (opt.debug & DBG_CARD_IO_VALUE)
|
||||||
#define DBG_ASSUAN (opt.debug & DBG_ASSUAN_VALUE)
|
#define DBG_ASSUAN (opt.debug & DBG_ASSUAN_VALUE)
|
||||||
|
#define DBG_CLOCK (opt.debug & DBG_CLOCK_VALUE)
|
||||||
|
|
||||||
/* FIXME: We need to check whey we did not put this into opt. */
|
/* FIXME: We need to check whey we did not put this into opt. */
|
||||||
#define DBG_MEMORY memory_debug_mode
|
#define DBG_MEMORY memory_debug_mode
|
||||||
|
Loading…
x
Reference in New Issue
Block a user