feat: add resource collector for Forgejo runners
Add Go application that collects CPU and RAM metrics from /proc filesystem: - Parse /proc/[pid]/stat for CPU usage (user/system time) - Parse /proc/[pid]/status for memory usage (RSS, VmSize, etc.) - Aggregate metrics across all processes - Output via structured logging (JSON/text) - Continuous collection with configurable interval Designed for monitoring pipeline runner resource utilization to enable dynamic runner sizing.
This commit is contained in:
commit
219d26959f
14 changed files with 1252 additions and 0 deletions
28
scripts/hooks/pre-commit
Executable file
28
scripts/hooks/pre-commit
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
# ABOUTME: Pre-commit hook that runs formatting and linting checks.
|
||||
# ABOUTME: Install with `make install-hooks`.
|
||||
|
||||
set -e
|
||||
|
||||
echo "Running pre-commit checks..."
|
||||
|
||||
# Run go fmt and check if there are any changes
|
||||
echo "Checking formatting..."
|
||||
UNFORMATTED=$(gofmt -l .)
|
||||
if [ -n "$UNFORMATTED" ]; then
|
||||
echo "Error: The following files are not formatted:"
|
||||
echo "$UNFORMATTED"
|
||||
echo ""
|
||||
echo "Run 'make fmt' to format them."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Run linter
|
||||
echo "Running linter..."
|
||||
make lint
|
||||
|
||||
# Check for secrets with gitleaks
|
||||
echo "Checking for secrets..."
|
||||
make gitleaks
|
||||
|
||||
echo "Pre-commit checks passed!"
|
||||
Loading…
Add table
Add a link
Reference in a new issue