Index: tools/traceline/traceline/README |
diff --git a/tools/traceline/traceline/README b/tools/traceline/traceline/README |
new file mode 100644 |
index 0000000000000000000000000000000000000000..97ceec8b664f4590749f5adf279be29d739cf694 |
--- /dev/null |
+++ b/tools/traceline/traceline/README |
@@ -0,0 +1,21 @@ |
+Traceline is a Windows utility to intercept, time, and log system calls. This |
+is achieved by injecting code into a target process, along with dynamically |
+generated assembly hook stubs. One of the major goals was to skew performance |
+timings as little as possible. This lead to a design in which the log buffer |
+(which is called the playground) is kept within the process, and the logger |
+routines use atomic instructions to log their events to this buffer. At the |
+end of the processes lifetime, this buffer is pulled out of the process and |
+used to generated JSON output. In addition to hooking system call activity, |
+other hooks of interest have been written, including heap allocation functions. |
+Symbols are supported with a command line flag. This works by capturing the |
+process shutdown, and doing an intrusive symbol attach with dbghelp.dll |
+ |
+NOTES: |
+ - You should copy dbghelp.dll from a windbg installation into this directory. |
+ The version shipped with Windows is old, and symbol support won't work. |
+ - You will need a bit of cygwin if you want to use the Makefile. Otherwise |
+ it is pretty clear how to build the files manually. |
+ - The output JSON data will be printed out stdout. It is likely that you |
+ will want to pipe the output of this program into a file. |
+ |
+Dean McNamee <deanm@chromium.org> |