dynamospanstore

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2021 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewLogFromFromSpanItemLog

func NewLogFromFromSpanItemLog(log *SpanItemLog) model.Log

func NewLogsFromFromSpanItemLogs

func NewLogsFromFromSpanItemLogs(spanItemLogs []*SpanItemLog) []model.Log

func NewOperationFromOperationItem

func NewOperationFromOperationItem(operationItem *OperationItem) spanstore.Operation

func NewProcessFromSpanItemProcess

func NewProcessFromSpanItemProcess(spanItemProcess *SpanItemProcess) *model.Process

func NewReferenceFromFromSpanItemReference

func NewReferenceFromFromSpanItemReference(spanItemReference *SpanItemReference) (*model.SpanRef, error)

func NewReferencesFromFromSpanItemReferences

func NewReferencesFromFromSpanItemReferences(spanItemReferences []*SpanItemReference) ([]model.SpanRef, error)

func NewServiceFromServiceItem

func NewServiceFromServiceItem(serviceItem *ServiceItem) string

func NewSpanFromSpanItem

func NewSpanFromSpanItem(spanItem *SpanItem) (*model.Span, error)

Types

type DynamoDBAPI

type DynamoDBAPI interface {
	PutItem(ctx context.Context, params *dynamodb.PutItemInput, optFns ...func(*dynamodb.Options)) (*dynamodb.PutItemOutput, error)
}

type OperationItem

type OperationItem struct {
	Name         string
	ServiceName  string
	SpanKind     string
	ExpiresAfter int64
}

func NewOperationItemFromSpan

func NewOperationItemFromSpan(span *model.Span) *OperationItem

type Reader

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

func NewReader

func NewReader(logger hclog.Logger, svc *dynamodb.Client, spansTable, servicesTable, operationsTable string) *Reader

func (*Reader) FindTraceIDs

func (s *Reader) FindTraceIDs(ctx context.Context, query *spanstore.TraceQueryParameters) ([]model.TraceID, error)

This method is not used

func (*Reader) FindTraces

func (s *Reader) FindTraces(ctx context.Context, query *spanstore.TraceQueryParameters) ([]*model.Trace, error)

func (*Reader) GetOperations

TODO beggningOfTime might not be a good idea, maybe make a system property that the image is run with?

func (*Reader) GetServices

func (s *Reader) GetServices(ctx context.Context) ([]string, error)

TODO beggningOfTime might not be a good idea, maybe make a system property that the image is run with?

func (*Reader) GetTrace

func (s *Reader) GetTrace(ctx context.Context, traceID model.TraceID) (*model.Trace, error)

type ServiceItem

type ServiceItem struct {
	Name         string
	ExpiresAfter int64
}

func NewServiceItemFromSpan

func NewServiceItemFromSpan(span *model.Span) *ServiceItem

type SpanItem

type SpanItem struct {
	TraceID        string
	SpanID         string
	OperationName  string
	References     []*SpanItemReference
	Flags          model.Flags
	StartTime      int64
	Duration       int64
	Tags           []model.KeyValue
	SearchableTags map[string]string
	Logs           []*SpanItemLog
	Process        *SpanItemProcess
	ServiceName    string
	ProcessID      string
	Warnings       []string
	ExpiresAfter   int64
	// Used for querying with a sharded GSI
	// https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-indexes-gsi-sharding.html
	ServiceNameBucket string
}

func NewSpanItemFromSpan

func NewSpanItemFromSpan(span *model.Span) *SpanItem

type SpanItemLog

type SpanItemLog struct {
	Fields    []model.KeyValue
	Timestamp int64
}

func NewSpanItemLogFromLog

func NewSpanItemLogFromLog(log *model.Log) *SpanItemLog

func NewSpanItemLogsFromLogs

func NewSpanItemLogsFromLogs(logs []model.Log) []*SpanItemLog

type SpanItemProcess

type SpanItemProcess struct {
	ServiceName string
	Tags        []model.KeyValue
}

func NewSpanItemProcessFromProcess

func NewSpanItemProcessFromProcess(process *model.Process) *SpanItemProcess

type SpanItemReference

type SpanItemReference struct {
	TraceID string
	SpanID  string
	RefType model.SpanRefType
}

func NewSpanItemReferenceFromReference

func NewSpanItemReferenceFromReference(reference model.SpanRef) *SpanItemReference

func NewSpanItemReferencesFromReferences

func NewSpanItemReferencesFromReferences(references []model.SpanRef) []*SpanItemReference

type TraceIDResult

type TraceIDResult struct {
	TraceID string
}

type TraceIDSet added in v0.0.10

type TraceIDSet struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewTraceIDSet added in v0.0.10

func NewTraceIDSet() *TraceIDSet

func (*TraceIDSet) Add added in v0.0.10

func (s *TraceIDSet) Add(item string)

func (*TraceIDSet) Items added in v0.0.10

func (s *TraceIDSet) Items() []string

func (*TraceIDSet) Len added in v0.0.10

func (s *TraceIDSet) Len() int

type Writer

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

func NewWriter

func NewWriter(logger hclog.Logger, svc DynamoDBAPI, spansTable, servicesTable, operationsTable string) (*Writer, error)

func (*Writer) WriteSpan

func (s *Writer) WriteSpan(ctx context.Context, span *model.Span) error

Jump to

Keyboard shortcuts

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