mirror of
https://github.com/golang/go
synced 2024-11-13 19:10:22 -07:00
cmd/trace: use different colors for tasks
and assign the same colors for spans belong to the tasks (sadly, the trace viewer will change the saturation/ligthness for asynchronous slices so exact color mapping is impossible. But I hope they are not too far from each other) Change-Id: Idaaf0828a1e0dac8012d336dcefa1c6572ddca2e Reviewed-on: https://go-review.googlesource.com/109338 Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Heschi Kreinick <heschi@google.com>
This commit is contained in:
parent
8a958bb8a6
commit
af5143e384
@ -900,7 +900,7 @@ func (ctx *traceContext) emitTask(task *taskDesc, sortIndex int) {
|
|||||||
Dur: durationUsec,
|
Dur: durationUsec,
|
||||||
Pid: tasksSection,
|
Pid: tasksSection,
|
||||||
Tid: taskRow,
|
Tid: taskRow,
|
||||||
Cname: colorSeafoamGreen,
|
Cname: pickTaskColor(task.id),
|
||||||
}
|
}
|
||||||
targ := TaskArg{ID: task.id}
|
targ := TaskArg{ID: task.id}
|
||||||
if task.create != nil {
|
if task.create != nil {
|
||||||
@ -946,7 +946,7 @@ func (ctx *traceContext) emitRegion(s regionDesc) {
|
|||||||
Tid: s.G, // only in goroutine-oriented view
|
Tid: s.G, // only in goroutine-oriented view
|
||||||
ID: uint64(regionID),
|
ID: uint64(regionID),
|
||||||
Scope: scopeID,
|
Scope: scopeID,
|
||||||
Cname: colorDeepMagenta,
|
Cname: pickTaskColor(s.TaskID),
|
||||||
}
|
}
|
||||||
if s.Start != nil {
|
if s.Start != nil {
|
||||||
sl0.Stack = ctx.stack(s.Start.Stk)
|
sl0.Stack = ctx.stack(s.Start.Stk)
|
||||||
@ -961,7 +961,7 @@ func (ctx *traceContext) emitRegion(s regionDesc) {
|
|||||||
Tid: s.G,
|
Tid: s.G,
|
||||||
ID: uint64(regionID),
|
ID: uint64(regionID),
|
||||||
Scope: scopeID,
|
Scope: scopeID,
|
||||||
Cname: colorDeepMagenta,
|
Cname: pickTaskColor(s.TaskID),
|
||||||
Arg: RegionArg{TaskID: s.TaskID},
|
Arg: RegionArg{TaskID: s.TaskID},
|
||||||
}
|
}
|
||||||
if s.End != nil {
|
if s.End != nil {
|
||||||
@ -1193,36 +1193,67 @@ func viewerDataTraceConsumer(w io.Writer, start, end int64) traceConsumer {
|
|||||||
// https://github.com/catapult-project/catapult/blob/master/tracing/tracing/base/color_scheme.html#L50
|
// https://github.com/catapult-project/catapult/blob/master/tracing/tracing/base/color_scheme.html#L50
|
||||||
// The chrome trace viewer allows only those as cname values.
|
// The chrome trace viewer allows only those as cname values.
|
||||||
const (
|
const (
|
||||||
colorLightMauve string = "thread_state_uninterruptible" // 182, 125, 143
|
colorLightMauve string = "thread_state_uninterruptible" // 182, 125, 143
|
||||||
colorOrange = "thread_state_iowait" // 255, 140, 0
|
colorOrange = "thread_state_iowait" // 255, 140, 0
|
||||||
colorSeafoamGreen = "thread_state_running" // 126, 200, 148
|
colorSeafoamGreen = "thread_state_running" // 126, 200, 148
|
||||||
colorVistaBlue = "thread_state_runnable" // 133, 160, 210
|
colorVistaBlue = "thread_state_runnable" // 133, 160, 210
|
||||||
colorTan = "thread_state_unknown" // 199, 155, 125
|
colorTan = "thread_state_unknown" // 199, 155, 125
|
||||||
colorIrisBlue = "background_memory_dump" // 0, 180, 180
|
colorIrisBlue = "background_memory_dump" // 0, 180, 180
|
||||||
colorMidnightBlue = "light_memory_dump" // 0, 0, 180
|
colorMidnightBlue = "light_memory_dump" // 0, 0, 180
|
||||||
colorDeepMagenta = "detailed_memory_dump" // 180, 0, 180
|
colorDeepMagenta = "detailed_memory_dump" // 180, 0, 180
|
||||||
colorBlue = "vsync_highlight_color" // 0, 0, 255
|
colorBlue = "vsync_highlight_color" // 0, 0, 255
|
||||||
colorGrey = "generic_work" // 125, 125, 125
|
colorGrey = "generic_work" // 125, 125, 125
|
||||||
colorGreen = "good" // 0, 125, 0
|
colorGreen = "good" // 0, 125, 0
|
||||||
colorDarkGoldenrod = "bad" // 180, 125, 0
|
colorDarkGoldenrod = "bad" // 180, 125, 0
|
||||||
colorPeach = "terrible" // 180, 0, 0
|
colorPeach = "terrible" // 180, 0, 0
|
||||||
colorBlack = "black" // 0, 0, 0
|
colorBlack = "black" // 0, 0, 0
|
||||||
colorLightGrey = "grey" // 221, 221, 221
|
colorLightGrey = "grey" // 221, 221, 221
|
||||||
colorWhite = "white" // 255, 255, 255
|
colorWhite = "white" // 255, 255, 255
|
||||||
colorYellow = "yellow" // 255, 255, 0
|
colorYellow = "yellow" // 255, 255, 0
|
||||||
colorOlive = "olive" // 100, 100, 0
|
colorOlive = "olive" // 100, 100, 0
|
||||||
colorCornflowerBlue = "rail_response" // 67, 135, 253
|
colorCornflowerBlue = "rail_response" // 67, 135, 253
|
||||||
colorSunsetOrange = "rail_animation" // 244, 74, 63
|
colorSunsetOrange = "rail_animation" // 244, 74, 63
|
||||||
colorTangerine = "rail_idle" // 238, 142, 0
|
colorTangerine = "rail_idle" // 238, 142, 0
|
||||||
colorShamrockGreen = "rail_load" // 13, 168, 97
|
colorShamrockGreen = "rail_load" // 13, 168, 97
|
||||||
colorGreenishYellow = "startup" // 230, 230, 0
|
colorGreenishYellow = "startup" // 230, 230, 0
|
||||||
colorDarkGrey = "heap_dump_stack_frame" // 128, 128, 128
|
colorDarkGrey = "heap_dump_stack_frame" // 128, 128, 128
|
||||||
colorTawny = "heap_dump_child_node_arrow" // 204, 102, 0
|
colorTawny = "heap_dump_child_node_arrow" // 204, 102, 0
|
||||||
colorLemon = "cq_build_running" // 255, 255, 119
|
colorLemon = "cq_build_running" // 255, 255, 119
|
||||||
colorLime = "cq_build_passed" // 153, 238, 102
|
colorLime = "cq_build_passed" // 153, 238, 102
|
||||||
colorPink = "cq_build_failed" // 238, 136, 136
|
colorPink = "cq_build_failed" // 238, 136, 136
|
||||||
colorSilver = "cq_build_abandoned" // 187, 187, 187
|
colorSilver = "cq_build_abandoned" // 187, 187, 187
|
||||||
colorManzGreen = "cq_build_attempt_running" // 222, 222, 75
|
colorManzGreen = "cq_build_attempt_runnig" // 222, 222, 75
|
||||||
colorKellyGreen = "cq_build_attempt_passed" // 108, 218, 35
|
colorKellyGreen = "cq_build_attempt_passed" // 108, 218, 35
|
||||||
colorFuzzyWuzzyBrown = "cq_build_attempt_failed" // 187, 187, 187
|
colorAnotherGrey = "cq_build_attempt_failed" // 187, 187, 187
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var colorForTask = []string{
|
||||||
|
colorLightMauve,
|
||||||
|
colorOrange,
|
||||||
|
colorSeafoamGreen,
|
||||||
|
colorVistaBlue,
|
||||||
|
colorTan,
|
||||||
|
colorMidnightBlue,
|
||||||
|
colorIrisBlue,
|
||||||
|
colorDeepMagenta,
|
||||||
|
colorGreen,
|
||||||
|
colorDarkGoldenrod,
|
||||||
|
colorPeach,
|
||||||
|
colorOlive,
|
||||||
|
colorCornflowerBlue,
|
||||||
|
colorSunsetOrange,
|
||||||
|
colorTangerine,
|
||||||
|
colorShamrockGreen,
|
||||||
|
colorTawny,
|
||||||
|
colorLemon,
|
||||||
|
colorLime,
|
||||||
|
colorPink,
|
||||||
|
colorSilver,
|
||||||
|
colorManzGreen,
|
||||||
|
colorKellyGreen,
|
||||||
|
}
|
||||||
|
|
||||||
|
func pickTaskColor(id uint64) string {
|
||||||
|
idx := id % uint64(len(colorForTask))
|
||||||
|
return colorForTask[idx]
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user