code: func NewPID(marker interface{}, pname string) {
  	globals.lockContexts.Lock()
  	defer globals.lockContexts.Unlock()
  	if globals.contexts == nil {
  		return
  	}
  	newPID := globals.nextPID
  	globals.nextPID++
  	c := &context{pid: newPID, counters: map[string]float64{}}
  	globals.contexts[marker] = c
  	if pname != "" {
  		c.metadata(processName, Args{"name": pname})
  	}
  }
docs: // NewPID assigns a pseudo-process ID for this marker and TID 1.
  //
  // Optionally assigns name to the 'process'. The main use is to create a
  // logical group for events.