add-bpf-capability (#1)

1) add-bpf-capability
2) Not so clean but for now it's okay to start with

Co-authored-by: Harshavardhan Musanalli <harshavmb@gmail.com>
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2025-10-22 08:16:40 +00:00
parent 1f01c38881
commit f69e1dbc66
25 changed files with 3273 additions and 26 deletions

View File

@@ -152,3 +152,50 @@ ISSUE DESCRIPTION:`,
info.PrivateIPs,
runtime.Version())
}
// FormatSystemInfoWithEBPFForPrompt formats system information including eBPF capabilities
func FormatSystemInfoWithEBPFForPrompt(info *SystemInfo, ebpfManager EBPFManagerInterface) string {
baseInfo := FormatSystemInfoForPrompt(info)
if ebpfManager == nil {
return baseInfo + "\neBPF CAPABILITIES: Not available\n"
}
capabilities := ebpfManager.GetCapabilities()
summary := ebpfManager.GetSummary()
ebpfInfo := fmt.Sprintf(`
eBPF MONITORING CAPABILITIES:
- System Call Tracing: %v
- Network Activity Tracing: %v
- Process Monitoring: %v
- File System Monitoring: %v
- Performance Monitoring: %v
- Security Event Monitoring: %v
eBPF INTEGRATION GUIDE:
To request eBPF monitoring during diagnosis, include these fields in your JSON response:
{
"response_type": "diagnostic",
"reasoning": "explanation of why eBPF monitoring is needed",
"commands": [regular diagnostic commands],
"ebpf_capabilities": ["syscall_trace", "network_trace", "process_trace"],
"ebpf_duration_seconds": 15,
"ebpf_filters": {"pid": "process_id", "comm": "process_name", "path": "/specific/path"}
}
Available eBPF capabilities: %v
eBPF Status: %v
`,
capabilities["tracepoint"],
capabilities["kprobe"],
capabilities["kernel_support"],
capabilities["tracepoint"],
capabilities["kernel_support"],
capabilities["bpftrace_available"],
capabilities,
summary)
return baseInfo + ebpfInfo
}