Log spdlogs to target from env var BPFTIME_LOG_OUTPUT. Default to be stderr. All logs from runtime (syscall_server, agent, agent-transformer) go to given target.
Logs from client (cli/main.cpp) and ebpf program output untouched. I suppose ppl always want client feedback from stdout/err.
Used file but not named pipe. bpftime server should be similar to docker daemon, managing "services" of injected ebpf programs. The log should be persistent, reusable.
Now usage:
kailian@ubt23:~/bpftime$ sudo BPFTIME_LOG_OUTPUT=skeleton_logging.out /home/kailian/.bpftime/bpftime -i /home/kailian/.bpftime load ./example/opensnoop/opensnoop\
PID COMM FD ERR PATH
^CINFO [40749]: Global shm destructed
kailian@ubt23:~/bpftime$ cat skeleton_logging.out
[2024-06-02 10:12:32][info][40749] manager constructed
[2024-06-02 10:12:32][info][40749] Initialize syscall server
[2024-06-02 10:12:32][info][40749] Global shm constructed. shm_open_type 0 for bpftime_maps_shm
[2024-06-02 10:12:32][info][40749] Global shm initialized
[2024-06-02 10:12:32][info][40749] Enabling helper groups ufunc, kernel, shm_map by default
[2024-06-02 10:12:32][info][40749] bpftime-syscall-server started
I may add these feature in this PR, hoping suggestions or confirmation from you:
Provide a subcommand similar to trace to output logs we want.
Logs be optionally reserved under /var/log/ or syslog under linux. Log rotation are management automatically.
Merge logs from different processes as one. Add tags of source (which injected process causing) to the log.
Add documentations about logging.
resolves # 279
Type of change
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Description
A draft version of logging. It implements:
Used file but not named pipe. bpftime server should be similar to docker daemon, managing "services" of injected ebpf programs. The log should be persistent, reusable.
Now usage:
I may add these feature in this PR, hoping suggestions or confirmation from you:
resolves # 279
Type of change
How Has This Been Tested?
Test Configuration:
Checklist