Help us shape the future of Go! Take the 2026 Go Developer Survey

trace

package
v0.14.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 8, 2021 License: AGPL-3.0 Imports: 13 Imported by: 17

Documentation

Index

Constants

View Source
const (
	EXEParseDurationTag         = "runtime.parseTransactionDuration"
	EXECheckDurationTag         = "runtime.checkTransactionDuration"
	EXEInterpretDurationTag     = "runtime.interpretTransactionDuration"
	EXEValueEncodingDurationTag = "runtime.encodingValueDuration"
	EXEValueDecodingDurationTag = "runtime.decodingValueDuration"
)

Tag names

Variables

This section is empty.

Functions

This section is empty.

Types

type InternalTracer

type InternalTracer struct {
	// contains filtered or unexported fields
}

func (*InternalTracer) Extract

func (t *InternalTracer) Extract(format interface{}, carrier interface{}) (opentracing.SpanContext, error)

func (*InternalTracer) Inject

func (t *InternalTracer) Inject(sm opentracing.SpanContext, format interface{}, carrier interface{}) error

func (*InternalTracer) StartSpan

func (t *InternalTracer) StartSpan(operationName string, opts ...opentracing.StartSpanOption) opentracing.Span

type NoopSpan

type NoopSpan struct {
	// contains filtered or unexported fields
}

func (*NoopSpan) BaggageItem

func (s *NoopSpan) BaggageItem(restrictedKey string) string

func (*NoopSpan) Context

func (s *NoopSpan) Context() opentracing.SpanContext

func (*NoopSpan) Finish

func (s *NoopSpan) Finish()

func (*NoopSpan) FinishWithOptions

func (s *NoopSpan) FinishWithOptions(opts opentracing.FinishOptions)

func (*NoopSpan) Log

func (s *NoopSpan) Log(data opentracing.LogData)

func (*NoopSpan) LogEvent

func (s *NoopSpan) LogEvent(event string)

func (*NoopSpan) LogEventWithPayload

func (s *NoopSpan) LogEventWithPayload(event string, payload interface{})

func (*NoopSpan) LogFields

func (s *NoopSpan) LogFields(fields ...log.Field)

func (*NoopSpan) LogKV

func (s *NoopSpan) LogKV(alternatingKeyValues ...interface{})

func (*NoopSpan) SetBaggageItem

func (s *NoopSpan) SetBaggageItem(restrictedKey, value string) opentracing.Span

func (*NoopSpan) SetOperationName

func (s *NoopSpan) SetOperationName(operationName string) opentracing.Span

func (*NoopSpan) SetTag

func (s *NoopSpan) SetTag(key string, value interface{}) opentracing.Span

func (*NoopSpan) Tracer

func (s *NoopSpan) Tracer() opentracing.Tracer

type NoopSpanContext

type NoopSpanContext struct{}

func (*NoopSpanContext) ForeachBaggageItem

func (c *NoopSpanContext) ForeachBaggageItem(handler func(k, v string) bool)

type NoopTracer

type NoopTracer struct {
	// contains filtered or unexported fields
}

NoopTracer is the implementation of the Tracer interface

func NewNoopTracer

func NewNoopTracer() *NoopTracer

NewTracer creates a new tracer.

func (*NoopTracer) Done

func (t *NoopTracer) Done() <-chan struct{}

Done returns a channel that will close when shutdown is complete.

func (*NoopTracer) FinishSpan

func (t *NoopTracer) FinishSpan(entityID flow.Identifier, spanName SpanName)

FinishSpan finishes a span started with the passed in flow identifier

func (*NoopTracer) GetSpan

func (t *NoopTracer) GetSpan(entityID flow.Identifier, spanName SpanName) (opentracing.Span, bool)

GetSpan will get the span started with the passed in flow identifier

func (*NoopTracer) Ready

func (t *NoopTracer) Ready() <-chan struct{}

Ready returns a channel that will close when the network stack is ready.

func (*NoopTracer) RecordSpanFromParent added in v0.14.5

func (t *NoopTracer) RecordSpanFromParent(
	span opentracing.Span,
	operationName SpanName,
	duration time.Duration,
	logs []opentracing.LogRecord,
	opts ...opentracing.StartSpanOption,
)

func (*NoopTracer) StartSpan

func (t *NoopTracer) StartSpan(entityID flow.Identifier, spanName SpanName, opts ...opentracing.StartSpanOption,
) opentracing.Span

StartSpan starts a span using the flow identifier as a key into the span map

func (*NoopTracer) StartSpanFromContext

func (t *NoopTracer) StartSpanFromContext(
	ctx context.Context,
	operationName SpanName,
	opts ...opentracing.StartSpanOption,
) (opentracing.Span, context.Context)

func (*NoopTracer) StartSpanFromParent

func (t *NoopTracer) StartSpanFromParent(
	span opentracing.Span,
	operationName SpanName,
	opts ...opentracing.StartSpanOption,
) opentracing.Span

type OpenTracer

type OpenTracer struct {
	opentracing.Tracer
	// contains filtered or unexported fields
}

OpenTracer is the implementation of the Tracer interface

func NewTracer

func NewTracer(log zerolog.Logger, serviceName string) (*OpenTracer, error)

NewTracer creates a new tracer.

func (*OpenTracer) Done

func (t *OpenTracer) Done() <-chan struct{}

Done returns a channel that will close when shutdown is complete.

func (*OpenTracer) FinishSpan

func (t *OpenTracer) FinishSpan(entityID flow.Identifier, spanName SpanName)

FinishSpan finishes a span started with the passed in flow identifier

func (*OpenTracer) GetSpan

func (t *OpenTracer) GetSpan(entityID flow.Identifier, spanName SpanName) (opentracing.Span, bool)

GetSpan will get the span started with the passed in flow identifier

func (*OpenTracer) Ready

func (t *OpenTracer) Ready() <-chan struct{}

Ready returns a channel that will close when the network stack is ready.

func (*OpenTracer) RecordSpanFromParent added in v0.14.5

func (t *OpenTracer) RecordSpanFromParent(
	span opentracing.Span,
	operationName SpanName,
	duration time.Duration,
	logs []opentracing.LogRecord,
	opts ...opentracing.StartSpanOption,
)

func (*OpenTracer) StartSpan

func (t *OpenTracer) StartSpan(entityID flow.Identifier, spanName SpanName, opts ...opentracing.StartSpanOption) opentracing.Span

StartSpan starts a span using the flow identifier as a key into the span map

func (*OpenTracer) StartSpanFromContext

func (t *OpenTracer) StartSpanFromContext(
	ctx context.Context,
	operationName SpanName,
	opts ...opentracing.StartSpanOption,
) (opentracing.Span, context.Context)

func (*OpenTracer) StartSpanFromParent

func (t *OpenTracer) StartSpanFromParent(
	span opentracing.Span,
	operationName SpanName,
	opts ...opentracing.StartSpanOption,
) opentracing.Span

type SpanName

type SpanName string
const (

	// State
	// mutator.Extend - full payload check
	ProtoStateMutatorExtend                = "common.state.proto.mutator.extend"
	ProtoStateMutatorExtendCheckHeader     = "common.state.proto.mutator.extend.checkHeader"
	ProtoStateMutatorExtendCheckGuarantees = "common.state.proto.mutator.extend.checkGuarantees"
	ProtoStateMutatorExtendCheckSeals      = "common.state.proto.mutator.extend.checkSeals"
	ProtoStateMutatorExtendCheckReceipts   = "common.state.proto.mutator.extend.checkReceipts"
	ProtoStateMutatorExtendDBInsert        = "common.state.proto.mutator.extend.dbInsert"

	// mutator.HeaderExtend - header-only check
	ProtoStateMutatorHeaderExtend              = "common.state.proto.mutator.headerExtend"
	ProtoStateMutatorHeaderExtendGetLastSealed = "common.state.proto.mutator.headerExtend.lastSealed"

	// mutator.Finalize
	ProtoStateMutatorFinalize = "common.state.proto.mutator.finalize"

	CONProcessCollection SpanName = "con.processCollection"
	// children of CONProcessCollection
	CONHotFinalizeCollection          SpanName = "con.hotstuff.finalizeCollection"
	CONIngOnCollectionGuarantee       SpanName = "con.ingestion.onCollectionGuarantee"
	CONPropOnGuarantee                SpanName = "con.propagation.onGuarantee"
	CONCompBroadcastProposalWithDelay SpanName = "con.compliance.BroadcastProposalWithDelay"
	CONCompOnBlockProposal            SpanName = "con.compliance.onBlockProposal"
	CONProvOnBlockProposal            SpanName = "con.provider.onBlockProposal"

	// Matching engine
	CONMatchCheckSealing                        SpanName = "con.matching.checkSealing"
	CONMatchCheckSealingSealableResults         SpanName = "con.matching.checkSealing.sealableResults"
	CONMatchCheckSealingClearPools              SpanName = "con.matching.checkSealing.clearPools"
	CONMatchCheckSealingRequestPendingReceipts  SpanName = "con.matching.checkSealing.requestPendingReceipts"
	CONMatchCheckSealingRequestPendingApprovals SpanName = "con.matching.checkSealing.requestPendingApprovals"
	CONMatchOnReceipt                           SpanName = "con.matching.onReceipt"
	CONMatchOnReceiptVal                        SpanName = "con.matching.onReceipt.validation"
	CONMatchOnApproval                          SpanName = "con.matching.onApproval"

	CONProcessBlock SpanName = "con.processBlock"
	// children of CONProcessBlock
	CONHotFinalizeBlock SpanName = "con.hotstuff.finalizeBlock"

	// Builder
	CONBuildOn                        = "con.builder"
	CONBuildOnCreatePayloadGuarantees = "con.builder.createPayload.guarantees"
	CONBuildOnCreatePayloadSeals      = "con.builder.createPayload.seals"
	CONBuildOnCreatePayloadReceipts   = "con.builder.createPayload.receipts"
	CONBuildOnCreateHeader            = "con.builder.createHeader"
	CONBuildOnDBInsert                = "con.builder.dbInsert"

	// Builder
	COLBuildOn                  = "col.builder"
	COLBuildOnSetup             = "col.builder.setup"
	COLBuildOnUnfinalizedLookup = "col.builder.unfinalizedLookup"
	COLBuildOnFinalizedLookup   = "col.builder.finalizedLookup"
	COLBuildOnCreatePayload     = "col.builder.createPayload"
	COLBuildOnCreateHeader      = "col.builder.createHeader"
	COLBuildOnDBInsert          = "col.builder.dbInsert"

	// Cluster State
	COLClusterStateMutatorExtend                       = "col.state.mutator.extend"
	COLClusterStateMutatorExtendSetup                  = "col.state.mutator.extend.setup"
	COLClusterStateMutatorExtendCheckAncestry          = "col.state.mutator.extend.ancestry"
	COLClusterStateMutatorExtendCheckTransactionsValid = "col.state.mutator.extend.transactions.validity"
	COLClusterStateMutatorExtendCheckTransactionsDupes = "col.state.mutator.extend.transactions.dupes"
	COLClusterStateMutatorExtendDBInsert               = "col.state.mutator.extend.dbInsert"

	EXEExecuteBlock           SpanName = "exe.ingestion.executeBlock"
	EXESaveExecutionResults   SpanName = "exe.ingestion.saveExecutionResults"
	EXESaveExecutionReceipt   SpanName = "exe.ingestion.saveExecutionReceipt"
	EXESaveTransactionResults SpanName = "exe.ingestion.saveTransactionResults"
	EXESaveTransactionEvents  SpanName = "exe.ingestion.saveTransactionEvents"

	EXEBroadcastExecutionReceipt SpanName = "exe.provider.broadcastExecutionReceipt"

	EXEComputeBlock            SpanName = "exe.computer.computeBlock"
	EXEComputeCollection       SpanName = "exe.computer.computeCollection"
	EXEComputeSystemCollection SpanName = "exe.computer.computeSystemCollection"
	EXEComputeTransaction      SpanName = "exe.computer.computeTransaction"

	EXECommitDelta                        SpanName = "exe.state.commitDelta"
	EXEGetRegisters                       SpanName = "exe.state.getRegisters"
	EXEGetRegistersWithProofs             SpanName = "exe.state.getRegistersWithProofs"
	EXEPersistStateCommitment             SpanName = "exe.state.persistStateCommitment"
	EXEPersistChunkDataPack               SpanName = "exe.state.persistChunkDataPack"
	EXEGetExecutionResultID               SpanName = "exe.state.getExecutionResultID"
	EXEPersistExecutionResult             SpanName = "exe.state.persistExecutionResult"
	EXEPersistStateInteractions           SpanName = "exe.state.persistStateInteractions"
	EXERetrieveStateDelta                 SpanName = "exe.state.retrieveStateDelta"
	EXEUpdateHighestExecutedBlockIfHigher SpanName = "exe.state.updateHighestExecutedBlockIfHigher"
	EXEGetHighestExecutedBlockID          SpanName = "exe.state.getHighestExecutedBlockID"

	VERProcessExecutionReceipt SpanName = "ver.processExecutionReceipt"
	// children of VERProcessExecutionReceipt
	VERFindHandleExecutionReceipt SpanName = "ver.find.handleExecutionReceipt"
	VERFindOnFinalizedBlock       SpanName = "ver.finder.OnFinalizedBlock"
	VERFindCheckCachedReceipts    SpanName = "ver.finder.checkCachedReceipts"
	VERFindCheckPendingReceipts   SpanName = "ver.finder.checkPendingReceipts"
	VERFindCheckReadyReceipts     SpanName = "ver.finder.checkReadyReceipts"
	VERFindProcessResult          SpanName = "ver.finder.processResult"
	VERFindOnResultProcessed      SpanName = "ver.finder.onResultProcessed"

	VERProcessExecutionResult SpanName = "ver.processExecutionResult"
	// children of VERProcessExecutionResult
	VERMatchHandleExecutionResult SpanName = "ver.match.handleExecutionResult"
	VERMatchHandleChunkDataPack   SpanName = "ver.match.handleChunkDataPack"
	VERMatchMyChunkAssignments    SpanName = "ver.match.myChunkAssignments"
	VERVerVerifyWithMetrics       SpanName = "ver.verify.verifyWithMetrics"
	VERVerChunkVerify             SpanName = "ver.verify.ChunkVerifier.Verify"
	VERVerGenerateResultApproval  SpanName = "ver.verify.GenerateResultApproval"

	// Flow Virtual Machine
	FVMVerifyTransaction            SpanName = "fvm.verifyTransaction"
	FVMSeqNumCheckTransaction       SpanName = "fvm.seqNumCheckTransaction"
	FVMExecuteTransaction           SpanName = "fvm.executeTransaction"
	FVMEnvHash                      SpanName = "fvm.env.Hash"
	FVMEnvValueExists               SpanName = "fvm.env.valueExists"
	FVMEnvGetValue                  SpanName = "fvm.env.getValue"
	FVMEnvSetValue                  SpanName = "fvm.env.setValue"
	FVMEnvGetStorageUsed            SpanName = "fvm.env.getStorageUsed"
	FVMEnvGetStorageCapacity        SpanName = "fvm.env.getStorageCapacity"
	FVMEnvGetAccountBalance         SpanName = "fvm.env.getAccountBalance"
	FVMEnvResolveLocation           SpanName = "fvm.env.resolveLocation"
	FVMEnvGetCode                   SpanName = "fvm.env.getCode"
	FVMEnvGetProgram                SpanName = "fvm.env.getCachedProgram"
	FVMEnvSetProgram                SpanName = "fvm.env.cacheProgram"
	FVMEnvProgramLog                SpanName = "fvm.env.programLog"
	FVMEnvEmitEvent                 SpanName = "fvm.env.emitEvent"
	FVMEnvGenerateUUID              SpanName = "fvm.env.generateUUID"
	FVMEnvDecodeArgument            SpanName = "fvm.env.decodeArgument"
	FVMEnvVerifySignature           SpanName = "fvm.env.verifySignature"
	FVMEnvGetCurrentBlockHeight     SpanName = "fvm.env.getCurrentBlockHeight"
	FVMEnvUnsafeRandom              SpanName = "fvm.env.unsafeRandom"
	FVMEnvGetBlockAtHeight          SpanName = "fvm.env.getBlockAtHeight"
	FVMEnvCreateAccount             SpanName = "fvm.env.createAccount"
	FVMEnvAddAccountKey             SpanName = "fvm.env.addAccountKey"
	FVMEnvRemoveAccountKey          SpanName = "fvm.env.removeAccountKey"
	FVMEnvUpdateAccountContractCode SpanName = "fvm.env.updateAccountContractCode"
	FVMEnvGetAccountContractCode    SpanName = "fvm.env.getAccountContractCode"
	FVMEnvRemoveAccountContractCode SpanName = "fvm.env.removeAccountContractCode"
	FVMEnvGetSigningAccounts        SpanName = "fvm.env.getSigningAccounts"

	FVMCadenceParseProgram     SpanName = "fvm.cadence.parseProgram"
	FVMCadenceCheckProgram     SpanName = "fvm.cadence.checkProgram"
	FVMCadenceInterpretProgram SpanName = "fvm.cadence.interpretProgram"
	FVMCadenceEncodeValue      SpanName = "fvm.cadence.encodeValue"
	FVMCadenceDecodeValue      SpanName = "fvm.cadence.decodeValue"
)

Span names

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL