diff --git a/src/process.c b/src/process.c index 5f04988..0a7179c 100644 --- a/src/process.c +++ b/src/process.c @@ -57,11 +57,19 @@ int parseStatFile(Process *proc, char *filedata) { // (15) stime - %lu proc->cpuTime += fast_str2ull(&location); + location += 1; + + // (16) cutime - %lu + proc->cpuTime += fast_str2ull(&location); + location += 1; + + // (17) cstime - %lu + proc->cpuTime += fast_str2ull(&location); proc->cCpuTime = proc->cpuTime; location += 1; - // skip 16-19 - skipRange(16, 20); + // skip 18-19 + skipRange(18, 20); // (20) num_threads - %ld proc->nThreads = fast_str2ull(&location); @@ -354,6 +362,7 @@ nextProcess: ptr += sprintf(ptr, "process_cumulative_swap_bytes{%s} %lu\n", buffer, cur->cSwap); ptr += sprintf(ptr, "process_cumulative_bytes_read{%s} %lu\n", buffer, cur->cRead); ptr += sprintf(ptr, "process_cumulative_bytes_written{%s} %lu\n", buffer, cur->cWrite); + // stats used to make flame chart ptr += sprintf(ptr, "process_tree_depth{%s} %d\n", buffer, cur->level); ptr += sprintf(ptr, "process_visit_index{%s} %d\n", buffer, cur->visited); @@ -379,4 +388,4 @@ nextProcess: free(buffer); free(fname); return output; -} \ No newline at end of file +} diff --git a/src/server.c b/src/server.c index 08cdbe2..09d483f 100644 --- a/src/server.c +++ b/src/server.c @@ -86,6 +86,7 @@ void handle_client(int client_socket) { closeConnection: printf("Closing connection\n"); // Close the client socket + usleep(100000); close(client_socket); free(data); }