summaryrefslogtreecommitdiffstats
path: root/fluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /fluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh
parentInitial commit. (diff)
downloadnetdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz
netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'fluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh')
-rwxr-xr-xfluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/fluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh b/fluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh
new file mode 100755
index 00000000..f77b2a12
--- /dev/null
+++ b/fluent-bit/lib/librdkafka-2.1.0/tests/parse-refcnt.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+#
+
+set -e
+
+# Parse a log with --enable-refcnt output enabled.
+
+log="$1"
+
+if [[ ! -f $log ]]; then
+ echo "Usage: $0 <log-file>"
+ exit 1
+fi
+
+
+# Create a file with all refcnt creations
+cfile=$(mktemp)
+grep 'REFCNT.* 0 +1:' $log | awk '{print $6}' | sort > $cfile
+
+# .. and one file with all refcnt destructions
+dfile=$(mktemp)
+grep 'REFCNT.* 1 -1:' $log | awk '{print $6}' | sort > $dfile
+
+# For each refcnt that was never destructed (never reached 0), find it
+# in the input log.
+
+seen=
+for p in $(grep -v -f $dfile $cfile) ; do
+ echo "=== REFCNT $p never reached 0 ==="
+ grep -nH "$p" $log
+ echo ""
+ seen=yes
+done
+
+rm -f "$cfile" "$dfile"
+
+if [[ -z $seen ]]; then
+ echo "No refcount leaks found"
+ exit 0
+fi
+
+exit 2