# Functions
CancelContexts is a routine that will wait for a cancel call at the top level context and then deliver a cancel call to all downstream contexts passed in the cancels param.
CreateRoutineContextRelation will create a collection of routine contexts and cancels that are related to routineNames passed as input This object is used to store context relations among many contexts, allowing for closing all contexts at once if needed.
RoutineEnd is a function to simplify how we can defer calling finishRoutine() at the top of a function, instead of having to always call it at the end of a routine.
RoutineError signals a routine error to the routineInfoWatcher channel.
RoutineStarted is used when initializing a new goroutine and adding monitoring to that routine.
Shutdown is called to close the routine monitor.
Startup is called to startup the monitor service.
# Structs
RoutineContextGroup is a collection of contexts and cancels that are associated with one specific routine group (ie: all local reporting contexts) This can be used with CancelContexts to send a ctx.Done() to all routines within a specific group.
RoutineInfo is a struct used to signal routine events.