Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 19 for stateTransition (0.17 sec)

  1. src/internal/trace/resources.go

    	newState uint8
    }
    
    func goStateTransition(id GoID, from, to GoState) StateTransition {
    	return StateTransition{
    		Resource: ResourceID{Kind: ResourceGoroutine, id: int64(id)},
    		oldState: uint8(from),
    		newState: uint8(to),
    	}
    }
    
    func procStateTransition(id ProcID, from, to ProcState) StateTransition {
    	return StateTransition{
    		Resource: ResourceID{Kind: ResourceProc, id: int64(id)},
    		oldState: uint8(from),
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 8K bytes
    - Viewed (0)
  2. src/internal/trace/event.go

    	}
    }
    
    // StateTransition returns details about a StateTransition event.
    //
    // Panics if Kind != EventStateTransition.
    func (e Event) StateTransition() StateTransition {
    	if e.Kind() != EventStateTransition {
    		panic("StateTransition called on non-StateTransition event")
    	}
    	var s StateTransition
    	switch e.base.typ {
    	case go122.EvProcStart:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 12:39:00 UTC 2024
    - 28.9K bytes
    - Viewed (0)
  3. src/internal/trace/internal/oldtrace/order.go

    	gWaiting
    
    	unordered = ^uint64(0)
    	garbage   = ^uint64(0) - 1
    	noseq     = ^uint64(0)
    	seqinc    = ^uint64(0) - 1
    )
    
    // stateTransition returns goroutine state (sequence and status) when the event
    // becomes ready for merging (init) and the goroutine state after the event (next).
    func stateTransition(ev *Event) (g uint64, init, next gState) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:00:11 UTC 2024
    - 4K bytes
    - Viewed (0)
  4. src/cmd/trace/procgen.go

    	case trace.EventRangeEnd:
    		gs := g.gStates[r.Scope.Goroutine()]
    		gs.rangeEnd(ev.Time(), r.Name, ev.Stack(), ctx)
    	}
    }
    
    func (g *procGenerator) GoroutineTransition(ctx *traceContext, ev *trace.Event) {
    	st := ev.StateTransition()
    	goID := st.Resource.Goroutine()
    
    	// If we haven't seen this goroutine before, create a new
    	// gState for it.
    	gs, ok := g.gStates[goID]
    	if !ok {
    		gs = newGState[trace.ProcID](goID)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 6.1K bytes
    - Viewed (0)
  5. src/internal/trace/testtrace/validation.go

    		// API, resources all have the same general properties. Consider making this
    		// code generic over resources and implementing validation just once.
    		tr := ev.StateTransition()
    		checkStack(e, tr.Stack)
    		switch tr.Resource.Kind {
    		case trace.ResourceGoroutine:
    			// Basic state transition validation.
    			id := tr.Resource.Goroutine()
    			old, new := tr.Goroutine()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 10.9K bytes
    - Viewed (0)
  6. src/cmd/trace/threadgen.go

    	if ev.Thread() != trace.NoThread {
    		if _, ok := g.threads[ev.Thread()]; !ok {
    			g.threads[ev.Thread()] = struct{}{}
    		}
    	}
    
    	st := ev.StateTransition()
    	goID := st.Resource.Goroutine()
    
    	// If we haven't seen this goroutine before, create a new
    	// gState for it.
    	gs, ok := g.gStates[goID]
    	if !ok {
    		gs = newGState[trace.ThreadID](goID)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 5.7K bytes
    - Viewed (0)
  7. src/cmd/trace/goroutinegen.go

    		gs := g.gStates[r.Scope.Goroutine()]
    		gs.rangeEnd(ev.Time(), r.Name, ev.Stack(), ctx)
    	}
    }
    
    func (g *goroutineGenerator) GoroutineTransition(ctx *traceContext, ev *trace.Event) {
    	st := ev.StateTransition()
    	goID := st.Resource.Goroutine()
    
    	// If we haven't seen this goroutine before, create a new
    	// gState for it.
    	gs, ok := g.gStates[goID]
    	if !ok {
    		gs = newGState[trace.GoID](goID)
    		g.gStates[goID] = gs
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 4.6K bytes
    - Viewed (0)
  8. src/internal/trace/reader_test.go

    				ev.Metric()
    			case trace.EventRangeActive, trace.EventRangeBegin:
    				ev.Range()
    			case trace.EventRangeEnd:
    				ev.Range()
    				ev.RangeAttributes()
    			case trace.EventStateTransition:
    				ev.StateTransition()
    			case trace.EventRegionBegin, trace.EventRegionEnd:
    				ev.Region()
    			case trace.EventTaskBegin, trace.EventTaskEnd:
    				ev.Task()
    			case trace.EventSync:
    			case trace.EventStackSample:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 3.7K bytes
    - Viewed (0)
  9. src/cmd/trace/tasks.go

    		}
    		if matches(log.Message) {
    			return true
    		}
    	}
    	return false
    }
    
    func describeEvent(ev *trace.Event) string {
    	switch ev.Kind() {
    	case trace.EventStateTransition:
    		st := ev.StateTransition()
    		if st.Resource.Kind != trace.ResourceGoroutine {
    			return ""
    		}
    		old, new := st.Goroutine()
    		return fmt.Sprintf("%s -> %s", old, new)
    	case trace.EventRegionBegin:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 11.8K bytes
    - Viewed (0)
  10. src/internal/trace/summary_test.go

    			if region.Start.Region().Type != region.Name {
    				t.Errorf("region name mismatch: event has %s, summary has %s", region.Start.Region().Type, region.Name)
    			}
    		} else {
    			st := region.Start.StateTransition()
    			if st.Resource.Kind != trace.ResourceGoroutine {
    				t.Errorf("found region start event for the wrong resource: %s", st.Resource)
    			}
    			if st.Resource.Goroutine() != goid {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 18:48:18 UTC 2024
    - 13.4K bytes
    - Viewed (0)
Back to top