aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/chattymalloc.c3
-rwxr-xr-xsrc/chattyparser.py19
2 files changed, 13 insertions, 9 deletions
diff --git a/src/chattymalloc.c b/src/chattymalloc.c
index 8614a27..36b50c9 100644
--- a/src/chattymalloc.c
+++ b/src/chattymalloc.c
@@ -7,6 +7,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sys/types.h>
#include <unistd.h>
static char tmpbuff[4096];
@@ -40,6 +41,8 @@ write_output(const char* fmt, ...)
/* lockf(out, F_LOCK, 0); */
+ dprintf(out, "%d: ", gettid());
+
va_list args;
va_start(args, fmt);
vdprintf(out, fmt, args);
diff --git a/src/chattyparser.py b/src/chattyparser.py
index 586bccb..6297754 100755
--- a/src/chattyparser.py
+++ b/src/chattyparser.py
@@ -24,20 +24,21 @@ import sys
import matplotlib.pyplot as plt
import numpy as np
+TID = "(?P<tid>\\d+)"
PTR = "(?:0x)?(?P<ptr>(?:\\w+)|(?:\\(nil\\)))"
SIZE = "(?P<size>\\d+)"
ALIGNMENT = "(?P<alignment>\\d+)"
-MALLOC_RE = re.compile(f"^m {SIZE} {PTR}$")
-FREE_RE = re.compile(f"^f {PTR}$")
-CALLOC_RE = re.compile(f"^c (?P<nmemb>\\d+) {SIZE} {PTR}$")
-REALLOC_RE = re.compile(f"^r {PTR} {SIZE} {PTR.replace('ptr', 'nptr')}$")
-MEMALIGN_RE = re.compile(f"^ma {ALIGNMENT} {SIZE} {PTR}$")
+MALLOC_RE = re.compile(f"^{TID}: m {SIZE} {PTR}$")
+FREE_RE = re.compile(f"^{TID}: f {PTR}$")
+CALLOC_RE = re.compile(f"^{TID}: c (?P<nmemb>\\d+) {SIZE} {PTR}$")
+REALLOC_RE = re.compile(f"^{TID}: r {PTR} {SIZE} {PTR.replace('ptr', 'nptr')}$")
+MEMALIGN_RE = re.compile(f"^{TID}: ma {ALIGNMENT} {SIZE} {PTR}$")
POSIX_MEMALIGN_RE = re.compile(
- f"^p_ma {PTR} {ALIGNMENT} {SIZE} (?P<ret>\\d+)$")
-VALLOC_RE = re.compile(f"^v {SIZE} {PTR}$")
-PVALLOC_RE = re.compile(f"^pv {SIZE} {PTR}$")
-ALIGNED_ALLOC_RE = re.compile(f"^a_m {ALIGNMENT} {SIZE} {PTR}$")
+ f"^{TID}: p_ma {PTR} {ALIGNMENT} {SIZE} (?P<ret>\\d+)$")
+VALLOC_RE = re.compile(f"^{TID}: v {SIZE} {PTR}$")
+PVALLOC_RE = re.compile(f"^{TID}: pv {SIZE} {PTR}$")
+ALIGNED_ALLOC_RE = re.compile(f"^{TID}: a_m {ALIGNMENT} {SIZE} {PTR}$")
TRACE_REGEX = {
"malloc": MALLOC_RE,