X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=instance.c;fp=instance.c;h=45706ba9ce28f465856091e9f9d337be70acaec9;hp=d9530e5e7e0f19c02133c1347d176c2ca53992cf;hb=8555851160bcc5a04acfa8837af0977b82f7b500;hpb=392ad3ba793f44a343026d5d49f7b8dc1435a2b8 diff --git a/instance.c b/instance.c index d9530e5..45706ba 100644 --- a/instance.c +++ b/instance.c @@ -422,6 +422,7 @@ instance_init(struct service_instance *in, struct service *s, struct blob_attr * void instance_dump(struct blob_buf *b, struct service_instance *in, int verbose) { void *i; + struct pid_info pi; i = blobmsg_open_table(b, in->name); blobmsg_add_u8(b, "running", in->proc.pending); @@ -430,5 +431,18 @@ void instance_dump(struct blob_buf *b, struct service_instance *in, int verbose) blobmsg_add_blob(b, in->command); if (verbose && in->trigger) blobmsg_add_blob(b, in->trigger); + if (!measure_process(in->proc.pid, &pi)) { + struct timespec tp; + long uptime; + + clock_gettime(CLOCK_MONOTONIC, &tp); + uptime = tp.tv_sec - in->start.tv_sec; + + blobmsg_add_u8(b, "ppid", pi.ppid); + blobmsg_add_u16(b, "uid", pi.uid); + blobmsg_add_u32(b, "fdcount", pi.fdcount); + blobmsg_add_u32(b, "vmsize", pi.vmsize); + blobmsg_add_u32(b, "uptime", uptime); + } blobmsg_close_table(b, i); }