Added a stroke memusage command to show memory usage

This commit is contained in:
Martin Willi
2011-05-16 15:22:21 +02:00
parent fce3b5c3ba
commit dfe9bad981
5 changed files with 31 additions and 0 deletions
@@ -417,6 +417,18 @@ static void stroke_leases(private_stroke_socket_t *this,
this->list->leases(this->list, msg, out); this->list->leases(this->list, msg, out);
} }
/**
* Show memory usage
*/
static void stroke_memusage(private_stroke_socket_t *this,
stroke_msg_t *msg, FILE *out)
{
if (lib->leak_detective)
{
lib->leak_detective->usage(lib->leak_detective, out);
}
}
/** /**
* set the verbosity debug output * set the verbosity debug output
*/ */
@@ -572,6 +584,9 @@ static job_requeue_t process(stroke_job_context_t *ctx)
case STR_LEASES: case STR_LEASES:
stroke_leases(this, msg, out); stroke_leases(this, msg, out);
break; break;
case STR_MEMUSAGE:
stroke_memusage(this, msg, out);
break;
default: default:
DBG1(DBG_CFG, "received unknown stroke"); DBG1(DBG_CFG, "received unknown stroke");
break; break;
+12
View File
@@ -326,6 +326,15 @@ static int leases(stroke_keyword_t kw, char *pool, char *address)
return send_stroke_msg(&msg); return send_stroke_msg(&msg);
} }
static int memusage()
{
stroke_msg_t msg;
msg.type = STR_MEMUSAGE;
msg.length = offsetof(stroke_msg_t, buffer);
return send_stroke_msg(&msg);
}
static int set_loglevel(char *type, u_int level) static int set_loglevel(char *type, u_int level)
{ {
stroke_msg_t msg; stroke_msg_t msg;
@@ -530,6 +539,9 @@ int main(int argc, char *argv[])
res = leases(token->kw, argc > 2 ? argv[2] : NULL, res = leases(token->kw, argc > 2 ? argv[2] : NULL,
argc > 3 ? argv[3] : NULL); argc > 3 ? argv[3] : NULL);
break; break;
case STROKE_MEMUSAGE:
res = memusage();
break;
default: default:
exit_usage(NULL); exit_usage(NULL);
} }
+1
View File
@@ -54,6 +54,7 @@ typedef enum {
STROKE_PURGE_IKE, STROKE_PURGE_IKE,
STROKE_EXPORT_X509, STROKE_EXPORT_X509,
STROKE_LEASES, STROKE_LEASES,
STROKE_MEMUSAGE,
} stroke_keyword_t; } stroke_keyword_t;
#define STROKE_LIST_FIRST STROKE_LIST_PUBKEYS #define STROKE_LIST_FIRST STROKE_LIST_PUBKEYS
+1
View File
@@ -61,3 +61,4 @@ purgecerts, STROKE_PURGE_CERTS
purgeike, STROKE_PURGE_IKE purgeike, STROKE_PURGE_IKE
exportx509, STROKE_EXPORT_X509 exportx509, STROKE_EXPORT_X509
leases, STROKE_LEASES leases, STROKE_LEASES
memusage, STROKE_MEMUSAGE
+2
View File
@@ -212,6 +212,8 @@ struct stroke_msg_t {
STR_LEASES, STR_LEASES,
/* export credentials */ /* export credentials */
STR_EXPORT, STR_EXPORT,
/* print memory usage details */
STR_MEMUSAGE,
/* more to come */ /* more to come */
} type; } type;