Documentation ¶
Index ¶
- Constants
- Variables
- type BackoffConfig
- type Client
- type DefaultClient
- func (c *DefaultClient) GetDetectedFields(queryStr, fieldName string, limit, lineLimit int, start, end time.Time, ...) (*loghttp.DetectedFieldsResponse, error)
- func (c *DefaultClient) GetOrgID() string
- func (c *DefaultClient) GetStats(queryStr string, start, end time.Time, quiet bool) (*logproto.IndexStatsResponse, error)
- func (c *DefaultClient) GetVolume(query *volume.Query) (*loghttp.QueryResponse, error)
- func (c *DefaultClient) GetVolumeRange(query *volume.Query) (*loghttp.QueryResponse, error)
- func (c *DefaultClient) ListLabelNames(quiet bool, start, end time.Time) (*loghttp.LabelResponse, error)
- func (c *DefaultClient) ListLabelValues(name string, quiet bool, start, end time.Time) (*loghttp.LabelResponse, error)
- func (c *DefaultClient) LiveTailQueryConn(queryStr string, delayFor time.Duration, limit int, start time.Time, ...) (*websocket.Conn, error)
- func (c *DefaultClient) Query(queryStr string, limit int, time time.Time, direction logproto.Direction, ...) (*loghttp.QueryResponse, error)
- func (c *DefaultClient) QueryRange(queryStr string, limit int, start, end time.Time, direction logproto.Direction, ...) (*loghttp.QueryResponse, error)
- func (c *DefaultClient) Series(matchers []string, start, end time.Time, quiet bool) (*loghttp.SeriesResponse, error)
- type FileClient
- func (f *FileClient) GetDetectedFields(_, _ string, _, _ int, _, _ time.Time, _ time.Duration, _ bool) (*loghttp.DetectedFieldsResponse, error)
- func (f *FileClient) GetOrgID() string
- func (f *FileClient) GetStats(_ string, _, _ time.Time, _ bool) (*logproto.IndexStatsResponse, error)
- func (f *FileClient) GetVolume(_ *volume.Query) (*loghttp.QueryResponse, error)
- func (f *FileClient) GetVolumeRange(_ *volume.Query) (*loghttp.QueryResponse, error)
- func (f *FileClient) ListLabelNames(_ bool, _, _ time.Time) (*loghttp.LabelResponse, error)
- func (f *FileClient) ListLabelValues(name string, _ bool, _, _ time.Time) (*loghttp.LabelResponse, error)
- func (f *FileClient) LiveTailQueryConn(_ string, _ time.Duration, _ int, _ time.Time, _ bool) (*websocket.Conn, error)
- func (f *FileClient) Query(q string, limit int, t time.Time, direction logproto.Direction, _ bool) (*loghttp.QueryResponse, error)
- func (f *FileClient) QueryRange(queryStr string, limit int, start, end time.Time, direction logproto.Direction, ...) (*loghttp.QueryResponse, error)
- func (f *FileClient) Series(_ []string, _, _ time.Time, _ bool) (*loghttp.SeriesResponse, error)
- type Tripperware
Constants ¶
const ( // HTTP header keys HTTPScopeOrgID = "X-Scope-OrgID" HTTPQueryTags = "X-Query-Tags" HTTPCacheControl = "Cache-Control" HTTPCacheControlNoCache = "no-cache" )
Variables ¶
var ErrNotSupported = errors.New("not supported")
Functions ¶
This section is empty.
Types ¶
type BackoffConfig ¶
type Client ¶
type Client interface { Query(queryStr string, limit int, time time.Time, direction logproto.Direction, quiet bool) (*loghttp.QueryResponse, error) QueryRange(queryStr string, limit int, start, end time.Time, direction logproto.Direction, step, interval time.Duration, quiet bool) (*loghttp.QueryResponse, error) ListLabelNames(quiet bool, start, end time.Time) (*loghttp.LabelResponse, error) ListLabelValues(name string, quiet bool, start, end time.Time) (*loghttp.LabelResponse, error) Series(matchers []string, start, end time.Time, quiet bool) (*loghttp.SeriesResponse, error) LiveTailQueryConn(queryStr string, delayFor time.Duration, limit int, start time.Time, quiet bool) (*websocket.Conn, error) GetOrgID() string GetStats(queryStr string, start, end time.Time, quiet bool) (*logproto.IndexStatsResponse, error) GetVolume(query *volume.Query) (*loghttp.QueryResponse, error) GetVolumeRange(query *volume.Query) (*loghttp.QueryResponse, error) GetDetectedFields(queryStr, fieldName string, fieldLimit, lineLimit int, start, end time.Time, step time.Duration, quiet bool) (*loghttp.DetectedFieldsResponse, error) }
Client contains all the methods to query a Loki instance, it's an interface to allow multiple implementations.
type DefaultClient ¶
type DefaultClient struct { TLSConfig config.TLSConfig Username string Password string Address string OrgID string Tripperware Tripperware BearerToken string BearerTokenFile string Retries int QueryTags string NoCache bool AuthHeader string ProxyURL string BackoffConfig BackoffConfig Compression bool }
Client contains fields necessary to query a Loki instance
func (*DefaultClient) GetDetectedFields ¶ added in v3.1.0
func (*DefaultClient) GetOrgID ¶
func (c *DefaultClient) GetOrgID() string
func (*DefaultClient) GetStats ¶
func (c *DefaultClient) GetStats(queryStr string, start, end time.Time, quiet bool) (*logproto.IndexStatsResponse, error)
func (*DefaultClient) GetVolume ¶
func (c *DefaultClient) GetVolume(query *volume.Query) (*loghttp.QueryResponse, error)
func (*DefaultClient) GetVolumeRange ¶
func (c *DefaultClient) GetVolumeRange(query *volume.Query) (*loghttp.QueryResponse, error)
func (*DefaultClient) ListLabelNames ¶
func (c *DefaultClient) ListLabelNames(quiet bool, start, end time.Time) (*loghttp.LabelResponse, error)
ListLabelNames uses the /api/v1/label endpoint to list label names
func (*DefaultClient) ListLabelValues ¶
func (c *DefaultClient) ListLabelValues(name string, quiet bool, start, end time.Time) (*loghttp.LabelResponse, error)
ListLabelValues uses the /api/v1/label endpoint to list label values
func (*DefaultClient) LiveTailQueryConn ¶
func (c *DefaultClient) LiveTailQueryConn(queryStr string, delayFor time.Duration, limit int, start time.Time, quiet bool) (*websocket.Conn, error)
LiveTailQueryConn uses /api/prom/tail to set up a websocket connection and returns it
func (*DefaultClient) Query ¶
func (c *DefaultClient) Query(queryStr string, limit int, time time.Time, direction logproto.Direction, quiet bool) (*loghttp.QueryResponse, error)
Query uses the /api/v1/query endpoint to execute an instant query excluding interfacer b/c it suggests taking the interface promql.Node instead of logproto.Direction b/c it happens to have a String() method nolint:interfacer
func (*DefaultClient) QueryRange ¶
func (c *DefaultClient) QueryRange(queryStr string, limit int, start, end time.Time, direction logproto.Direction, step, interval time.Duration, quiet bool) (*loghttp.QueryResponse, error)
QueryRange uses the /api/v1/query_range endpoint to execute a range query excluding interfacer b/c it suggests taking the interface promql.Node instead of logproto.Direction b/c it happens to have a String() method nolint:interfacer
func (*DefaultClient) Series ¶
func (c *DefaultClient) Series(matchers []string, start, end time.Time, quiet bool) (*loghttp.SeriesResponse, error)
type FileClient ¶
type FileClient struct {
// contains filtered or unexported fields
}
FileClient is a type of LogCLI client that do LogQL on log lines from the given file directly, instead get log lines from Loki servers.
func NewFileClient ¶
func NewFileClient(r io.ReadCloser) *FileClient
NewFileClient returns the new instance of FileClient for the given `io.ReadCloser`
func (*FileClient) GetDetectedFields ¶ added in v3.1.0
func (*FileClient) GetOrgID ¶
func (f *FileClient) GetOrgID() string
func (*FileClient) GetStats ¶
func (f *FileClient) GetStats(_ string, _, _ time.Time, _ bool) (*logproto.IndexStatsResponse, error)
func (*FileClient) GetVolume ¶
func (f *FileClient) GetVolume(_ *volume.Query) (*loghttp.QueryResponse, error)
func (*FileClient) GetVolumeRange ¶
func (f *FileClient) GetVolumeRange(_ *volume.Query) (*loghttp.QueryResponse, error)
func (*FileClient) ListLabelNames ¶
func (f *FileClient) ListLabelNames(_ bool, _, _ time.Time) (*loghttp.LabelResponse, error)
func (*FileClient) ListLabelValues ¶
func (f *FileClient) ListLabelValues(name string, _ bool, _, _ time.Time) (*loghttp.LabelResponse, error)
func (*FileClient) LiveTailQueryConn ¶
func (*FileClient) QueryRange ¶
func (*FileClient) Series ¶
func (f *FileClient) Series(_ []string, _, _ time.Time, _ bool) (*loghttp.SeriesResponse, error)
type Tripperware ¶
type Tripperware func(http.RoundTripper) http.RoundTripper
Tripperware can wrap a roundtripper.