• Hana Kim's avatar
    runtime/trace: rename "Span" with "Region" · c2d10243
    Hana Kim authored
    "Span" is a commonly used term in many distributed tracing systems
    (Dapper, OpenCensus, OpenTracing, ...). They use it to refer to a
    period of time, not necessarily tied into execution of underlying
    processor, thread, or goroutine, unlike the "Span" of runtime/trace
    package.
    
    Since distributed tracing and go runtime execution tracing are
    already similar enough to cause confusion, this CL attempts to avoid
    using the same word if possible.
    
    "Region" is being used in a certain tracing system to refer to a code
    region which is pretty close to what runtime/trace.Span currently
    refers to. So, replace that.
    https://software.intel.com/en-us/itc-user-and-reference-guide-defining-and-recording-functions-or-regions
    
    This CL also tweaks APIs a bit based on jbd and heschi's comments:
    
      NewContext -> NewTask
        and it now returns a Task object that exports End method.
    
      StartSpan -> StartRegion
        and it now returns a Region object that exports End method.
    
    Also, changed WithSpan to WithRegion and it now takes func() with no
    context. Another thought is to get rid of WithRegion. It is a nice
    concept but in practice, it seems problematic (a lot of code churn,
    and polluting stack trace). Already, the tracing concept is very low
    level, and we hope this API to be used with great care.
    
    Recommended usage will be
       defer trace.StartRegion(ctx, "someRegion").End()
    
    Left old APIs untouched in this CL. Once the usage of them are cleaned
    up, they will be removed in a separate CL.
    
    Change-Id: I73880635e437f3aad51314331a035dd1459b9f3a
    Reviewed-on: https://go-review.googlesource.com/108296
    Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarJBD <jbd@google.com>
    c2d10243
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...