summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-04-15 01:02:31 +0000
committerTed Kremenek <kremenek@apple.com>2010-04-15 01:02:31 +0000
commit66cf36dc9803443723c824b246ef8c065aba8d86 (patch)
treedc211114e9edf4faec5decabd8294fbc48d325e0
parentda7af32f4e4b43b763019e7a522f4bfd5c060d09 (diff)
downloadclang-66cf36dc9803443723c824b246ef8c065aba8d86.tar.gz
clang-66cf36dc9803443723c824b246ef8c065aba8d86.tar.bz2
clang-66cf36dc9803443723c824b246ef8c065aba8d86.tar.xz
Add simple python server for recording code completion timings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101327 91177308-0d34-0410-b5e6-96231b3b80d8
-rwxr-xr-xutils/CIndex/completion_logger_server.py39
1 files changed, 39 insertions, 0 deletions
diff --git a/utils/CIndex/completion_logger_server.py b/utils/CIndex/completion_logger_server.py
new file mode 100755
index 0000000000..e8be6ce0c8
--- /dev/null
+++ b/utils/CIndex/completion_logger_server.py
@@ -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()