Documentation
¶
Overview ¶
Package logstorage defines storage structure for logs storage.
Index ¶
Constants ¶
View Source
const ( LabelTraceID = "trace_id" LabelSpanID = "span_id" LabelSeverity = "level" LabelBody = "msg" LabelServiceName = "service_name" // resource.service.name LabelServiceNamespace = "service_namespace" // resource.service.namespace LabelServiceInstanceID = "service_instance_id" // resource.service.instance.id )
Labels to use where prometheus compatible labels are required, e.g. loki.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Consumer ¶
type Consumer struct {
// contains filtered or unexported fields
}
Consumer consumes given logs and inserts them using given Inserter.
type Inserter ¶
type Inserter interface {
// InsertRecords inserts given records.
InsertRecords(ctx context.Context, records []Record) error
// InsertLogLabels insert given set of labels to the storage.
InsertLogLabels(ctx context.Context, labels map[Label]struct{}) error
}
Inserter is a log storage insert interface.
type Label ¶
type Label struct {
Name string `json:"name"`
Value string `json:"value"`
Type int32 `json:"type"`
}
Label is a data structure for log label.
type LabelsOptions ¶
type LabelsOptions struct {
// Start defines time range for search.
//
// Querier ignores parameter, if it is zero.
Start otelstorage.Timestamp
// End defines time range for search.
//
// Querier ignores parameter, if it is zero.
End otelstorage.Timestamp
}
LabelsOptions defines options for Labels and LabelValues methods.
type Querier ¶
type Querier interface {
// LabelNames returns all available label names.
LabelNames(ctx context.Context, opts LabelsOptions) ([]string, error)
// LabelValues returns all available label values for given label.
LabelValues(ctx context.Context, labelName string, opts LabelsOptions) (iterators.Iterator[Label], error)
}
Querier is a logs storage query interface.
type Record ¶
type Record struct {
Timestamp otelstorage.Timestamp `json:"timestamp"`
ObservedTimestamp otelstorage.Timestamp `json:"observed_timestamp"`
TraceID otelstorage.TraceID `json:"trace_id"`
SpanID otelstorage.SpanID `json:"span_id"`
Flags plog.LogRecordFlags `json:"flags"`
SeverityText string `json:"severity_text"`
SeverityNumber plog.SeverityNumber `json:"severity_number"`
Body string `json:"body"`
Attrs otelstorage.Attrs `json:"attrs"`
ResourceAttrs otelstorage.Attrs `json:"resource_attrs"`
ScopeName string `json:"scope_name"`
ScopeVersion string `json:"scope_version"`
ScopeAttrs otelstorage.Attrs `json:"scope_attrs"`
}
Record is a log record.
func NewRecordFromOTEL ¶
func NewRecordFromOTEL( res pcommon.Resource, scope pcommon.InstrumentationScope, record plog.LogRecord, ) Record
NewRecordFromOTEL creates new Record.
Click to show internal directories.
Click to hide internal directories.