Commit 803ca3cd authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 29017aa3
...@@ -27,6 +27,17 @@ Must be used with pyruntraced. ...@@ -27,6 +27,17 @@ Must be used with pyruntraced.
from neo.lib.connection import Connection from neo.lib.connection import Connection
import socket import socket
@trace_entry(Connection._addPacket, 'MsgSendPre')
def _(self, packet):
sk = self.connector.socket
pkth, data = packet.encode()
return {'src': sk_localaddr(sk),
'dst': sk_remoteaddr(sk),
# XXX pkt goes as quoted to avoid UTF-8 decode problem on json.dump
'pktq': `pkth+data`}
#'pktq': (pkth+data).encode('hex')}
# sk_addr converts socket address tuple for family to string # sk_addr converts socket address tuple for family to string
def sk_addr(addr, family): def sk_addr(addr, family):
if family == socket.AF_INET: if family == socket.AF_INET:
...@@ -41,14 +52,3 @@ def sk_localaddr(sk): ...@@ -41,14 +52,3 @@ def sk_localaddr(sk):
def sk_remoteaddr(sk): def sk_remoteaddr(sk):
return sk_addr( sk.getpeername(), sk.family ) return sk_addr( sk.getpeername(), sk.family )
@trace_entry(Connection._addPacket, 'MsgSendPre')
def _(self, packet):
sk = self.connector.socket
pkth, data = packet.encode()
return {'src': sk_localaddr(sk),
'dst': sk_remoteaddr(sk),
# XXX pkt goes as quoted to avoid UTF-8 decode problem on json.dump
'pktq': `pkth+data`}
#'pktq': (pkth+data).encode('hex')}
...@@ -61,6 +61,8 @@ Fork is not allowed in order not to confuse the driver(*). ...@@ -61,6 +61,8 @@ Fork is not allowed in order not to confuse the driver(*).
Tracepoints and probes definitions are provided in separate files that are Tracepoints and probes definitions are provided in separate files that are
passed as <trace>* command line arguments. passed as <trace>* command line arguments.
See trace_entry() for documentation on how to define probes.
(*) fork could be supported by making every new process to reattach to the (*) fork could be supported by making every new process to reattach to the
driver via new file descriptor - e.g. connecting via socket. driver via new file descriptor - e.g. connecting via socket.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment