Compare commits

...
1 Commits
Author SHA1 Message Date
Laan Tungir 2d2ca79dfd v2.1.9 - Add Raspberry Pi ARM64 static build support 2026-04-23 06:44:45 -04:00
17 changed files with 2502 additions and 138 deletions
+16 -4
View File
@@ -92,8 +92,20 @@ RUN cd c_utils_lib && \
RUN cd nostr_core_lib && \
chmod +x build.sh && \
sed -i 's/CFLAGS="-Wall -Wextra -std=c99 -fPIC -O2"/CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -Wall -Wextra -std=c99 -fPIC -O2"/' build.sh && \
if [ "$(uname -m)" = "aarch64" ] && ! command -v aarch64-linux-gnu-gcc >/dev/null 2>&1; then \
ln -sf /usr/bin/gcc /usr/local/bin/aarch64-linux-gnu-gcc; \
fi && \
rm -f *.o *.a 2>/dev/null || true && \
./build.sh --nips=1,6,13,17,19,44,59
./build.sh --nips=1,6,13,17,19,44,59 && \
if [ -f libnostr_core_arm64.a ]; then \
cp libnostr_core_arm64.a libnostr_core.a; \
elif [ -f libnostr_core_x64.a ]; then \
cp libnostr_core_x64.a libnostr_core.a; \
else \
echo "ERROR: No supported nostr_core static library produced"; \
ls -la *.a 2>/dev/null || true; \
exit 1; \
fi
# Copy c-relay source files LAST (only this layer rebuilds on source changes)
COPY src/ /build/src/
@@ -103,9 +115,9 @@ COPY Makefile /build/Makefile
# Disable fortification to avoid __*_chk symbols that don't exist in MUSL
# Use conditional compilation flags based on DEBUG_BUILD argument
RUN if [ "$DEBUG_BUILD" = "true" ]; then \
CFLAGS="-g -O2 -DDEBUG"; \
CFLAGS="-g -O2 -DDEBUG -fno-omit-frame-pointer"; \
STRIP_CMD="echo 'Keeping debug symbols'"; \
echo "Building with DEBUG symbols enabled (optimized with -O2)"; \
echo "Building with DEBUG symbols enabled (optimized with -O2, frame pointers kept for perf)"; \
else \
CFLAGS="-O2"; \
STRIP_CMD="strip /build/c_relay_static"; \
@@ -121,7 +133,7 @@ RUN if [ "$DEBUG_BUILD" = "true" ]; then \
src/db_ops.c src/thread_pool.c \
-o /build/c_relay_static \
c_utils_lib/libc_utils.a \
nostr_core_lib/libnostr_core_x64.a \
nostr_core_lib/libnostr_core.a \
-lwebsockets -lssl -lcrypto -lsqlite3 -lsecp256k1 \
-lcurl -lz -lpthread -lm -ldl && \
eval "$STRIP_CMD"
+23 -67
View File
@@ -92,63 +92,20 @@ x86: $(BUILD_DIR) src/main.h src/sql_schema.h $(MAIN_SRC) $(NOSTR_CORE_LIB) $(C_
$(CC) $(CFLAGS) $(INCLUDES) $(MAIN_SRC) -o $(BUILD_DIR)/c_relay_x86 $(NOSTR_CORE_LIB) $(C_UTILS_LIB) $(LIBS)
@echo "Build complete: $(BUILD_DIR)/c_relay_x86"
arm64: $(BUILD_DIR) src/main.h src/sql_schema.h $(MAIN_SRC) $(NOSTR_CORE_LIB) $(C_UTILS_LIB)
@echo "Cross-compiling C-Relay for ARM64..."
@if ! command -v aarch64-linux-gnu-gcc >/dev/null 2>&1; then \
echo "ERROR: ARM64 cross-compiler not found."; \
echo "Install with: make install-cross-tools"; \
echo "Or install manually: sudo apt install gcc-aarch64-linux-gnu"; \
exit 1; \
fi
@echo "Checking for ARM64 development libraries..."
@if ! dpkg -l | grep -q "libssl-dev:arm64\|libsqlite3-dev:arm64"; then \
echo "ERROR: ARM64 libraries not found. Cross-compilation requires ARM64 versions of:"; \
echo " - libssl-dev:arm64"; \
echo " - libsqlite3-dev:arm64"; \
echo " - libwebsockets-dev:arm64"; \
echo " - libsecp256k1-dev:arm64"; \
echo " - zlib1g-dev:arm64"; \
echo " - libcurl4-openssl-dev:arm64"; \
echo ""; \
echo "Install ARM64 libraries with: make install-arm64-deps"; \
echo "Or use Docker for cross-platform builds."; \
exit 1; \
fi
@echo "Using aarch64-linux-gnu-gcc with ARM64 libraries..."
PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig \
aarch64-linux-gnu-gcc $(CFLAGS) $(INCLUDES) $(MAIN_SRC) -o $(BUILD_DIR)/c_relay_arm64 $(NOSTR_CORE_LIB) $(C_UTILS_LIB) \
-L/usr/lib/aarch64-linux-gnu $(LIBS)
@echo "Build complete: $(BUILD_DIR)/c_relay_arm64"
# Install ARM64 cross-compilation dependencies
install-arm64-deps:
@echo "Installing ARM64 cross-compilation dependencies..."
@echo "This requires adding ARM64 architecture and installing cross-libraries..."
sudo dpkg --add-architecture arm64
sudo apt update
sudo apt install -y \
gcc-aarch64-linux-gnu \
libc6-dev-arm64-cross \
libssl-dev:arm64 \
libsqlite3-dev:arm64 \
zlib1g-dev:arm64 \
libcurl4-openssl-dev:arm64
@echo "Note: libwebsockets-dev:arm64 and libsecp256k1-dev:arm64 may need manual building"
# Install cross-compilation tools
install-cross-tools:
@echo "Installing cross-compilation tools..."
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu libc6-dev-arm64-cross
# Check what architectures we can actually build
# Check local build tooling used by static Docker builder
check-toolchain:
@echo "Checking available toolchains:"
@echo "Native compiler: $(shell $(CC) --version | head -1)"
@if command -v aarch64-linux-gnu-gcc >/dev/null 2>&1; then \
echo "ARM64 cross-compiler: $(shell aarch64-linux-gnu-gcc --version | head -1)"; \
@if command -v docker >/dev/null 2>&1; then \
echo "Docker: $$(docker --version)"; \
else \
echo "ARM64 cross-compiler: NOT INSTALLED (install with 'make install-cross-tools')"; \
echo "Docker: NOT INSTALLED"; \
fi
@if docker buildx version >/dev/null 2>&1; then \
echo "Docker buildx: AVAILABLE"; \
else \
echo "Docker buildx: NOT AVAILABLE (required for cross-architecture static builds)"; \
fi
# Run tests
@@ -185,42 +142,41 @@ help:
@echo "Targets:"
@echo " all Build the relay for current architecture (default)"
@echo " x86 Build specifically for x86_64"
@echo " arm64 Build for ARM64 (requires cross-compilation setup)"
@echo " static-musl-x86_64 Build static MUSL binary using Docker (host arch default)"
@echo " static-musl-arm64 Build static MUSL ARM64 binary using Docker buildx"
@echo " static-musl Build both static MUSL binaries"
@echo " test Build and run tests"
@echo " init-db Initialize the database"
@echo " clean Clean build artifacts"
@echo " clean-all Clean everything including dependencies"
@echo " install-deps Install system dependencies"
@echo " install-cross-tools Install basic ARM64 cross-compiler"
@echo " install-arm64-deps Install ARM64 cross-compilation libraries"
@echo " check-toolchain Check available compilers"
@echo " check-toolchain Check available local tooling"
@echo " help Show this help"
@echo ""
@echo "Usage:"
@echo " make # Build the relay for current arch"
@echo " make x86 # Build for x86_64"
@echo " make arm64 # Build for ARM64 (fails if cross-compilation not set up)"
@echo " make install-arm64-deps # Install full ARM64 cross-compilation setup"
@echo " make check-toolchain # Check what compilers are available"
@echo " make static-musl-x86_64 # Build static binary via ./build_static.sh"
@echo " make static-musl-arm64 # Build ARM64 static binary via ./build_static.sh --arch arm64"
@echo " make static-musl # Build both static binaries"
@echo " make check-toolchain # Check docker/buildx availability"
@echo " make test # Run tests"
@echo " make init-db # Set up database"
@echo " make force-version # Force regenerate main.h from git"
# Build fully static MUSL binaries using Docker
static-musl-x86_64:
@echo "Building fully static MUSL binary for x86_64..."
docker buildx build --platform linux/amd64 -f examples/deployment/static-builder.Dockerfile -t c-relay-static-builder-x86_64 --load .
docker run --rm -v $(PWD)/build:/output c-relay-static-builder-x86_64 sh -c "cp /c_relay_static_musl_x86_64 /output/"
@echo "Static binary created: build/c_relay_static_musl_x86_64"
@echo "Building fully static MUSL binary using host architecture default..."
./build_static.sh
@echo "Static binary created in build/ (host architecture naming)"
static-musl-arm64:
@echo "Building fully static MUSL binary for ARM64..."
docker buildx build --platform linux/arm64 -f examples/deployment/static-builder.Dockerfile -t c-relay-static-builder-arm64 --load .
docker run --rm -v $(PWD)/build:/output c-relay-static-builder-arm64 sh -c "cp /c_relay_static_musl_x86_64 /output/c_relay_static_musl_arm64"
@echo "Static binary created: build/c_relay_static_musl_arm64"
./build_static.sh --arch arm64
@echo "Static ARM64 binary created in build/"
static-musl: static-musl-x86_64 static-musl-arm64
@echo "Built static MUSL binaries for both architectures"
.PHONY: static-musl-x86_64 static-musl-arm64 static-musl
.PHONY: all x86 arm64 test init-db clean clean-all install-deps install-cross-tools install-arm64-deps check-toolchain help force-version
.PHONY: all x86 test init-db clean clean-all install-deps check-toolchain help force-version
+78 -3
View File
@@ -11,8 +11,41 @@ DOCKERFILE="$SCRIPT_DIR/Dockerfile.alpine-musl"
# Parse command line arguments
DEBUG_BUILD=false
if [[ "$1" == "--debug" ]]; then
DEBUG_BUILD=true
TARGET_ARCH=""
while [[ $# -gt 0 ]]; do
case "$1" in
--debug)
DEBUG_BUILD=true
shift
;;
--arch)
if [[ -z "$2" ]]; then
echo "ERROR: --arch requires a value"
echo "Usage: $0 [--debug] [--arch <arm64|armv7|x86_64>]"
exit 1
fi
case "$2" in
arm64|armv7|x86_64)
TARGET_ARCH="$2"
;;
*)
echo "ERROR: Unsupported architecture '$2'"
echo "Supported values: arm64, armv7, x86_64"
exit 1
;;
esac
shift 2
;;
*)
echo "ERROR: Unknown argument '$1'"
echo "Usage: $0 [--debug] [--arch <arm64|armv7|x86_64>]"
exit 1
;;
esac
done
if [ "$DEBUG_BUILD" = true ]; then
echo "=========================================="
echo "C-Relay MUSL Static Binary Builder (DEBUG MODE)"
echo "=========================================="
@@ -24,6 +57,9 @@ fi
echo "Project directory: $SCRIPT_DIR"
echo "Build directory: $BUILD_DIR"
echo "Debug build: $DEBUG_BUILD"
if [[ -n "$TARGET_ARCH" ]]; then
echo "Requested target architecture: $TARGET_ARCH"
fi
echo ""
# Create build directory
@@ -58,17 +94,43 @@ DOCKER_CMD="docker"
echo "✓ Docker is available and running"
echo ""
# Detect architecture
# Detect host architecture
ARCH=$(uname -m)
case "$ARCH" in
x86_64)
HOST_ARCH="x86_64"
;;
aarch64|arm64)
HOST_ARCH="arm64"
;;
armv7l|armv7)
HOST_ARCH="armv7"
;;
*)
HOST_ARCH="unknown"
;;
esac
# Resolve target architecture
if [[ -n "$TARGET_ARCH" ]]; then
ARCH="$TARGET_ARCH"
fi
case "$ARCH" in
x86_64)
PLATFORM="linux/amd64"
OUTPUT_NAME="c_relay_static_x86_64"
;;
aarch64|arm64)
ARCH="arm64"
PLATFORM="linux/arm64"
OUTPUT_NAME="c_relay_static_arm64"
;;
armv7l|armv7)
ARCH="armv7"
PLATFORM="linux/arm/v7"
OUTPUT_NAME="c_relay_static_armv7"
;;
*)
echo "WARNING: Unknown architecture: $ARCH"
echo "Defaulting to linux/amd64"
@@ -77,6 +139,19 @@ case "$ARCH" in
;;
esac
# When cross-building, ensure buildx exists and warn about QEMU/binfmt setup
if [[ "$HOST_ARCH" != "unknown" && "$ARCH" != "$HOST_ARCH" ]]; then
echo "NOTE: Cross-building from host '$HOST_ARCH' to target '$ARCH'."
echo " Docker QEMU/binfmt support is required for this to work."
if ! docker buildx version >/dev/null 2>&1; then
echo "ERROR: docker buildx is required for cross-architecture builds but is not available."
echo "Install/enable buildx and binfmt support, then retry."
exit 1
fi
echo "✓ docker buildx is available for cross-architecture build"
echo ""
fi
# Append _debug suffix to output name for debug builds so production binary is never overwritten
if [ "$DEBUG_BUILD" = true ]; then
OUTPUT_NAME="${OUTPUT_NAME}_debug"
+81 -26
View File
@@ -18,6 +18,8 @@ COMMIT_MESSAGE=""
RELEASE_MODE=false
VERSION_INCREMENT_TYPE="patch" # "patch", "minor", or "major"
VERSION_INCREMENT_EXPLICIT=false
show_usage() {
echo "C-Relay Increment and Push Script"
echo ""
@@ -30,6 +32,7 @@ show_usage() {
echo " $0 -m \"commit message\" Increment minor version"
echo " $0 -M \"commit message\" Increment major version"
echo " $0 -r \"commit message\" Create release with assets (no version increment)"
echo " $0 -r -p \"commit message\" Create release with patch version increment"
echo " $0 -r -m \"commit message\" Create release with minor version increment"
echo " $0 -h Show this help message"
echo ""
@@ -45,6 +48,7 @@ show_usage() {
echo " $0 -m \"Added new features\""
echo " $0 -M \"Breaking API changes\""
echo " $0 -r \"Release current version\""
echo " $0 -r -p \"Release with patch increment\""
echo " $0 -r -m \"Release with minor increment\""
echo ""
echo "VERSION INCREMENT MODES:"
@@ -53,7 +57,7 @@ show_usage() {
echo " -M, --major: Increment major version, zero minor+patch (v1.2.3 → v2.0.0)"
echo ""
echo "RELEASE MODE (-r flag):"
echo " - Build static binary using build_static.sh"
echo " - Build static binaries for x86_64 and ARM64 (Raspberry Pi) using build_static.sh"
echo " - Create source tarball"
echo " - Git add, commit, push, and create Gitea release with assets"
echo " - Can be combined with version increment flags"
@@ -72,14 +76,17 @@ while [[ $# -gt 0 ]]; do
;;
-p|--patch)
VERSION_INCREMENT_TYPE="patch"
VERSION_INCREMENT_EXPLICIT=true
shift
;;
-m|--minor)
VERSION_INCREMENT_TYPE="minor"
VERSION_INCREMENT_EXPLICIT=true
shift
;;
-M|--major)
VERSION_INCREMENT_TYPE="major"
VERSION_INCREMENT_EXPLICIT=true
shift
;;
-h|--help)
@@ -306,9 +313,9 @@ git_commit_and_push_no_tag() {
fi
}
# Function to build release binary
# Function to build release binaries
build_release_binary() {
print_status "Building release binary..."
print_status "Building release binaries..."
# Check if build_static.sh exists
if [[ ! -f "build_static.sh" ]]; then
@@ -316,14 +323,22 @@ build_release_binary() {
return 1
fi
# Run the static build script
# Build x86_64 first (required for success)
if ./build_static.sh > /dev/null 2>&1; then
print_success "Built static binary successfully"
return 0
print_success "Built x86_64 static binary successfully"
else
print_error "Failed to build static binary"
print_error "Failed to build x86_64 static binary"
return 1
fi
# Build arm64 second (warning-only on failure)
if ./build_static.sh --arch arm64 > /dev/null 2>&1; then
print_success "Built ARM64 static binary successfully"
else
print_warning "Failed to build ARM64 static binary (continuing with release)"
fi
return 0
}
# Function to create source tarball
@@ -353,8 +368,9 @@ create_source_tarball() {
# Function to upload release assets to Gitea
upload_release_assets() {
local release_id="$1"
local binary_path="$2"
local binary_path_x86="$2"
local tarball_path="$3"
local binary_path_arm64="$4"
print_status "Uploading release assets..."
@@ -369,9 +385,9 @@ upload_release_assets() {
local assets_url="$api_url/releases/$release_id/assets"
print_status "Assets URL: $assets_url"
# Upload binary
if [[ -f "$binary_path" ]]; then
print_status "Uploading binary: $(basename "$binary_path")"
# Upload x86_64 binary
if [[ -f "$binary_path_x86" ]]; then
print_status "Uploading binary: $(basename "$binary_path_x86")"
# Retry loop for eventual consistency
local max_attempts=3
@@ -380,11 +396,11 @@ upload_release_assets() {
print_status "Upload attempt $attempt/$max_attempts"
local binary_response=$(curl -fS -X POST "$assets_url" \
-H "Authorization: token $token" \
-F "attachment=@$binary_path;filename=$(basename "$binary_path")" \
-F "name=$(basename "$binary_path")")
-F "attachment=@$binary_path_x86;filename=$(basename "$binary_path_x86")" \
-F "name=$(basename "$binary_path_x86")")
if echo "$binary_response" | grep -q '"id"'; then
print_success "Uploaded binary successfully"
print_success "Uploaded x86_64 binary successfully"
break
else
print_warning "Upload attempt $attempt failed"
@@ -392,7 +408,37 @@ upload_release_assets() {
print_status "Retrying in 2 seconds..."
sleep 2
else
print_error "Failed to upload binary after $max_attempts attempts"
print_error "Failed to upload x86_64 binary after $max_attempts attempts"
print_error "Response: $binary_response"
fi
fi
((attempt++))
done
fi
# Upload ARM64 binary
if [[ -f "$binary_path_arm64" ]]; then
print_status "Uploading binary: $(basename "$binary_path_arm64")"
local max_attempts=3
local attempt=1
while [[ $attempt -le $max_attempts ]]; do
print_status "Upload attempt $attempt/$max_attempts"
local binary_response=$(curl -fS -X POST "$assets_url" \
-H "Authorization: token $token" \
-F "attachment=@$binary_path_arm64;filename=$(basename "$binary_path_arm64")" \
-F "name=$(basename "$binary_path_arm64")")
if echo "$binary_response" | grep -q '"id"'; then
print_success "Uploaded ARM64 binary successfully"
break
else
print_warning "Upload attempt $attempt failed"
if [[ $attempt -lt $max_attempts ]]; then
print_status "Retrying in 2 seconds..."
sleep 2
else
print_error "Failed to upload ARM64 binary after $max_attempts attempts"
print_error "Response: $binary_response"
fi
fi
@@ -482,7 +528,7 @@ main() {
print_status "=== RELEASE MODE ==="
# Only increment version if explicitly requested (not just because of -r flag)
if [[ "$VERSION_INCREMENT_TYPE" != "patch" ]]; then
if [[ "$VERSION_INCREMENT_EXPLICIT" == true ]]; then
increment_version "$VERSION_INCREMENT_TYPE"
else
# In release mode without version increment, get current version
@@ -504,16 +550,25 @@ main() {
git_commit_and_push_no_tag
# Build release binary
local binary_path_x86=""
local binary_path_arm64=""
if build_release_binary; then
local binary_path="build/c_relay_static_x86_64"
else
print_warning "Binary build failed, continuing with release creation"
# Check if binary exists from previous build
if [[ -f "build/c_relay_static_x86_64" ]]; then
print_status "Using existing binary from previous build"
binary_path="build/c_relay_static_x86_64"
else
binary_path=""
binary_path_x86="build/c_relay_static_x86_64"
fi
if [[ -f "build/c_relay_static_arm64" ]]; then
binary_path_arm64="build/c_relay_static_arm64"
fi
else
print_warning "x86_64 binary build failed, continuing with release creation"
# Check if binaries exist from previous build
if [[ -f "build/c_relay_static_x86_64" ]]; then
print_status "Using existing x86_64 binary from previous build"
binary_path_x86="build/c_relay_static_x86_64"
fi
if [[ -f "build/c_relay_static_arm64" ]]; then
print_status "Using existing ARM64 binary from previous build"
binary_path_arm64="build/c_relay_static_arm64"
fi
fi
@@ -531,8 +586,8 @@ main() {
# Validate release_id is numeric
if [[ "$release_id" =~ ^[0-9]+$ ]]; then
# Upload assets if we have a release ID and assets
if [[ -n "$release_id" && (-n "$binary_path" || -n "$tarball_path") ]]; then
upload_release_assets "$release_id" "$binary_path" "$tarball_path"
if [[ -n "$release_id" && (-n "$binary_path_x86" || -n "$binary_path_arm64" || -n "$tarball_path") ]]; then
upload_release_assets "$release_id" "$binary_path_x86" "$tarball_path" "$binary_path_arm64"
fi
print_success "Release $NEW_VERSION completed successfully!"
else
+2 -2
View File
@@ -13,8 +13,8 @@
// Using CRELAY_ prefix to avoid conflicts with nostr_core_lib VERSION macros
#define CRELAY_VERSION_MAJOR 2
#define CRELAY_VERSION_MINOR 1
#define CRELAY_VERSION_PATCH 8
#define CRELAY_VERSION "v2.1.8"
#define CRELAY_VERSION_PATCH 9
#define CRELAY_VERSION "v2.1.9"
// Relay metadata (authoritative source for NIP-11 information)
#define RELAY_NAME "C-Relay"
-18
View File
@@ -1,18 +0,0 @@
2026-04-01 09:57:22 - ==========================================
2026-04-01 09:57:22 - C-Relay Comprehensive Test Suite Runner
2026-04-01 09:57:22 - ==========================================
2026-04-01 09:57:22 - Relay URL: ws://127.0.0.1:8888
2026-04-01 09:57:22 - Log file: test_results_20260401_095722.log
2026-04-01 09:57:22 - Report file: test_report_20260401_095722.html
2026-04-01 09:57:22 -
2026-04-01 09:57:22 - Checking relay status at ws://127.0.0.1:8888...
2026-04-01 09:57:22 - \033[0;32m✓ Relay HTTP endpoint is accessible\033[0m
2026-04-01 09:57:22 -
2026-04-01 09:57:22 - Starting comprehensive test execution...
2026-04-01 09:57:22 -
2026-04-01 09:57:22 - \033[0;34m=== SECURITY TEST SUITES ===\033[0m
2026-04-01 09:57:22 - ==========================================
2026-04-01 09:57:22 - Running Test Suite: SQL Injection Tests
2026-04-01 09:57:22 - Description: Comprehensive SQL injection vulnerability testing
2026-04-01 09:57:22 - ==========================================
2026-04-01 09:57:22 - \033[0;31mERROR: Test script sql_injection_tests.sh not found\033[0m
-18
View File
@@ -1,18 +0,0 @@
2026-04-01 11:01:47 - ==========================================
2026-04-01 11:01:47 - C-Relay Comprehensive Test Suite Runner
2026-04-01 11:01:47 - ==========================================
2026-04-01 11:01:47 - Relay URL: ws://127.0.0.1:8888
2026-04-01 11:01:47 - Log file: test_results_20260401_110147.log
2026-04-01 11:01:47 - Report file: test_report_20260401_110147.html
2026-04-01 11:01:47 -
2026-04-01 11:01:47 - Checking relay status at ws://127.0.0.1:8888...
2026-04-01 11:01:47 - \033[0;32m✓ Relay HTTP endpoint is accessible\033[0m
2026-04-01 11:01:47 -
2026-04-01 11:01:47 - Starting comprehensive test execution...
2026-04-01 11:01:47 -
2026-04-01 11:01:47 - \033[0;34m=== SECURITY TEST SUITES ===\033[0m
2026-04-01 11:01:47 - ==========================================
2026-04-01 11:01:47 - Running Test Suite: SQL Injection Tests
2026-04-01 11:01:47 - Description: Comprehensive SQL injection vulnerability testing
2026-04-01 11:01:47 - ==========================================
2026-04-01 11:01:47 - \033[0;31mERROR: Test script sql_injection_tests.sh not found\033[0m
Binary file not shown.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,5 @@
Profiling PID: 2242661
CLK_TCK=100
Starting perf record in background...
perf_pid=2242812
Done. Artifacts in /tmp/c_relay_thread_profile_20260402_011703
@@ -0,0 +1,145 @@
timestamp,tid,thread_name,cpu_pct,delta_ticks,total_ticks
1775092623,2242661,lws-main,0.00,0,34
1775092623,2242664,db-read-1,0.00,0,21
1775092623,2242665,db-write,0.40,2,1055
1775092623,2242666,event-worker,0.00,0,0
1775092628,2242661,lws-main,0.00,0,34
1775092628,2242664,db-read-1,0.00,0,21
1775092628,2242665,db-write,92.20,461,1516
1775092628,2242666,event-worker,0.00,0,0
1775092633,2242661,lws-main,0.00,0,34
1775092633,2242664,db-read-1,0.00,0,21
1775092633,2242665,db-write,0.00,0,1516
1775092633,2242666,event-worker,0.00,0,0
1775092638,2242661,lws-main,0.20,1,35
1775092638,2242664,db-read-1,0.00,0,21
1775092638,2242665,db-write,26.80,134,1650
1775092638,2242666,event-worker,0.00,0,0
1775092643,2242661,lws-main,0.00,0,35
1775092643,2242664,db-read-1,0.20,1,22
1775092643,2242665,db-write,13.60,68,1718
1775092643,2242666,event-worker,0.00,0,0
1775092648,2242661,lws-main,0.00,0,35
1775092648,2242664,db-read-1,0.00,0,22
1775092648,2242665,db-write,13.60,68,1786
1775092648,2242666,event-worker,0.00,0,0
1775092654,2242661,lws-main,0.20,1,36
1775092654,2242664,db-read-1,0.40,2,24
1775092654,2242665,db-write,0.00,0,1786
1775092654,2242666,event-worker,0.00,0,0
1775092659,2242661,lws-main,0.00,0,36
1775092659,2242664,db-read-1,0.00,0,24
1775092659,2242665,db-write,0.20,1,1787
1775092659,2242666,event-worker,0.00,0,0
1775092664,2242661,lws-main,1.80,9,45
1775092664,2242664,db-read-1,2.00,10,34
1775092664,2242665,db-write,27.60,138,1925
1775092664,2242666,event-worker,0.20,1,1
1775092669,2242661,lws-main,0.20,1,46
1775092669,2242664,db-read-1,0.20,1,35
1775092669,2242665,db-write,14.00,70,1995
1775092669,2242666,event-worker,0.20,1,2
1775092674,2242661,lws-main,0.40,2,48
1775092674,2242664,db-read-1,0.20,1,36
1775092674,2242665,db-write,34.80,174,2169
1775092674,2242666,event-worker,0.20,1,3
1775092679,2242661,lws-main,0.00,0,48
1775092679,2242664,db-read-1,0.40,2,38
1775092679,2242665,db-write,66.80,334,2503
1775092679,2242666,event-worker,0.00,0,3
1775092684,2242661,lws-main,0.00,0,48
1775092684,2242664,db-read-1,1.00,5,43
1775092684,2242665,db-write,21.60,108,2611
1775092684,2242666,event-worker,0.00,0,3
1775092689,2242661,lws-main,0.40,2,50
1775092689,2242664,db-read-1,0.20,1,44
1775092689,2242665,db-write,54.80,274,2885
1775092689,2242666,event-worker,0.00,0,3
1775092694,2242661,lws-main,0.20,1,51
1775092694,2242664,db-read-1,0.20,1,45
1775092694,2242665,db-write,67.20,336,3221
1775092694,2242666,event-worker,0.00,0,3
1775092699,2242661,lws-main,0.00,0,51
1775092699,2242664,db-read-1,0.60,3,48
1775092699,2242665,db-write,100.20,501,3722
1775092699,2242666,event-worker,0.00,0,3
1775092704,2242661,lws-main,0.40,2,53
1775092704,2242664,db-read-1,0.40,2,50
1775092704,2242665,db-write,93.00,465,4187
1775092704,2242666,event-worker,0.00,0,3
1775092709,2242661,lws-main,0.20,1,54
1775092709,2242664,db-read-1,0.40,2,52
1775092709,2242665,db-write,27.60,138,4325
1775092709,2242666,event-worker,0.00,0,3
1775092714,2242661,lws-main,0.20,1,55
1775092714,2242664,db-read-1,0.40,2,54
1775092714,2242665,db-write,90.20,451,4776
1775092714,2242666,event-worker,0.00,0,3
1775092719,2242661,lws-main,0.20,1,56
1775092719,2242664,db-read-1,0.20,1,55
1775092719,2242665,db-write,100.00,500,5276
1775092719,2242666,event-worker,0.00,0,3
1775092724,2242661,lws-main,0.00,0,56
1775092724,2242664,db-read-1,0.00,0,55
1775092724,2242665,db-write,100.20,501,5777
1775092724,2242666,event-worker,0.00,0,3
1775092729,2242661,lws-main,0.20,1,57
1775092729,2242664,db-read-1,0.20,1,56
1775092729,2242665,db-write,100.20,501,6278
1775092729,2242666,event-worker,0.00,0,3
1775092734,2242661,lws-main,0.20,1,58
1775092734,2242664,db-read-1,0.20,1,57
1775092734,2242665,db-write,100.40,502,6780
1775092734,2242666,event-worker,0.00,0,3
1775092739,2242661,lws-main,0.00,0,58
1775092739,2242664,db-read-1,0.00,0,57
1775092739,2242665,db-write,99.80,499,7279
1775092739,2242666,event-worker,0.00,0,3
1775092744,2242661,lws-main,0.20,1,59
1775092744,2242664,db-read-1,0.00,0,57
1775092744,2242665,db-write,100.60,503,7782
1775092744,2242666,event-worker,0.00,0,3
1775092749,2242661,lws-main,0.00,0,59
1775092749,2242664,db-read-1,0.00,0,57
1775092749,2242665,db-write,100.00,500,8282
1775092749,2242666,event-worker,0.00,0,3
1775092754,2242661,lws-main,0.20,1,60
1775092754,2242664,db-read-1,0.20,1,58
1775092754,2242665,db-write,30.40,152,8434
1775092754,2242666,event-worker,0.00,0,3
1775092759,2242661,lws-main,0.00,0,60
1775092759,2242664,db-read-1,0.00,0,58
1775092759,2242665,db-write,53.40,267,8701
1775092759,2242666,event-worker,0.00,0,3
1775092764,2242661,lws-main,0.40,2,62
1775092764,2242664,db-read-1,0.00,0,58
1775092764,2242665,db-write,50.00,250,8951
1775092764,2242666,event-worker,0.00,0,3
1775092769,2242661,lws-main,0.00,0,62
1775092769,2242664,db-read-1,0.20,1,59
1775092769,2242665,db-write,57.60,288,9239
1775092769,2242666,event-worker,0.00,0,3
1775092774,2242661,lws-main,0.20,1,63
1775092774,2242664,db-read-1,0.20,1,60
1775092774,2242665,db-write,54.40,272,9511
1775092774,2242666,event-worker,0.20,1,4
1775092779,2242661,lws-main,0.00,0,63
1775092779,2242664,db-read-1,0.20,1,61
1775092779,2242665,db-write,49.20,246,9757
1775092779,2242666,event-worker,0.00,0,4
1775092784,2242661,lws-main,0.20,1,64
1775092784,2242664,db-read-1,0.00,0,61
1775092784,2242665,db-write,31.00,155,9912
1775092784,2242666,event-worker,0.00,0,4
1775092789,2242661,lws-main,0.20,1,65
1775092789,2242664,db-read-1,0.00,0,61
1775092789,2242665,db-write,66.80,334,10246
1775092789,2242666,event-worker,0.00,0,4
1775092794,2242661,lws-main,0.00,0,65
1775092794,2242664,db-read-1,0.20,1,62
1775092794,2242665,db-write,40.20,201,10447
1775092794,2242666,event-worker,0.00,0,4
1775092799,2242661,lws-main,0.20,1,66
1775092799,2242664,db-read-1,0.20,1,63
1775092799,2242665,db-write,92.40,462,10909
1775092799,2242666,event-worker,0.00,0,4
1 timestamp tid thread_name cpu_pct delta_ticks total_ticks
2 1775092623 2242661 lws-main 0.00 0 34
3 1775092623 2242664 db-read-1 0.00 0 21
4 1775092623 2242665 db-write 0.40 2 1055
5 1775092623 2242666 event-worker 0.00 0 0
6 1775092628 2242661 lws-main 0.00 0 34
7 1775092628 2242664 db-read-1 0.00 0 21
8 1775092628 2242665 db-write 92.20 461 1516
9 1775092628 2242666 event-worker 0.00 0 0
10 1775092633 2242661 lws-main 0.00 0 34
11 1775092633 2242664 db-read-1 0.00 0 21
12 1775092633 2242665 db-write 0.00 0 1516
13 1775092633 2242666 event-worker 0.00 0 0
14 1775092638 2242661 lws-main 0.20 1 35
15 1775092638 2242664 db-read-1 0.00 0 21
16 1775092638 2242665 db-write 26.80 134 1650
17 1775092638 2242666 event-worker 0.00 0 0
18 1775092643 2242661 lws-main 0.00 0 35
19 1775092643 2242664 db-read-1 0.20 1 22
20 1775092643 2242665 db-write 13.60 68 1718
21 1775092643 2242666 event-worker 0.00 0 0
22 1775092648 2242661 lws-main 0.00 0 35
23 1775092648 2242664 db-read-1 0.00 0 22
24 1775092648 2242665 db-write 13.60 68 1786
25 1775092648 2242666 event-worker 0.00 0 0
26 1775092654 2242661 lws-main 0.20 1 36
27 1775092654 2242664 db-read-1 0.40 2 24
28 1775092654 2242665 db-write 0.00 0 1786
29 1775092654 2242666 event-worker 0.00 0 0
30 1775092659 2242661 lws-main 0.00 0 36
31 1775092659 2242664 db-read-1 0.00 0 24
32 1775092659 2242665 db-write 0.20 1 1787
33 1775092659 2242666 event-worker 0.00 0 0
34 1775092664 2242661 lws-main 1.80 9 45
35 1775092664 2242664 db-read-1 2.00 10 34
36 1775092664 2242665 db-write 27.60 138 1925
37 1775092664 2242666 event-worker 0.20 1 1
38 1775092669 2242661 lws-main 0.20 1 46
39 1775092669 2242664 db-read-1 0.20 1 35
40 1775092669 2242665 db-write 14.00 70 1995
41 1775092669 2242666 event-worker 0.20 1 2
42 1775092674 2242661 lws-main 0.40 2 48
43 1775092674 2242664 db-read-1 0.20 1 36
44 1775092674 2242665 db-write 34.80 174 2169
45 1775092674 2242666 event-worker 0.20 1 3
46 1775092679 2242661 lws-main 0.00 0 48
47 1775092679 2242664 db-read-1 0.40 2 38
48 1775092679 2242665 db-write 66.80 334 2503
49 1775092679 2242666 event-worker 0.00 0 3
50 1775092684 2242661 lws-main 0.00 0 48
51 1775092684 2242664 db-read-1 1.00 5 43
52 1775092684 2242665 db-write 21.60 108 2611
53 1775092684 2242666 event-worker 0.00 0 3
54 1775092689 2242661 lws-main 0.40 2 50
55 1775092689 2242664 db-read-1 0.20 1 44
56 1775092689 2242665 db-write 54.80 274 2885
57 1775092689 2242666 event-worker 0.00 0 3
58 1775092694 2242661 lws-main 0.20 1 51
59 1775092694 2242664 db-read-1 0.20 1 45
60 1775092694 2242665 db-write 67.20 336 3221
61 1775092694 2242666 event-worker 0.00 0 3
62 1775092699 2242661 lws-main 0.00 0 51
63 1775092699 2242664 db-read-1 0.60 3 48
64 1775092699 2242665 db-write 100.20 501 3722
65 1775092699 2242666 event-worker 0.00 0 3
66 1775092704 2242661 lws-main 0.40 2 53
67 1775092704 2242664 db-read-1 0.40 2 50
68 1775092704 2242665 db-write 93.00 465 4187
69 1775092704 2242666 event-worker 0.00 0 3
70 1775092709 2242661 lws-main 0.20 1 54
71 1775092709 2242664 db-read-1 0.40 2 52
72 1775092709 2242665 db-write 27.60 138 4325
73 1775092709 2242666 event-worker 0.00 0 3
74 1775092714 2242661 lws-main 0.20 1 55
75 1775092714 2242664 db-read-1 0.40 2 54
76 1775092714 2242665 db-write 90.20 451 4776
77 1775092714 2242666 event-worker 0.00 0 3
78 1775092719 2242661 lws-main 0.20 1 56
79 1775092719 2242664 db-read-1 0.20 1 55
80 1775092719 2242665 db-write 100.00 500 5276
81 1775092719 2242666 event-worker 0.00 0 3
82 1775092724 2242661 lws-main 0.00 0 56
83 1775092724 2242664 db-read-1 0.00 0 55
84 1775092724 2242665 db-write 100.20 501 5777
85 1775092724 2242666 event-worker 0.00 0 3
86 1775092729 2242661 lws-main 0.20 1 57
87 1775092729 2242664 db-read-1 0.20 1 56
88 1775092729 2242665 db-write 100.20 501 6278
89 1775092729 2242666 event-worker 0.00 0 3
90 1775092734 2242661 lws-main 0.20 1 58
91 1775092734 2242664 db-read-1 0.20 1 57
92 1775092734 2242665 db-write 100.40 502 6780
93 1775092734 2242666 event-worker 0.00 0 3
94 1775092739 2242661 lws-main 0.00 0 58
95 1775092739 2242664 db-read-1 0.00 0 57
96 1775092739 2242665 db-write 99.80 499 7279
97 1775092739 2242666 event-worker 0.00 0 3
98 1775092744 2242661 lws-main 0.20 1 59
99 1775092744 2242664 db-read-1 0.00 0 57
100 1775092744 2242665 db-write 100.60 503 7782
101 1775092744 2242666 event-worker 0.00 0 3
102 1775092749 2242661 lws-main 0.00 0 59
103 1775092749 2242664 db-read-1 0.00 0 57
104 1775092749 2242665 db-write 100.00 500 8282
105 1775092749 2242666 event-worker 0.00 0 3
106 1775092754 2242661 lws-main 0.20 1 60
107 1775092754 2242664 db-read-1 0.20 1 58
108 1775092754 2242665 db-write 30.40 152 8434
109 1775092754 2242666 event-worker 0.00 0 3
110 1775092759 2242661 lws-main 0.00 0 60
111 1775092759 2242664 db-read-1 0.00 0 58
112 1775092759 2242665 db-write 53.40 267 8701
113 1775092759 2242666 event-worker 0.00 0 3
114 1775092764 2242661 lws-main 0.40 2 62
115 1775092764 2242664 db-read-1 0.00 0 58
116 1775092764 2242665 db-write 50.00 250 8951
117 1775092764 2242666 event-worker 0.00 0 3
118 1775092769 2242661 lws-main 0.00 0 62
119 1775092769 2242664 db-read-1 0.20 1 59
120 1775092769 2242665 db-write 57.60 288 9239
121 1775092769 2242666 event-worker 0.00 0 3
122 1775092774 2242661 lws-main 0.20 1 63
123 1775092774 2242664 db-read-1 0.20 1 60
124 1775092774 2242665 db-write 54.40 272 9511
125 1775092774 2242666 event-worker 0.20 1 4
126 1775092779 2242661 lws-main 0.00 0 63
127 1775092779 2242664 db-read-1 0.20 1 61
128 1775092779 2242665 db-write 49.20 246 9757
129 1775092779 2242666 event-worker 0.00 0 4
130 1775092784 2242661 lws-main 0.20 1 64
131 1775092784 2242664 db-read-1 0.00 0 61
132 1775092784 2242665 db-write 31.00 155 9912
133 1775092784 2242666 event-worker 0.00 0 4
134 1775092789 2242661 lws-main 0.20 1 65
135 1775092789 2242664 db-read-1 0.00 0 61
136 1775092789 2242665 db-write 66.80 334 10246
137 1775092789 2242666 event-worker 0.00 0 4
138 1775092794 2242661 lws-main 0.00 0 65
139 1775092794 2242664 db-read-1 0.20 1 62
140 1775092794 2242665 db-write 40.20 201 10447
141 1775092794 2242666 event-worker 0.00 0 4
142 1775092799 2242661 lws-main 0.20 1 66
143 1775092799 2242664 db-read-1 0.20 1 63
144 1775092799 2242665 db-write 92.40 462 10909
145 1775092799 2242666 event-worker 0.00 0 4
@@ -0,0 +1,11 @@
==========================================
Thread CPU Summary (avg + max over run)
==========================================
Run timestamp (UTC): 20260402_011703
Duration: 180s, Interval: 5s
2242665 db-write 54.76 100.60
2242664 db-read-1 0.23 2.00
2242661 lws-main 0.18 1.80
2242666 event-worker 0.02 0.20
TID THREAD AVG_CPU% MAX_CPU%
Binary file not shown.
@@ -0,0 +1,622 @@
# To display the perf.data header info, please use --header/--header-only options.
#
#
# Total Lost Samples: 0
#
# Samples: 73K of event 'task-clock:ppp'
# Event count (approx.): 18314000000
#
# Overhead Samples Command Symbol IPC [IPC Coverage]
# ........ ............ ............ .............................................. ....................
#
13.73% 10055 db-write [.] sqlite3BtreeTableMoveto - -
|
---sqlite3BtreeTableMoveto
|
|--3.11%--0xfdd00007f040000
|
|--3.03%--0xfdd75007f000001
|
|--2.68%--0xfdd75007f040000
|
--2.25%--0xfdd00007f000001
10.11% 7408 db-write [.] sqlite3VdbeExec - -
|
---sqlite3VdbeExec
|
--4.88%--0
7.76% 5685 db-write [.] sqlite3GetVarint - -
|
---sqlite3GetVarint
|
|--2.86%--0xfdd00007f040000
|
|--2.61%--0xfdd75007f040000
|
|--0.76%--0xfdd75007f000001
|
--0.59%--0xfdd00007f000001
7.71% 5647 db-write [k] rep_movs_alternative - -
|
---rep_movs_alternative
copy_page_to_iter
filemap_read
generic_file_read_iter
ext4_file_read_iter
vfs_read
__x64_sys_pread64
x64_sys_call
do_syscall_64
entry_SYSCALL_64_after_hwframe
sccp
7.04% 5154 db-write [.] pcache1Fetch - -
|
---pcache1Fetch
5.84% 4275 db-write [.] memcpy - -
|
---memcpy
5.27% 3857 db-write [.] sccp - -
|
---sccp
4.31% 3154 db-write [k] do_syscall_64 - -
|
---do_syscall_64
entry_SYSCALL_64_after_hwframe
|
--4.30%--sccp
2.81% 2059 db-write [k] filemap_get_read_batch - -
|
---filemap_get_read_batch
|
--2.80%--filemap_get_pages
filemap_read
generic_file_read_iter
ext4_file_read_iter
vfs_read
__x64_sys_pread64
x64_sys_call
do_syscall_64
entry_SYSCALL_64_after_hwframe
sccp
2.45% 1798 db-write [.] getPageNormal - -
|
---getPageNormal
|
--0.82%--0x75d555b7ac18
0xa02000100010500
0x200
2.27% 1661 db-write [.] getCellInfo - -
|
---getCellInfo
|
|--1.16%--0x75d555b872d8
|
--0.85%--0
1.87% 1371 db-write [k] __fdget - -
|
---__fdget
|
--1.85%--__x64_sys_pread64
x64_sys_call
do_syscall_64
entry_SYSCALL_64_after_hwframe
sccp
1.83% 1340 db-write [.] pcache1Unpin - -
|
---pcache1Unpin
1.55% 1134 db-write [.] pread - -
|
---pread
1.53% 1123 db-write [.] getAndInitPage - -
|
---getAndInitPage
|
--0.91%--0x75d555b7ac18
0xa02000100010500
0x200
1.45% 1063 db-write [.] sqlite3BtreeNext.isra.0 - -
|
---sqlite3BtreeNext.isra.0
|
--1.29%--0
1.40% 1023 db-write [.] sqlite3VdbeIdxRowid - -
|
---sqlite3VdbeIdxRowid
1.34% 979 db-write [.] btreeParseCellPtr - -
|
---btreeParseCellPtr
|
--0.99%--0
1.19% 874 db-write [.] pcache1FetchStage2 - -
|
---pcache1FetchStage2
1.01% 742 db-write [.] sqlite3PcacheRelease - -
|
---sqlite3PcacheRelease
1.01% 741 db-write [.] sqlite3VdbeRecordCompareWithSkip - -
|
---sqlite3VdbeRecordCompareWithSkip
0.97% 709 db-write [.] memcmp - -
|
---memcmp
0.95% 699 db-write [.] walFindFrame.constprop.0 - -
|
---walFindFrame.constprop.0
0.95% 698 db-write [.] moveToChild - -
|
---moveToChild
|
--0.56%--0xfdd00007f040000
0.90% 662 db-write [.] moveToRoot - -
|
---moveToRoot
0.88% 646 db-write [k] xas_load - -
|
---xas_load
|
--0.87%--filemap_get_read_batch
filemap_get_pages
filemap_read
generic_file_read_iter
ext4_file_read_iter
vfs_read
__x64_sys_pread64
x64_sys_call
do_syscall_64
entry_SYSCALL_64_after_hwframe
sccp
0.84% 615 db-write [.] sqlite3VdbeSerialGet - -
|
---sqlite3VdbeSerialGet
0.73% 535 db-write [k] filemap_read - -
|
---filemap_read
|
--0.71%--generic_file_read_iter
ext4_file_read_iter
vfs_read
__x64_sys_pread64
x64_sys_call
do_syscall_64
entry_SYSCALL_64_after_hwframe
sccp
0.73% 533 db-write [.] vdbeCompareMemString - -
|
---vdbeCompareMemString
0.72% 528 db-write [.] btreeParseCellPtrIndex - -
|
---btreeParseCellPtrIndex
0x75d555b872d8
0.68% 499 db-write [.] readDbPage - -
|
---readDbPage
|
--0.67%--0xa02000100010500
0x200
0.64% 470 db-write [.] sqlite3VdbeFinishMoveto - -
|
---sqlite3VdbeFinishMoveto
0
0.55% 401 db-write [.] decodeFlags - -
|
---decodeFlags
0.50% 365 db-write [k] xas_descend - -
0.49% 362 db-write [k] aa_file_perm - -
0.48% 351 db-write [.] sqlite3MemCompare - -
0.48% 348 db-write [k] __fsnotify_parent - -
0.47% 346 db-write [.] btreeInitPage - -
0.45% 330 db-write [k] rw_verify_area - -
0.45% 327 db-write [.] unixRead - -
0.41% 303 db-write [.] sqlite3PagerUnrefNotNull - -
0.27% 197 db-write [k] xas_start - -
0.25% 186 db-write [.] binCollFunc - -
0.22% 163 db-write [k] vfs_read - -
0.14% 99 db-write [.] btreeNext.constprop.0 - -
0.11% 82 db-write [k] ext4_file_read_iter - -
0.11% 79 db-write [k] apparmor_file_permission - -
0.10% 76 db-write [k] fput - -
0.08% 61 db-write [.] moveToLeftmost - -
0.08% 56 db-write [k] atime_needs_update - -
0.08% 55 db-write [k] filemap_get_pages - -
0.07% 50 db-write [k] copy_page_to_iter - -
0.07% 49 db-write [k] __x64_sys_pread64 - -
0.06% 46 db-write [k] _copy_to_iter - -
0.05% 37 db-write [k] __xas_next - -
0.05% 33 db-write [.] walHashGet - -
0.04% 32 db-write [k] __rcu_read_lock - -
0.04% 29 db-write [k] __rcu_read_unlock - -
0.04% 29 db-write [k] current_time - -
0.04% 28 db-write [k] security_file_permission - -
0.04% 27 db-write [k] ktime_get_coarse_real_ts64 - -
0.03% 24 db-read-1 [k] rep_movs_alternative - -
0.03% 24 db-write [k] folio_mark_accessed - -
0.03% 24 db-write [k] generic_file_read_iter - -
0.03% 24 lws-main [.] remove_subscription_from_kind_index.part.0 - -
0.03% 22 db-write [k] __x86_indirect_thunk_rax - -
0.03% 21 db-read-1 [.] sqlite3VdbeExec - -
0.03% 21 db-write [.] pcacheFetchFinishWithInit - -
0.03% 20 db-read-1 [k] do_syscall_64 - -
0.03% 19 db-write [.] btreeParseCellAdjustSizeForOverflow.isra.0 - -
0.03% 19 lws-main [k] sock_poll - -
0.02% 18 db-write [k] touch_atime - -
0.02% 16 db-write [k] __cond_resched - -
0.02% 15 db-read-1 [.] pcache1Fetch - -
0.02% 15 db-write [k] syscall_exit_to_user_mode_prepare - -
0.02% 15 db-write [k] x64_sys_call - -
0.02% 14 db-read-1 [.] sccp - -
0.02% 13 db-read-1 [.] __libc_malloc_impl - -
0.02% 13 db-read-1 [k] filemap_get_read_batch - -
0.02% 12 db-read-1 [k] __fdget - -
0.02% 12 lws-main [k] _raw_spin_unlock_irqrestore - -
0.02% 11 db-write [k] handle_softirqs - -
0.02% 11 lws-main [.] has_subscriptions_for_kind - -
0.01% 10 db-read-1 [.] sqlite3BtreeTableMoveto - -
0.01% 10 lws-main [.] __libc_malloc_impl - -
0.01% 9 db-read-1 [.] pread - -
0.01% 9 lws-main [.] sccp - -
0.01% 8 db-read-1 [.] pcache1FetchStage2 - -
0.01% 8 db-write [.] __syscall_ret - -
0.01% 8 lws-main [.] cJSON_IsNumber - -
0.01% 8 lws-main [.] memcpy - -
0.01% 7 db-read-1 [k] do_user_addr_fault - -
0.01% 7 db-read-1 [.] sqlite3GetVarint - -
0.01% 7 db-write [k] _raw_spin_unlock_irqrestore - -
0.01% 7 db-write [k] make_vfsuid - -
0.01% 6 db-read-1 [k] _raw_spin_unlock_irqrestore - -
0.01% 6 db-read-1 [k] clear_page_orig - -
0.01% 6 db-read-1 [k] xas_load - -
0.01% 6 db-write [k] _raw_spin_unlock_irq - -
0.01% 5 db-read-1 [k] __fsnotify_parent - -
0.01% 5 db-read-1 [.] getAndInitPage - -
0.01% 5 db-read-1 [.] walFindFrame.constprop.0 - -
0.01% 5 db-read-1 [k] xas_descend - -
0.01% 5 db-write [k] clear_page_orig - -
0.01% 5 db-write [k] finish_task_switch.isra.0 - -
0.01% 5 db-write [k] iowrite16 - -
0.01% 5 db-write [k] make_vfsgid - -
0.01% 5 db-write [.] sqlite3BtreeIndexMoveto - -
0.01% 5 lws-main [k] __fdget - -
0.01% 4 db-read-1 [.] __pthread_mutex_timedlock - -
0.01% 4 db-read-1 [k] aa_file_perm - -
0.01% 4 db-read-1 [.] btreeParseCellPtr - -
0.01% 4 db-read-1 [.] memcpy - -
0.01% 4 db-read-1 [.] sqlite3VdbeRecordCompareWithSkip - -
0.01% 4 db-write [k] do_user_addr_fault - -
0.01% 4 db-write [k] syscall_exit_to_user_mode - -
0.01% 4 event-worker [.] secp256k1_fe_mul_inner - -
0.01% 4 lws-main [.] _lws_plat_service_tsi.part.0 - -
0.01% 4 lws-main [.] alloc_slot - -
0.01% 4 lws-main [k] fput - -
0.01% 4 lws-main [.] strlen - -
0.01% 4 lws-main [k] tcp_poll - -
0.00% 3 db-read-1 [.] __pthread_mutex_lock - -
0.00% 3 db-read-1 [k] blk_cgroup_congested - -
0.00% 3 db-read-1 [k] filemap_read - -
0.00% 3 db-read-1 [.] getCellInfo - -
0.00% 3 db-read-1 [.] sqlite3PcacheRelease - -
0.00% 3 db-read-1 [.] whereScanNext - -
0.00% 3 db-write [k] ___slab_alloc - -
0.00% 3 db-write [k] __lruvec_stat_mod_folio - -
0.00% 3 db-write [k] __next_zones_zonelist - -
0.00% 3 db-write [k] smp_call_function_many_cond - -
0.00% 3 db-write [.] sqlite3DbMallocRawNN - -
0.00% 3 db-write [.] strlen - -
0.00% 3 db-write [.] yy_reduce.isra.0 - -
0.00% 3 lws-main [.] cJSON_IsArray - -
0.00% 3 lws-main [k] do_syscall_64 - -
0.00% 3 lws-main [k] finish_task_switch.isra.0 - -
0.00% 3 lws-main [.] get_config_value_from_table - -
0.00% 2 db-read-1 [.] __libc_free - -
0.00% 2 db-read-1 [k] __lruvec_stat_mod_folio - -
0.00% 2 db-read-1 [.] __pthread_mutex_unlock - -
0.00% 2 db-read-1 [k] __rcu_read_lock - -
0.00% 2 db-read-1 [.] btreeInitPage - -
0.00% 2 db-read-1 [.] decodeFlags - -
0.00% 2 db-read-1 [k] down_write - -
0.00% 2 db-read-1 [.] moveToRoot - -
0.00% 2 db-read-1 [k] native_write_msr - -
0.00% 2 db-read-1 [.] pcache1Unpin - -
0.00% 2 db-read-1 [.] propagateConstantExprRewrite - -
0.00% 2 db-read-1 [.] readDbPage - -
0.00% 2 db-read-1 [.] sqlite3BtreeIndexMoveto - -
0.00% 2 db-read-1 [.] sqlite3BtreeNext.isra.0 - -
0.00% 2 db-read-1 [.] sqlite3WhereBegin - -
0.00% 2 db-read-1 [.] unixRead - -
0.00% 2 db-read-1 [.] whereLoopAddBtreeIndex - -
0.00% 2 db-read-1 [k] xas_start - -
0.00% 2 db-write [k] inode_to_bdi - -
0.00% 2 db-write [k] kmem_cache_alloc - -
0.00% 2 db-write [k] native_write_msr - -
0.00% 2 db-write [k] pvclock_clocksource_read_nowd - -
0.00% 2 db-write [.] pwrite - -
0.00% 2 db-write [.] sqlite3WalCheckpoint - -
0.00% 2 lws-main [.] __libc_free - -
0.00% 2 lws-main [.] __lock - -
0.00% 2 lws-main [.] __unlock - -
0.00% 2 lws-main [k] __x86_indirect_thunk_rax - -
0.00% 2 lws-main [.] broadcast_event_to_subscriptions - -
0.00% 2 lws-main [.] decfloat - -
0.00% 2 lws-main [k] do_user_addr_fault - -
0.00% 2 lws-main [k] eventfd_poll - -
0.00% 2 lws-main [k] nft_do_chain - -
0.00% 2 lws-main [.] nostr_relay_callback - -
0.00% 2 lws-main [.] print_value - -
0.00% 2 lws-main [k] pvclock_clocksource_read_nowd - -
0.00% 2 lws-main [.] strcmp - -
0.00% 2 lws-main [k] tcp_in_window - -
0.00% 1 db-read-1 [k] ___slab_alloc - -
0.00% 1 db-read-1 [k] __anon_vma_interval_tree_remove - -
0.00% 1 db-read-1 [k] __raw_callee_save___pv_queued_spin_unlock - -
0.00% 1 db-read-1 [k] __rcu_read_unlock - -
0.00% 1 db-read-1 [.] __timedwait_cp - -
0.00% 1 db-read-1 [k] __tlb_remove_page_size - -
0.00% 1 db-read-1 [.] allocateCursor - -
0.00% 1 db-read-1 [k] anon_vma_interval_tree_insert - -
0.00% 1 db-read-1 [.] binCollFunc - -
0.00% 1 db-read-1 [.] btreeBeginTrans - -
0.00% 1 db-read-1 [.] btreeParseCellPtrIndex - -
0.00% 1 db-read-1 [k] current_obj_cgroup - -
0.00% 1 db-read-1 [k] do_vmi_align_munmap - -
0.00% 1 db-read-1 [.] exprDup - -
0.00% 1 db-read-1 [.] exprNodeIsConstant - -
0.00% 1 db-read-1 [k] finish_task_switch.isra.0 - -
0.00% 1 db-read-1 [k] folio_add_lru - -
0.00% 1 db-read-1 [k] folio_add_new_anon_rmap - -
0.00% 1 db-read-1 [.] free_req_payload_main.part.0 - -
0.00% 1 db-read-1 [k] futex_q_lock - -
0.00% 1 db-read-1 [.] getPageNormal - -
0.00% 1 db-read-1 [k] get_mem_cgroup_from_mm - -
0.00% 1 db-read-1 [.] get_meta - -
0.00% 1 db-read-1 [k] handle_softirqs - -
0.00% 1 db-read-1 [k] hugepage_pmd_enabled - -
0.00% 1 db-read-1 [.] indexCellCompare.isra.0 - -
0.00% 1 db-read-1 [k] kmem_cache_alloc - -
0.00% 1 db-read-1 [k] kmem_cache_free - -
0.00% 1 db-read-1 [k] lock_vma_under_rcu - -
0.00% 1 db-read-1 [k] make_vfsuid - -
0.00% 1 db-read-1 [k] mas_walk - -
0.00% 1 db-read-1 [k] mem_cgroup_commit_charge - -
0.00% 1 db-read-1 [.] memcmp - -
0.00% 1 db-read-1 [k] obj_cgroup_uncharge_pages - -
0.00% 1 db-read-1 [k] post_alloc_hook - -
0.00% 1 db-read-1 [.] pthreadMutexLeave - -
0.00% 1 db-read-1 [k] rcu_nocb_unlock_irqrestore.part.0 - -
0.00% 1 db-read-1 [.] resolveP2Values - -
0.00% 1 db-read-1 [k] rw_verify_area - -
0.00% 1 db-read-1 [k] smp_call_function_many_cond - -
0.00% 1 db-read-1 [.] sqlite3CodeRhsOfIN - -
0.00% 1 db-read-1 [.] sqlite3DbMallocRawNN - -
0.00% 1 db-read-1 [.] sqlite3DbNNFreeNN - -
0.00% 1 db-read-1 [.] sqlite3ExprIfFalse - -
0.00% 1 db-read-1 [.] sqlite3GetVarint32 - -
0.00% 1 db-read-1 [.] sqlite3KeyInfoAlloc - -
0.00% 1 db-read-1 [.] sqlite3MemCompare - -
0.00% 1 db-read-1 [.] sqlite3Select - -
0.00% 1 db-read-1 [.] sqlite3SelectPopWith - -
0.00% 1 db-read-1 [.] sqlite3SrcListShiftJoinType.isra.0 - -
0.00% 1 db-read-1 [.] sqlite3VdbeFinishMoveto - -
0.00% 1 db-read-1 [.] sqlite3VdbeFreeCursorNN - -
0.00% 1 db-read-1 [.] sqlite3VdbeMemFromBtree - -
0.00% 1 db-read-1 [.] sqlite3VdbeSerialGet - -
0.00% 1 db-read-1 [.] sqlite3WalkSelect - -
0.00% 1 db-read-1 [.] sqlite3WhereExprUsageNN - -
0.00% 1 db-read-1 [k] uncharge_batch - -
0.00% 1 db-read-1 [.] unixShmBarrier - -
0.00% 1 db-read-1 [k] update_blocked_averages - -
0.00% 1 db-read-1 [k] vm_area_dup - -
0.00% 1 db-read-1 [k] vm_unmapped_area - -
0.00% 1 db-read-1 [k] vma_adjust_trans_huge - -
0.00% 1 db-read-1 [.] whereLoopFindLesser - -
0.00% 1 db-read-1 [.] wherePathSolver.isra.0 - -
0.00% 1 db-read-1 [.] yy_reduce.isra.0 - -
0.00% 1 db-read-1 [k] zap_pte_range - -
0.00% 1 db-write [k] __block_commit_write - -
0.00% 1 db-write [.] __libc_free - -
0.00% 1 db-write [.] __libc_malloc_impl - -
0.00% 1 db-write [k] __memcg_slab_post_alloc_hook - -
0.00% 1 db-write [k] __mmap_region - -
0.00% 1 db-write [k] __mod_memcg_lruvec_state - -
0.00% 1 db-write [.] __pthread_mutex_unlock - -
0.00% 1 db-write [k] __pv_queued_spin_lock_slowpath - -
0.00% 1 db-write [k] __radix_tree_lookup - -
0.00% 1 db-write [k] __rb_insert_augmented - -
0.00% 1 db-write [k] __sg_alloc_table - -
0.00% 1 db-write [k] __slab_free - -
0.00% 1 db-write [k] __sock_wfree - -
0.00% 1 db-write [k] __tlb_remove_page_size - -
0.00% 1 db-write [k] _raw_read_lock - -
0.00% 1 db-write [k] _raw_spin_lock - -
0.00% 1 db-write [.] accessPayload - -
0.00% 1 db-write [.] applyAffinity - -
0.00% 1 db-write [k] balance_dirty_pages_ratelimited_flags - -
0.00% 1 db-write [k] blk_finish_plug - -
0.00% 1 db-write [k] blkcg_set_ioprio - -
0.00% 1 db-write [k] count_memcg_events.constprop.0 - -
0.00% 1 db-write [k] crc32_body - -
0.00% 1 db-write [.] dbReallocFinish - -
0.00% 1 db-write [k] ext4_da_map_blocks.constprop.0 - -
0.00% 1 db-write [k] ext4_mb_mark_context - -
0.00% 1 db-write [k] ext4_readahead - -
0.00% 1 db-write [k] ext4_sb_block_valid - -
0.00% 1 db-write [k] fault_in_readable - -
0.00% 1 db-write [k] file_modified - -
0.00% 1 db-write [k] filemap_get_entry - -
0.00% 1 db-write [k] flock64_to_posix_lock - -
0.00% 1 db-write [k] folio_add_lru - -
0.00% 1 db-write [k] folio_add_new_anon_rmap - -
0.00% 1 db-write [k] folio_mapping - -
0.00% 1 db-write [k] futex_q_lock - -
0.00% 1 db-write [.] getDigits - -
0.00% 1 db-write [k] get_mem_cgroup_from_mm - -
0.00% 1 db-write [.] get_meta - -
0.00% 1 db-write [k] get_pfnblock_flags_mask - -
0.00% 1 db-write [k] get_unmapped_area - -
0.00% 1 db-write [k] handle_mm_fault - -
0.00% 1 db-write [k] jbd2_journal_dirty_metadata - -
0.00% 1 db-write [k] kfree - -
0.00% 1 db-write [k] kmem_cache_free - -
0.00% 1 db-write [k] lock_vma_under_rcu - -
0.00% 1 db-write [k] lruvec_stat_mod_folio - -
0.00% 1 db-write [k] mas_leaf_max_gap - -
0.00% 1 db-write [k] mem_cgroup_commit_charge - -
0.00% 1 db-write [k] mem_cgroup_flush_stats.part.0 - -
0.00% 1 db-write [k] mempool_alloc_slab - -
0.00% 1 db-write [k] mod_delayed_work_on - -
0.00% 1 db-write [k] net_rx_action - -
0.00% 1 db-write [k] nf_conntrack_tcp_packet - -
0.00% 1 db-write [.] pagerUnlockAndRollback - -
0.00% 1 db-write [.] pcache1Free - -
0.00% 1 db-write [k] perf_event_mmap - -
0.00% 1 db-write [k] perf_event_mmap_event - -
0.00% 1 db-write [k] pmd_val - -
0.00% 1 db-write [.] pthreadMutexAlloc - -
0.00% 1 db-write [k] qdisc_pkt_len_init - -
0.00% 1 db-write [.] queue_pop - -
0.00% 1 db-write [.] releaseMemArray.part.0 - -
0.00% 1 db-write [k] release_pages - -
0.00% 1 db-write [k] scsi_mq_get_budget - -
0.00% 1 db-write [.] seekAndWriteFd - -
0.00% 1 db-write [k] sk_forced_mem_schedule - -
0.00% 1 db-write [k] slab_update_freelist.isra.0 - -
0.00% 1 db-write [.] sqlite3AtoF - -
0.00% 1 db-write [.] sqlite3BeginWriteOperation - -
0.00% 1 db-write [.] sqlite3ExprDeleteNN - -
0.00% 1 db-write [.] sqlite3GenerateRowDelete - -
0.00% 1 db-write [.] sqlite3GetToken - -
0.00% 1 db-write [.] sqlite3GetVarint32 - -
0.00% 1 db-write [.] sqlite3KeyInfoOfIndex - -
0.00% 1 db-write [.] sqlite3LocateTable - -
0.00% 1 db-write [.] sqlite3OpenTableAndIndices - -
0.00% 1 db-write [.] sqlite3RunParser - -
0.00% 1 db-write [.] sqlite3TriggerList.isra.0 - -
0.00% 1 db-write [.] sqlite3Update.constprop.0 - -
0.00% 1 db-write [.] sqlite3VdbeFreeCursorNN - -
0.00% 1 db-write [k] update_blocked_averages - -
0.00% 1 db-write [k] userfaultfd_unmap_complete - -
0.00% 1 db-write [k] virtscsi_queuecommand - -
0.00% 1 db-write [k] vm_unmapped_area - -
0.00% 1 db-write [.] walChecksumBytes - -
0.00% 1 db-write [.] walIndexAppend - -
0.00% 1 db-write [.] walMerge - -
0.00% 1 db-write [k] xas_find - -
0.00% 1 db-write [k] zap_pte_range - -
0.00% 1 event-worker [k] __fdget_raw - -
0.00% 1 event-worker [k] _raw_spin_unlock_irq - -
0.00% 1 event-worker [k] iowrite16 - -
0.00% 1 event-worker [.] memchr - -
0.00% 1 event-worker [.] print_value - -
0.00% 1 event-worker [.] sqlite3AuthCheck - -
0.00% 1 event-worker [.] sqlite3KeyInfoAlloc - -
0.00% 1 lws-main [k] __alloc_pages - -
0.00% 1 lws-main [k] __alloc_skb - -
0.00% 1 lws-main [k] __free_pages - -
0.00% 1 lws-main [k] __mmap_region - -
0.00% 1 lws-main [k] __mod_timer - -
0.00% 1 lws-main [k] __pollwait - -
0.00% 1 lws-main [.] __pthread_mutex_unlock - -
0.00% 1 lws-main [k] __pv_queued_spin_lock_slowpath - -
0.00% 1 lws-main [k] __raw_spin_lock_irqsave - -
0.00% 1 lws-main [k] __rcu_read_unlock - -
0.00% 1 lws-main [k] __sock_wfree - -
0.00% 1 lws-main [k] __sys_sendto - -
0.00% 1 lws-main [k] __tcp_transmit_skb - -
0.00% 1 lws-main [.] __vdso_clock_gettime - -
0.00% 1 lws-main [k] __x64_sys_sendto - -
0.00% 1 lws-main [k] _raw_spin_lock - -
0.00% 1 lws-main [k] apparmor_file_permission - -
0.00% 1 lws-main [k] arch_get_unmapped_area_topdown - -
0.00% 1 lws-main [.] cJSON_Delete - -
0.00% 1 lws-main [.] cJSON_Duplicate_rec - -
0.00% 1 lws-main [.] cJSON_GetNumberValue - -
0.00% 1 lws-main [k] call_rcu - -
0.00% 1 lws-main [k] clear_page_orig - -
0.00% 1 lws-main [k] cond_accept_memory - -
0.00% 1 lws-main [.] copysignl - -
0.00% 1 lws-main [k] do_poll.constprop.0 - -
0.00% 1 lws-main [k] do_sys_poll - -
0.00% 1 lws-main [k] find_exception - -
0.00% 1 lws-main [k] futex_q_lock - -
0.00% 1 lws-main [k] get_l4proto - -
0.00% 1 lws-main [.] get_meta - -
0.00% 1 lws-main [k] get_page_from_freelist - -
0.00% 1 lws-main [.] handle_req_message - -
0.00% 1 lws-main [.] ip_ban_cleanup - -
0.00% 1 lws-main [k] ip_finish_output - -
0.00% 1 lws-main [k] ip_rcv_core - -
0.00% 1 lws-main [k] ipv4_conntrack_defrag - -
0.00% 1 lws-main [k] kmem_cache_free - -
0.00% 1 lws-main [k] kvm_clock_get_cycles - -
0.00% 1 lws-main [.] lws_check_utf8 - -
0.00% 1 lws-main [.] lws_handle_POLLOUT_event - -
0.00% 1 lws-main [.] lws_parse_ws - -
0.00% 1 lws-main [.] lws_set_timeout - -
0.00% 1 lws-main [.] lws_ssl_capable_read_no_ssl - -
0.00% 1 lws-main [.] lws_tls_fake_POLLIN_for_buffered - -
0.00% 1 lws-main [.] lws_write - -
0.00% 1 lws-main [k] mas_ascend - -
0.00% 1 lws-main [k] mas_wr_append - -
0.00% 1 lws-main [k] mod_memcg_state - -
0.00% 1 lws-main [k] native_write_msr - -
0.00% 1 lws-main [k] nf_confirm - -
0.00% 1 lws-main [.] nontrivial_free - -
0.00% 1 lws-main [.] parse_string - -
0.00% 1 lws-main [k] perf_iterate_ctx - -
0.00% 1 lws-main [k] poll_select_set_timeout - -
0.00% 1 lws-main [.] printf_core - -
0.00% 1 lws-main [k] refill_stock - -
0.00% 1 lws-main [.] refresh_hot_config_if_needed - -
0.00% 1 lws-main [k] rep_movs_alternative - -
0.00% 1 lws-main [.] rops_handle_POLLIN_ws - -
0.00% 1 lws-main [k] sk_forced_mem_schedule - -
0.00% 1 lws-main [k] skb_copy_bits - -
0.00% 1 lws-main [k] skb_page_frag_refill - -
0.00% 1 lws-main [k] skb_release_data - -
0.00% 1 lws-main [k] tcp_ack_update_window.isra.0 - -
0.00% 1 lws-main [k] tcp_chrono_stop - -
0.00% 1 lws-main [k] tcp_current_mss - -
0.00% 1 lws-main [k] tcp_data_queue - -
0.00% 1 lws-main [k] tcp_sendmsg_locked - -
0.00% 1 lws-main [k] tcp_v4_rcv - -
0.00% 1 lws-main [k] tcp_write_xmit - -
0.00% 1 lws-main [k] up_read - -
0.00% 1 lws-main [.] validate_filter_array - -
0.00% 1 lws-main [.] validate_filter_values - -
0.00% 1 lws-main [.] vfprintf - -
#
# (Cannot load tips.txt file, please install perf!)
#
@@ -0,0 +1,5 @@
Profiling PID: 2245961
CLK_TCK=100
Starting perf record in background...
perf_pid=2246179
Done. Artifacts in /tmp/c_relay_thread_profile_20260402_012527
@@ -0,0 +1,49 @@
timestamp,tid,thread_name,cpu_pct,delta_ticks,total_ticks
1775093128,2245961,lws-main,0.00,0,36
1775093128,2245969,db-read-1,0.00,0,26
1775093128,2245970,db-write,0.00,0,540
1775093128,2245971,event-worker,0.00,0,0
1775093133,2245961,lws-main,0.20,1,37
1775093133,2245969,db-read-1,0.00,0,26
1775093133,2245970,db-write,0.20,1,541
1775093133,2245971,event-worker,0.00,0,0
1775093138,2245961,lws-main,0.20,1,38
1775093138,2245969,db-read-1,0.20,1,27
1775093138,2245970,db-write,27.60,138,679
1775093138,2245971,event-worker,0.00,0,0
1775093143,2245961,lws-main,0.00,0,38
1775093143,2245969,db-read-1,0.00,0,27
1775093143,2245970,db-write,0.00,0,679
1775093143,2245971,event-worker,0.00,0,0
1775093148,2245961,lws-main,0.00,0,38
1775093148,2245969,db-read-1,0.60,3,30
1775093148,2245970,db-write,27.40,137,816
1775093148,2245971,event-worker,0.00,0,0
1775093153,2245961,lws-main,0.20,1,39
1775093153,2245969,db-read-1,0.20,1,31
1775093153,2245970,db-write,67.20,336,1152
1775093153,2245971,event-worker,0.00,0,0
1775093158,2245961,lws-main,0.20,1,40
1775093158,2245969,db-read-1,0.20,1,32
1775093158,2245970,db-write,40.00,200,1352
1775093158,2245971,event-worker,0.00,0,0
1775093163,2245961,lws-main,0.00,0,40
1775093163,2245969,db-read-1,0.20,1,33
1775093163,2245970,db-write,27.00,135,1487
1775093163,2245971,event-worker,0.00,0,0
1775093168,2245961,lws-main,0.20,1,41
1775093168,2245969,db-read-1,0.00,0,33
1775093168,2245970,db-write,26.60,133,1620
1775093168,2245971,event-worker,0.00,0,0
1775093173,2245961,lws-main,0.00,0,41
1775093173,2245969,db-read-1,0.00,0,33
1775093173,2245970,db-write,0.00,0,1620
1775093173,2245971,event-worker,0.00,0,0
1775093178,2245961,lws-main,0.20,1,42
1775093178,2245969,db-read-1,0.00,0,33
1775093178,2245970,db-write,64.40,322,1942
1775093178,2245971,event-worker,0.00,0,0
1775093183,2245961,lws-main,0.00,0,42
1775093183,2245969,db-read-1,0.40,2,35
1775093183,2245970,db-write,56.40,282,2224
1775093183,2245971,event-worker,0.00,0,0
1 timestamp tid thread_name cpu_pct delta_ticks total_ticks
2 1775093128 2245961 lws-main 0.00 0 36
3 1775093128 2245969 db-read-1 0.00 0 26
4 1775093128 2245970 db-write 0.00 0 540
5 1775093128 2245971 event-worker 0.00 0 0
6 1775093133 2245961 lws-main 0.20 1 37
7 1775093133 2245969 db-read-1 0.00 0 26
8 1775093133 2245970 db-write 0.20 1 541
9 1775093133 2245971 event-worker 0.00 0 0
10 1775093138 2245961 lws-main 0.20 1 38
11 1775093138 2245969 db-read-1 0.20 1 27
12 1775093138 2245970 db-write 27.60 138 679
13 1775093138 2245971 event-worker 0.00 0 0
14 1775093143 2245961 lws-main 0.00 0 38
15 1775093143 2245969 db-read-1 0.00 0 27
16 1775093143 2245970 db-write 0.00 0 679
17 1775093143 2245971 event-worker 0.00 0 0
18 1775093148 2245961 lws-main 0.00 0 38
19 1775093148 2245969 db-read-1 0.60 3 30
20 1775093148 2245970 db-write 27.40 137 816
21 1775093148 2245971 event-worker 0.00 0 0
22 1775093153 2245961 lws-main 0.20 1 39
23 1775093153 2245969 db-read-1 0.20 1 31
24 1775093153 2245970 db-write 67.20 336 1152
25 1775093153 2245971 event-worker 0.00 0 0
26 1775093158 2245961 lws-main 0.20 1 40
27 1775093158 2245969 db-read-1 0.20 1 32
28 1775093158 2245970 db-write 40.00 200 1352
29 1775093158 2245971 event-worker 0.00 0 0
30 1775093163 2245961 lws-main 0.00 0 40
31 1775093163 2245969 db-read-1 0.20 1 33
32 1775093163 2245970 db-write 27.00 135 1487
33 1775093163 2245971 event-worker 0.00 0 0
34 1775093168 2245961 lws-main 0.20 1 41
35 1775093168 2245969 db-read-1 0.00 0 33
36 1775093168 2245970 db-write 26.60 133 1620
37 1775093168 2245971 event-worker 0.00 0 0
38 1775093173 2245961 lws-main 0.00 0 41
39 1775093173 2245969 db-read-1 0.00 0 33
40 1775093173 2245970 db-write 0.00 0 1620
41 1775093173 2245971 event-worker 0.00 0 0
42 1775093178 2245961 lws-main 0.20 1 42
43 1775093178 2245969 db-read-1 0.00 0 33
44 1775093178 2245970 db-write 64.40 322 1942
45 1775093178 2245971 event-worker 0.00 0 0
46 1775093183 2245961 lws-main 0.00 0 42
47 1775093183 2245969 db-read-1 0.40 2 35
48 1775093183 2245970 db-write 56.40 282 2224
49 1775093183 2245971 event-worker 0.00 0 0
@@ -0,0 +1,11 @@
==========================================
Thread CPU Summary (avg + max over run)
==========================================
Run timestamp (UTC): 20260402_012527
Duration: 60s, Interval: 5s
2245970 db-write 28.07 67.20
2245969 db-read-1 0.15 0.60
2245961 lws-main 0.10 0.20
2245971 event-worker 0.00 0.00
TID THREAD AVG_CPU% MAX_CPU%