• Hana Kim's avatar
    cmd/trace: implement /trace?focustask=<taskid> mode · c4874aa2
    Hana Kim authored
    This mode is similar to the default traceview mode where the execution
    trace is presented in P-oriented way. Each row represents a P, and each
    slice represents the time interval of a goroutine's execution on the P.
    
    The difference is that, in this mode, only the execution of goroutines
    involved in the specified task is highlighted, and other goroutine
    execution or events are greyed out. So, users can focus on how a task is
    executed while considering other affecting conditions such as other
    goroutines, network events, or process scheduling.
    
    Example: https://user-images.githubusercontent.com/4999471/38116793-a6f995f0-337f-11e8-8de9-88eec2f2c497.png
    
    Here, for a while the program remained idle after the first burst of
    activity related to the task because all other goroutines were also
    being blocked or waiting for events, or no incoming network traffic
    (indicated by the lack of any network activity). This is a bit hard to
    discover when the usual task-oriented view (/trace?taskid=<taskid>)
    mode.
    
    Also, it simplifies the traceview generation mode logic.
      /trace ---> 0
      /trace?goid ---> modeGoroutineOriented
      /trace?taskid ---> modeGoroutineOriented|modeTaskOriented
      /trace?focustask ---> modeTaskOriented
    
    Change-Id: Idcc0ae31b708ddfd19766f4e26ee7efdafecd3a5
    Reviewed-on: https://go-review.googlesource.com/103555
    Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
    Reviewed-by: 's avatarHeschi Kreinick <heschi@google.com>
    c4874aa2
Name
Last commit
Last update
..
archive Loading commit data...
bufio Loading commit data...
builtin Loading commit data...
bytes Loading commit data...
cmd Loading commit data...
compress Loading commit data...
container Loading commit data...
context Loading commit data...
crypto Loading commit data...
database/sql Loading commit data...
debug Loading commit data...
encoding Loading commit data...
errors Loading commit data...
expvar Loading commit data...
flag Loading commit data...
fmt Loading commit data...
go Loading commit data...
hash Loading commit data...
html Loading commit data...
image Loading commit data...
index/suffixarray Loading commit data...
internal Loading commit data...
io Loading commit data...
log Loading commit data...
math Loading commit data...
mime Loading commit data...
net Loading commit data...
os Loading commit data...
path Loading commit data...
plugin Loading commit data...
reflect Loading commit data...
regexp Loading commit data...
runtime Loading commit data...
sort Loading commit data...
strconv Loading commit data...
strings Loading commit data...
sync Loading commit data...
syscall Loading commit data...
testing Loading commit data...
text Loading commit data...
time Loading commit data...
unicode Loading commit data...
unsafe Loading commit data...
vendor/golang_org/x Loading commit data...
Make.dist Loading commit data...
all.bash Loading commit data...
all.bat Loading commit data...
all.rc Loading commit data...
androidtest.bash Loading commit data...
bootstrap.bash Loading commit data...
buildall.bash Loading commit data...
clean.bash Loading commit data...
clean.bat Loading commit data...
clean.rc Loading commit data...
cmp.bash Loading commit data...
iostest.bash Loading commit data...
make.bash Loading commit data...
make.bat Loading commit data...
make.rc Loading commit data...
naclmake.bash Loading commit data...
nacltest.bash Loading commit data...
race.bash Loading commit data...
race.bat Loading commit data...
run.bash Loading commit data...
run.bat Loading commit data...
run.rc Loading commit data...