From 0cb5502c61e7ea90b2213e0ba8bbb29e1a2a74d5 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Fri, 21 Aug 2015 10:46:30 +0000 Subject: [PATCH] Plumb in socket syscall. --- experimental/ftrace/ftrace.go | 2 ++ experimental/ftrace/main.go | 10 ++++++++++ 2 files changed, 12 insertions(+) diff --git a/experimental/ftrace/ftrace.go b/experimental/ftrace/ftrace.go index 95952c3bd..4335ab715 100644 --- a/experimental/ftrace/ftrace.go +++ b/experimental/ftrace/ftrace.go @@ -181,6 +181,8 @@ func (f *Ftrace) events(out chan<- *syscall) { func (f *Ftrace) start() error { for _, e := range []struct{ class, event string }{ + {"syscalls", "sys_enter_socket"}, + {"syscalls", "sys_exit_socket"}, {"syscalls", "sys_enter_connect"}, {"syscalls", "sys_exit_connect"}, {"syscalls", "sys_enter_accept"}, diff --git a/experimental/ftrace/main.go b/experimental/ftrace/main.go index fe7789678..16058cf37 100644 --- a/experimental/ftrace/main.go +++ b/experimental/ftrace/main.go @@ -69,7 +69,15 @@ func main() { syscalls := make(chan *syscall, 100) go ftrace.events(syscalls) + onSocket := func(s *syscall) { + + } + onConnection := func(s *syscall) { + if s.returnCode != 0 { + return + } + fdStr, ok := s.args["fd"] if !ok { panic("no pid") @@ -105,6 +113,8 @@ func main() { case s := <-syscalls: switch s.name { + case "socket": + onSocket(s) case "connect": onConnection(s) case "accept", "accept4":