diff --git a/experimental/example/run.sh b/experimental/example/run.sh index ceeac18ca..7a4dee446 100755 --- a/experimental/example/run.sh +++ b/experimental/example/run.sh @@ -19,10 +19,6 @@ start_container() { done } -start_container 1 elasticsearch elasticsearch -start_container 2 tomwilkie/searchapp searchapp -start_container 1 redis redis start_container 1 tomwilkie/qotd qotd -start_container 2 tomwilkie/app app -start_container 2 tomwilkie/frontend frontend --add-host=dns.weave.local:$(weave docker-bridge-ip) -start_container 1 tomwilkie/client client +start_container 1 tomwilkie/app app + diff --git a/experimental/tracer/ptrace/thread.go b/experimental/tracer/ptrace/thread.go index af663d2d4..ca67de89c 100644 --- a/experimental/tracer/ptrace/thread.go +++ b/experimental/tracer/ptrace/thread.go @@ -12,6 +12,7 @@ import ( const ( READ = 0 WRITE = 1 + OPEN = 2 CLOSE = 3 STAT = 4 MMAP = 9 @@ -101,11 +102,18 @@ func (t *thread) syscallStopped() { case SETROBUSTLIST, GETID, MMAP, MPROTECT, MADVISE, SOCKET, CLONE, STAT, SELECT: return + case OPEN: + return + default: t.logf("syscall(%d)", t.callRegs.Orig_rax) } } +func ntohl(b uint16) uint16 { + return (b << 8) | ((b & 0xff00) >> 8) +} + func (t *thread) getSocketAddress(ptr uintptr) (addr net.IP, port uint16, err error) { var ( buf = make([]byte, syscall.SizeofSockaddrAny) @@ -128,7 +136,7 @@ func (t *thread) getSocketAddress(ptr uintptr) (addr net.IP, port uint16, err er } addr = net.IP(sockaddr4.Addr[0:]) - port = sockaddr4.Port + port = ntohl(sockaddr4.Port) return } diff --git a/experimental/tracer/ui/index.html b/experimental/tracer/ui/index.html index a8e29d187..b479f377c 100644 --- a/experimental/tracer/ui/index.html +++ b/experimental/tracer/ui/index.html @@ -273,8 +273,15 @@ Stop - - +
Start timeDurationPIDFromToSub-traces
+ + + + + + + + {{>traces traces}}
Start timeDurationPIDFromToSub-traces