]> granicus.if.org Git - clang/commitdiff
Add simple python server for recording code completion timings.
authorTed Kremenek <kremenek@apple.com>
Thu, 15 Apr 2010 01:02:31 +0000 (01:02 +0000)
committerTed Kremenek <kremenek@apple.com>
Thu, 15 Apr 2010 01:02:31 +0000 (01:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101327 91177308-0d34-0410-b5e6-96231b3b80d8

utils/CIndex/completion_logger_server.py [new file with mode: 0755]

diff --git a/utils/CIndex/completion_logger_server.py b/utils/CIndex/completion_logger_server.py
new file mode 100755 (executable)
index 0000000..e8be6ce
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+import sys
+from socket import *
+from time import localtime, strftime
+
+def main():
+  if len(sys.argv) < 4:
+    print "completion_logger_server.py <listen address> <listen port> <log file>"
+    exit(1)
+
+  host = sys.argv[1]
+  port = int(sys.argv[2])
+  buf = 1024 * 8
+  addr = (host,port)
+  
+  # Create socket and bind to address
+  UDPSock = socket(AF_INET,SOCK_DGRAM)
+  UDPSock.bind(addr)
+  
+  print "Listing on {0}:{1} and logging to '{2}'".format(host, port, sys.argv[3])
+
+  # Open the logging file.
+  f = open(sys.argv[3], "a")
+
+  # Receive messages
+  while 1:
+    data,addr = UDPSock.recvfrom(buf)
+    if not data:
+      break
+    else:
+      f.write(strftime("'%a, %d %b %Y %H:%M:%S' ", localtime()))
+      f.write(data)
+      f.write('\n')
+
+  # Close socket
+  UDPSock.close()
+
+if __name__ == '__main__':
+  main()