Home | History | Annotate | Download | only in trace

Lines Matching refs:Ev

23 	Type  byte      // one of Ev*
95 for _, ev := range events {
96 if ev.StkID != 0 {
97 ev.Stk = stacks[ev.StkID]
205 ev := rawEvent{typ: typ, off: off0}
214 ev.args = append(ev.args, v)
232 ev.args = append(ev.args, v)
239 events = append(events, ev)
419 for _, ev := range events {
420 ev.Ts = int64(float64(ev.Ts-minTs) * freq)
422 if timerGoid != 0 && ev.G == timerGoid && ev.Type == EvGoUnblock {
423 ev.P = TimerP
425 if ev.Type == EvGoSysExit {
426 ev.P = SyscallP
453 for _, ev := range events {
454 switch ev.Type {
456 g := gs[ev.Args[0]]
457 g.wakeup = []*Event{ev}
458 gs[ev.Args[0]] = g
460 g := gs[ev.G]
461 g.wakeup = append(g.wakeup, ev)
462 if ev.Type == EvFutileWakeup {
465 gs[ev.G] = g
467 g := gs[ev.G]
469 futile[ev] = true
474 delete(gs, ev.G)
480 for _, ev := range events {
481 if !futile[ev] {
482 newEvents = append(newEvents, ev)
505 ev *Event
521 checkRunning := func(p pdesc, g gdesc, ev *Event, allowG0 bool) error {
522 name := EventDescriptions[ev.Type].Name
524 return fmt.Errorf("g %v is not running while %v (offset %v, time %v)", ev.G, name, ev.Off, ev.Ts)
526 if p.g != ev.G {
527 return fmt.Errorf("p %v is not running g %v while %v (offset %v, time %v)", ev.P, ev.G, name, ev.Off, ev.Ts)
529 if !allowG0 && ev.G == 0 {
530 return fmt.Errorf("g 0 did %v (offset %v, time %v)", EventDescriptions[ev.Type].Name, ev.Off, ev.Ts)
535 for _, ev := range events {
536 g := gs[ev.G]
537 p := ps[ev.P]
539 switch ev.Type {
542 return fmt.Errorf("p %v is running before start (offset %v, time %v)", ev.P, ev.Off, ev.Ts)
547 return fmt.Errorf("p %v is not running before stop (offset %v, time %v)", ev.P, ev.Off, ev.Ts)
550 return fmt.Errorf("p %v is running a goroutine %v during stop (offset %v, time %v)", ev.P, p.g, ev.Off, ev.Ts)
555 return fmt.Errorf("previous GC is not ended before a new one (offset %v, time %v)", ev.Off, ev.Ts)
557 evGC = ev
559 ev.P = GCP
562 return fmt.Errorf("bogus GC end (offset %v, time %v)", ev.Off, ev.Ts)
564 evGC.Link = ev
568 return fmt.Errorf("previous scanning is not ended before a new one (offset %v, time %v)", ev.Off, ev.Ts)
570 p.evScan = ev
573 return fmt.Errorf("bogus scanning end (offset %v, time %v)", ev.Off, ev.Ts)
575 p.evScan.Link = ev
579 return fmt.Errorf("previous sweeping is not ended before a new one (offset %v, time %v)", ev.Off, ev.Ts)
581 p.evSweep = ev
584 return fmt.Errorf("bogus sweeping end (offset %v, time %v)", ev.Off, ev.Ts)
586 ev
590 return fmt.Errorf("g %v is not runnable before EvGoWaiting (offset %v, time %v)", ev.G, ev.Off, ev.Ts)
593 g.ev = ev
596 return fmt.Errorf("g %v is not runnable before EvGoInSyscall (offset %v, time %v)", ev.G, ev.Off, ev.Ts)
599 g.ev = ev
601 if err := checkRunning(p, g, ev, true); err != nil {
604 if _, ok := gs[ev.Args[0]]; ok {
605 return fmt.Errorf("g %v already exists (offset %v, time %v)", ev.Args[0], ev.Off, ev.Ts)
607 gs[ev.Args[0]] = gdesc{state: gRunnable, ev: ev, evCreate: ev}
610 return fmt.Errorf("g %v is not runnable before start (offset %v, time %v)", ev.G, ev.Off, ev.Ts)
613 return fmt.Errorf("p %v is already running g %v while start g %v (offset %v, time %v)", ev.P, p.g, ev.G, ev.Off, ev.Ts)
616 g.evStart = ev
617 p.g = ev.G
621 ev.Stk = []*Frame{{PC: g.evCreate.Args[1] + 1}}
623 ev.StkID = g.evCreate.Args[1]
628 if g.ev != nil {
629 g.ev.Link = ev
630 g.ev = nil
633 if err := checkRunning(p, g, ev, false); err != nil {
636 g.evStart.Link = ev
641 if err := checkRunning(p, g, ev, false); err != nil {
645 g.evStart.Link = ev
648 g.ev = ev
651 return fmt.Errorf("g %v is not running while unpark (offset %v, time %v)", ev.G, ev.Off, ev.Ts)
653 if ev.P != TimerP && p.g != ev.G {
654 return fmt.Errorf("p %v is not running g %v while unpark (offset %v, time %v)", ev.P, ev.G, ev.Off, ev.Ts)
656 g1 := gs[ev.Args[0]]
658 return fmt.Errorf("g %v is not waiting before unpark (offset %v, time %v)", ev.Args[0], ev.Off, ev.Ts)
660 if g1.ev != nil && g1.ev.Type == EvGoBlockNet && ev.P != TimerP {
661 ev.P = NetpollP
663 if g1.ev != nil {
664 g1.ev.Link = ev
667 g1.ev = ev
668 gs[ev.Args[0]] = g1
670 if err := checkRunning(p, g, ev, false); err != nil {
673 g.ev = ev
675 if err := checkRunning(p, g, ev, false); err != nil {
679 g.evStart.Link = ev
684 return fmt.Errorf("g %v is not waiting during syscall exit (offset %v, time %v)", ev.G, ev.Off, ev.Ts)
686 if g.ev != nil && g.ev.Type == EvGoSysCall {
687 g.ev.Link = ev
690 g.ev = ev
693 if err := checkRunning(p, g, ev, false); err != nil {
697 g.ev = ev
698 g.evStart.Link = ev
703 gs[ev.G] = g
704 ps[ev.P] = p
717 for _, ev := range events {
718 for _, f := range ev.Stk {
777 for _, ev := range events {
778 for i, f := range ev.Stk {
779 ev.Stk[i] = pcs[f.PC]
807 for _, ev := range events {
808 PrintEvent(ev)
813 func PrintEvent(ev *Event) {
814 desc := EventDescriptions[ev.Type]
815 fmt.Printf("%v %v p=%v g=%v off=%v", ev.Ts, desc.Name, ev.P, ev.G, ev.Off)
817 fmt.Printf(" %v=%v", a, ev.Args[i])