Involved Source Files Package telemetry provides telemetry exporters for asyncmachine: am-dbg,
Prometheus, and OpenTelemetry.otel.gotelemetry.go
Package-Level Type Names (total 8)
/* sort by: | */
DbgMsg is the interface for the messages to be sent to the am-dbg server. Clock returns the state's clock, using the passed index Is returns true if the state is active, using the passed index
*DbgMsgStruct
*DbgMsgTx
DbgMsgStruct contains the state and relations data. list of group names and state indexes order of groups Machine ID parent machine ID all the states with relations
TODO refac: Schema state names defining the indexes for diffs machine tags(*DbgMsgStruct) Clock(_ am.S, _ string) uint64(*DbgMsgStruct) Is(_ am.S, _ am.S) bool
*DbgMsgStruct : DbgMsg
func github.com/pancsta/asyncmachine-go/pkg/graph.(*Graph).AddClient(msg *DbgMsgStruct) error
func github.com/pancsta/asyncmachine-go/tools/debugger/server.(*RPCServer).DbgMsgSchema(msgSchema *DbgMsgStruct, _ *string) error
DbgMsgTx contains transition data. result of the transition
TODO rename to IsAcceptedArgsmap[string]string called states
TODO remove. Deprecated use CalledStateNames(index) TODO rename to CalledStates, re-gen all assets Clocks is represents the machine time [am.Time] from after the current
transition.
TODO refac to TimeAfter, re-gen all the assets Transition ID
TODO refac: Id transition was triggered by an auto state is this a check (Can*) tx or mutation? is this a queued mutation? log entries created during the transitionMachineIDstring MutQueueTick is the assigned queue tick when the tx will be executed.
Only for IsQueued. TODO QueueDebug with all string entries for comparison
MutQueueToken is the token of a prepended mutation, can be scheduled or
executed, depending on IsQueued. log entries before the transition, which happened after the prev one queue length at the start of the transition
TODO rename to QueueLen
TODO change to int32QueueDump[]string QueueTick is the current queue tick in the machine.
transition. all the transition steps Time is human time. Don't send this over the wire.
TODO remove or skip in msgpack
TODO rename to HTime mutation type(*DbgMsgTx) ActiveStates(statesIndex am.S) am.S(*DbgMsgTx) CalledStateNames(statesIndex am.S) am.S(*DbgMsgTx) Clock(statesIndex am.S, state string) uint64(*DbgMsgTx) Index(statesIndex am.S, state string) int(*DbgMsgTx) Is(statesIndex am.S, states am.S) bool(*DbgMsgTx) Is1(statesIndex am.S, state string) bool TODO unify with Mut String TODO Sum() and TimeSum(idxs []int) TODO unify with Tx String
*DbgMsgTx : DbgMsg
func github.com/pancsta/asyncmachine-go/tools/debugger.(*Debugger).CurrentTx() *DbgMsgTx
func github.com/pancsta/asyncmachine-go/tools/debugger.(*Debugger).NextTx() *DbgMsgTx
func github.com/pancsta/asyncmachine-go/tools/debugger.(*Debugger).PrevTx() *DbgMsgTx
func github.com/pancsta/asyncmachine-go/tools/debugger/server.(*Client).Tx(idx int) *DbgMsgTx
func github.com/pancsta/asyncmachine-go/pkg/graph.(*Graph).ParseMsg(id string, msgTx *DbgMsgTx)
func github.com/pancsta/asyncmachine-go/tools/debugger/server.(*RPCServer).DbgMsgTx(msgTx *DbgMsgTx, _ *string) error
TODO if true, only Healthcheck and Heartbeat will be skippedLogffunc(format string, args ...any) if true, auto transitions won't be traced if true, transition traces won't include [am.Machine.GetLogArgs] if true, only state changes will be traced TODO
func NewOtelMachTracer(rootMach am.Api, rootSpan trace.Span, otelTracer trace.Tracer, opts *OtelMachTracerOpts) *OtelMachTracer
BindLokiEnv bind Loki logger to [mach], based on environment vars:
- AM_SERVICE (required)
- AM_LOKI_ADDR (required)
This tracer is NOT inherited by submachines.
BindOtelLogger binds an OpenTelemetry logger to a machine.
MachBindOtelEnv bind an OpenTelemetry tracer to [mach], based on environment
variables:
- AM_SERVICE (required)
- AM_OTEL_TRACE (required)
- AM_OTEL_TRACE_TXS
- OTEL_EXPORTER_OTLP_ENDPOINT
- OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
This tracer is inherited by submachines, and this function applies only to
top-level machines.
The pages are generated with Goldsv0.8.2. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds.