Documentation
¶
Index ¶
- Constants
- func NewVolumeInstantQueryWithDefaults(matchers string) *logproto.VolumeRequest
- func NewVolumeRangeQueryWithDefaults(matchers string) *logproto.VolumeRequest
- func ParseAndValidateSeriesQuery(r *http.Request) (*logproto.SeriesRequest, error)
- func ParseDetectedFieldsQuery(r *http.Request) (*logproto.DetectedFieldsRequest, error)
- func ParseDetectedLabelsQuery(r *http.Request) (*logproto.DetectedLabelsRequest, error)
- func ParseLabelQuery(r *http.Request) (*logproto.LabelRequest, error)
- func ParsePatternsQuery(r *http.Request) (*logproto.QueryPatternsRequest, error)
- func ParseSeriesQuery(r *http.Request) (*logproto.SeriesRequest, error)
- func ParseTailQuery(r *http.Request) (*logproto.TailRequest, error)
- type DetectedField
- type DetectedFieldsResponse
- type DroppedStream
- type Entry
- type EntryEncoder
- type InstantQuery
- type LabelResponse
- type LabelSet
- type LogProtoStream
- type Matrix
- type PushRequest
- type QueryResponse
- type QueryResponseData
- type QueryStatus
- type RangeQuery
- type ResultType
- type ResultValue
- type Scalar
- type SeriesResponse
- type Stream
- type Streams
- type TailResponse
- type Vector
- type Version
- type VolumeInstantQuery
- type VolumeRangeQuery
Constants ¶
const (
QueryStatusSuccess = "success"
QueryStatusFail = "fail"
)
QueryStatus values
const (
ResultTypeStream = "streams"
ResultTypeScalar = "scalar"
ResultTypeVector = "vector"
ResultTypeMatrix = "matrix"
)
ResultType values
const (
VersionLegacy = Version(iota)
VersionV1
)
Valid Version values
Variables ¶
This section is empty.
Functions ¶
func NewVolumeInstantQueryWithDefaults ¶
func NewVolumeInstantQueryWithDefaults(matchers string) *logproto.VolumeRequest
func NewVolumeRangeQueryWithDefaults ¶
func NewVolumeRangeQueryWithDefaults(matchers string) *logproto.VolumeRequest
func ParseAndValidateSeriesQuery ¶
func ParseAndValidateSeriesQuery(r *http.Request) (*logproto.SeriesRequest, error)
func ParseDetectedFieldsQuery ¶
func ParseDetectedFieldsQuery(r *http.Request) (*logproto.DetectedFieldsRequest, error)
func ParseDetectedLabelsQuery ¶
func ParseDetectedLabelsQuery(r *http.Request) (*logproto.DetectedLabelsRequest, error)
func ParseLabelQuery ¶
func ParseLabelQuery(r *http.Request) (*logproto.LabelRequest, error)
ParseLabelQuery parses a LabelRequest request from an http request.
func ParsePatternsQuery ¶
func ParsePatternsQuery(r *http.Request) (*logproto.QueryPatternsRequest, error)
func ParseSeriesQuery ¶
func ParseSeriesQuery(r *http.Request) (*logproto.SeriesRequest, error)
func ParseTailQuery ¶
func ParseTailQuery(r *http.Request) (*logproto.TailRequest, error)
ParseTailQuery parses a TailRequest request from an http request.
Types ¶
type DetectedField ¶ added in v3.1.0
type DetectedField struct {
Label string `json:"label,omitempty"`
Type logproto.DetectedFieldType `json:"type,omitempty"`
Cardinality uint64 `json:"cardinality,omitempty"`
Parser string `json:"parser,omitempty"`
}
type DetectedFieldsResponse ¶ added in v3.1.0
type DetectedFieldsResponse struct {
Fields []DetectedField `json:"fields,omitempty"`
Values []string `json:"values,omitempty"`
}
LabelResponse represents the http json response to a label query
type DroppedStream ¶
type DroppedStream struct {
Timestamp time.Time
Labels LabelSet
}
DroppedStream represents a dropped stream in tail call
func (*DroppedStream) MarshalJSON ¶
func (s *DroppedStream) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaller
func (*DroppedStream) UnmarshalJSON ¶
func (s *DroppedStream) UnmarshalJSON(data []byte) error
UnmarshalJSON implements json.UnMarshaller
type Entry ¶
type Entry struct {
Timestamp time.Time
Line string
StructuredMetadata labels.Labels
Parsed labels.Labels
}
Entry represents a log entry. It includes a log message and the time it occurred at.
func (*Entry) UnmarshalJSON ¶
func (e *Entry) UnmarshalJSON(data []byte) error
type EntryEncoder ¶
type EntryEncoder struct{}
type InstantQuery ¶
type InstantQuery struct {
Query string
Ts time.Time
Limit uint32
Direction logproto.Direction
Shards []string
}
InstantQuery defines a log instant query.
func ParseInstantQuery ¶
func ParseInstantQuery(r *http.Request) (*InstantQuery, error)
ParseInstantQuery parses an InstantQuery request from an http request.
type LabelResponse ¶
type LabelResponse struct {
Status string `json:"status"`
Data []string `json:"data,omitempty"`
}
LabelResponse represents the http json response to a label query
type LabelSet ¶
type LabelSet map[string]string
LabelSet is a key/value pair mapping of labels
func (LabelSet) Map ¶
func (l LabelSet) Map() map[string]string
Map coerces LabelSet into a map[string]string. This is useful for working with adapter types.
func (LabelSet) String ¶
func (l LabelSet) String() string
String implements the Stringer interface. It returns a formatted/sorted set of label key/value pairs.
func (*LabelSet) UnmarshalJSON ¶
func (l *LabelSet) UnmarshalJSON(data []byte) error
type LogProtoStream ¶
type LogProtoStream logproto.Stream
LogProtoStream helps with unmarshalling of each log stream for push request. This might look un-necessary but without it the CPU usage in benchmarks was increasing by ~25% :shrug:
func (*LogProtoStream) UnmarshalJSON ¶
func (s *LogProtoStream) UnmarshalJSON(data []byte) error
type PushRequest ¶
type PushRequest struct {
Streams []LogProtoStream `json:"streams"`
}
PushRequest models a log stream push but is unmarshalled to proto push format.
type QueryResponse ¶
type QueryResponse struct {
Status string `json:"status"`
Warnings []string `json:"warnings,omitempty"`
Data QueryResponseData `json:"data"`
}
QueryResponse represents the http json response to a Loki range and instant query
func (*QueryResponse) UnmarshalJSON ¶
func (q *QueryResponse) UnmarshalJSON(data []byte) error
type QueryResponseData ¶
type QueryResponseData struct {
ResultType ResultType `json:"resultType"`
Result ResultValue `json:"result"`
Statistics stats.Result `json:"stats"`
}
QueryResponseData represents the http json response to a label query
func (*QueryResponseData) UnmarshalJSON ¶
func (q *QueryResponseData) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
type RangeQuery ¶
type RangeQuery struct {
Start time.Time
End time.Time
Step time.Duration
Interval time.Duration
Query string
Direction logproto.Direction
Limit uint32
Shards []string
}
RangeQuery defines a log range query.
func NewRangeQueryWithDefaults ¶
func NewRangeQueryWithDefaults() *RangeQuery
func ParseIndexShardsQuery ¶
func ParseIndexShardsQuery(r *http.Request) (*RangeQuery, datasize.ByteSize, error)
func ParseIndexStatsQuery ¶
func ParseIndexStatsQuery(r *http.Request) (*RangeQuery, error)
func ParseRangeQuery ¶
func ParseRangeQuery(r *http.Request) (*RangeQuery, error)
ParseRangeQuery parses a RangeQuery request from an http request.
func (*RangeQuery) UpdateStep ¶
func (q *RangeQuery) UpdateStep()
UpdateStep will adjust the step given new start and end.
type ResultValue ¶
type ResultValue interface {
Type() ResultType
}
ResultValue interface mimics the promql.Value interface
type Scalar ¶
type Scalar model.Scalar
Scalar is a single timestamp/float with no labels
func (Scalar) MarshalJSON ¶
func (s Scalar) MarshalJSON() ([]byte, error)
func (*Scalar) UnmarshalJSON ¶
func (s *Scalar) UnmarshalJSON(b []byte) error
type SeriesResponse ¶
type SeriesResponse struct {
Status string `json:"status"`
Data []LabelSet `json:"data"`
}
type Stream ¶
type Stream struct {
Labels LabelSet `json:"stream"`
Entries []Entry `json:"values"`
}
Stream represents a log stream. It includes a set of log entries and their labels.
func (*Stream) UnmarshalJSON ¶
func (s *Stream) UnmarshalJSON(data []byte) error
type Streams ¶
type Streams []Stream
Streams is a slice of Stream
func (*Streams) UnmarshalJSON ¶
func (ss *Streams) UnmarshalJSON(data []byte) error
type TailResponse ¶
type TailResponse struct {
Streams []Stream `json:"streams,omitempty"`
DroppedStreams []DroppedStream `json:"dropped_entries,omitempty"`
}
TailResponse represents the http json response to a tail query
type Version ¶
type Version int
Version holds a loghttp version
func GetVersion ¶
func GetVersion(uri string) Version
GetVersion returns the loghttp version for a given path.
type VolumeInstantQuery ¶
type VolumeInstantQuery struct {
Start time.Time
End time.Time
Query string
Limit uint32
TargetLabels []string
AggregateBy string
}
func ParseVolumeInstantQuery ¶
func ParseVolumeInstantQuery(r *http.Request) (*VolumeInstantQuery, error)
type VolumeRangeQuery ¶
type VolumeRangeQuery struct {
Start time.Time
End time.Time
Step time.Duration
Query string
Limit uint32
TargetLabels []string
AggregateBy string
}
func ParseVolumeRangeQuery ¶
func ParseVolumeRangeQuery(r *http.Request) (*VolumeRangeQuery, error)