Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(144)

Issue 20494: Import Traceline, a Windows performance trace event logger. (Closed)

Created:
11 years, 10 months ago by Dean McNamee
Modified:
9 years, 7 months ago
Reviewers:
M-A Ruel
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Import traceline, a Windows performance trace event logger. This imports both the hook / event logger (traceline), and the SVG based UI for displaying trace results as a timeline (svgui).

Patch Set 1 #

Patch Set 2 : Merge clean. #

Total comments: 7

Patch Set 3 : Feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+8663 lines, -0 lines) Patch
A tools/traceline/svgui/README View 1 chunk +12 lines, -0 lines 0 comments Download
A tools/traceline/svgui/traceline.css View 1 chunk +73 lines, -0 lines 0 comments Download
A tools/traceline/svgui/traceline.js View 1 2 1 chunk +684 lines, -0 lines 0 comments Download
A tools/traceline/svgui/traceline.xml View 1 chunk +11 lines, -0 lines 0 comments Download
A tools/traceline/traceline/Makefile View 1 chunk +30 lines, -0 lines 0 comments Download
A tools/traceline/traceline/README View 1 chunk +21 lines, -0 lines 0 comments Download
A tools/traceline/traceline/assembler.h View 1 2 1 chunk +581 lines, -0 lines 0 comments Download
A tools/traceline/traceline/assembler_unittest.cc View 1 chunk +83 lines, -0 lines 0 comments Download
A tools/traceline/traceline/assembler_unittest.sh View 1 chunk +3 lines, -0 lines 0 comments Download
A tools/traceline/traceline/assembler_unittest.sh.expected View 1 chunk +54 lines, -0 lines 0 comments Download
A tools/traceline/traceline/dump_syscalls_idarub.rb View 1 chunk +32 lines, -0 lines 0 comments Download
A tools/traceline/traceline/logging.h View 1 chunk +28 lines, -0 lines 0 comments Download
A tools/traceline/traceline/main.cc View 1 chunk +1335 lines, -0 lines 0 comments Download
A tools/traceline/traceline/rdtsc.h View 1 chunk +43 lines, -0 lines 0 comments Download
A tools/traceline/traceline/scripts/alloc.py View 1 chunk +21 lines, -0 lines 0 comments Download
A tools/traceline/traceline/scripts/crit_sec.js View 1 chunk +87 lines, -0 lines 0 comments Download
A tools/traceline/traceline/scripts/crit_sec.py View 1 chunk +51 lines, -0 lines 0 comments Download
A tools/traceline/traceline/scripts/heap.js View 1 chunk +69 lines, -0 lines 0 comments Download
A tools/traceline/traceline/scripts/scstats.py View 1 chunk +26 lines, -0 lines 0 comments Download
A tools/traceline/traceline/scripts/syscalls.py View 1 chunk +942 lines, -0 lines 0 comments Download
A tools/traceline/traceline/sidestep/ia32_modrm_map.cc View 1 chunk +116 lines, -0 lines 0 comments Download
A tools/traceline/traceline/sidestep/ia32_opcode_map.cc View 1 chunk +1184 lines, -0 lines 0 comments Download
A tools/traceline/traceline/sidestep/mini_disassembler.h View 1 2 1 chunk +156 lines, -0 lines 0 comments Download
A tools/traceline/traceline/sidestep/mini_disassembler.cc View 1 chunk +416 lines, -0 lines 0 comments Download
A tools/traceline/traceline/sidestep/mini_disassembler_types.h View 1 2 1 chunk +198 lines, -0 lines 0 comments Download
A tools/traceline/traceline/stubs.asm View 1 chunk +132 lines, -0 lines 0 comments Download
A tools/traceline/traceline/sym_resolver.h View 1 chunk +163 lines, -0 lines 0 comments Download
A tools/traceline/traceline/syscall_map.h View 1 chunk +2112 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Dean McNamee
About time I committed this. This should be pretty straight forward, I made sure everything ...
11 years, 10 months ago (2009-02-19 14:35:53 UTC) #1
M-A Ruel
There's way too much code to do a complete review. You can check-in with most ...
11 years, 10 months ago (2009-02-19 20:48:16 UTC) #2
Dean McNamee
11 years, 10 months ago (2009-02-20 11:24:19 UTC) #3
Hey MA, thanks for the good review.  I think I fixed all of the typos, include
guards, etc.

As for your two questions.  RDTSCNormalizer was from when I was trying to use
the cpu timestamp counters, and they needed to be normalized per-cpu since the
counters are not synchronized.  I couldn't get this approach to work well at
all, and eventually moved to the simpler but slower QueryPerformanceCounter
kernel call.  I'd like to revisit the idea again someday, which is why I left
the scaffolding in place.

The static on kPlaygroundAddr is sort of a note to myself that someday this
should be a variable so I can handle the case when this address is already used.

Committing, thanks!

On 2009/02/19 20:48:16, M-A wrote:
> There's way too much code to do a complete review. You can check-in with most
of
> the changes. I have 2 question but you don't need to block on that, just reply
> "why" :)
> 
> http://codereview.chromium.org/20494/diff/3021/3025
> File tools/traceline/svgui/traceline.js (right):
> 
> http://codereview.chromium.org/20494/diff/3021/3025#newcode42
> Line 42: // a TLThread respresents information about a thread in the traceline
> data.
> represents
> 
> http://codereview.chromium.org/20494/diff/3021/3025#newcode300
> Line 300: // scrolled we rerending the scene.  This means that the SVG element
> is never
> rerender
> 
> http://codereview.chromium.org/20494/diff/3021/34
> File tools/traceline/traceline/assembler.h (right):
> 
> http://codereview.chromium.org/20494/diff/3021/34#newcode544
> Line 544: // put a unique cpu identifier into eax, uses sidt to fingerprint
> cores.
> Puts and other *s.
> 
> http://codereview.chromium.org/20494/diff/3021/42
> File tools/traceline/traceline/main.cc (right):
> 
> http://codereview.chromium.org/20494/diff/3021/42#newcode108
> Line 108: static void* kPlaygroundAddr = reinterpret_cast<void*>(0x66660000);
> I don't understand why it is static.
> 
> http://codereview.chromium.org/20494/diff/3021/43
> File tools/traceline/traceline/rdtsc.h (right):
> 
> http://codereview.chromium.org/20494/diff/3021/43#newcode17
> Line 17: RDTSCNormalizer() { }
> what for?
> 
> http://codereview.chromium.org/20494/diff/3021/49
> File tools/traceline/traceline/sidestep/mini_disassembler.h (right):
> 
> http://codereview.chromium.org/20494/diff/3021/49#newcode6
> Line 6: #ifndef SANDBOX_SRC_SIDESTEP_MINI_DISASSEMBLER_H__
> update the define
> 
> http://codereview.chromium.org/20494/diff/3021/50
> File tools/traceline/traceline/sidestep/mini_disassembler_types.h (right):
> 
> http://codereview.chromium.org/20494/diff/3021/50#newcode8
> Line 8: #ifndef SANDBOX_SRC_SIDESTEP_MINI_DISASSEMBLER_TYPES_H__
> update define

Powered by Google App Engine
This is Rietveld 408576698