Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bucket ¶
type Bucket struct { KeyAsString string `json:"key_as_string"` Key int64 `json:"key"` DocCount int64 `json:"doc_count"` }
Bucket is the structure of a bucket returned by the Elasticsearch API.
type Config ¶
type Config struct { Address string `json:"address"` Username string `json:"username"` Password string `json:"password"` Token string `json:"token"` }
Config is the structure of the configuration for a single Elasticsearch instance.
type Data ¶
type Data struct { Took int64 `json:"took"` Hits int64 `json:"hits"` Documents []map[string]any `json:"documents"` Buckets []Bucket `json:"buckets"` }
Data is the transformed Response result, which is passed to the React UI. It contains only the important fields, like the time a request took, the number of hits, the documents and the buckets.
type Instance ¶
type Instance interface { GetName() string GetLogs(ctx context.Context, query string, timeStart, timeEnd int64) (*Data, error) }
Instance is the interface which must be implemented by each configured Elasticsearch instance.
type MockInstance ¶
MockInstance is an autogenerated mock type for the Instance type
func NewMockInstance ¶
func NewMockInstance(t NewMockInstanceT) *MockInstance
NewMockInstance creates a new instance of MockInstance. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func (*MockInstance) GetLogs ¶
func (_m *MockInstance) GetLogs(ctx context.Context, query string, timeStart int64, timeEnd int64) (*Data, error)
GetLogs provides a mock function with given fields: ctx, query, timeStart, timeEnd
func (*MockInstance) GetName ¶
func (_m *MockInstance) GetName() string
GetName provides a mock function with given fields:
type NewMockInstanceT ¶
type Response ¶
type Response struct { ScrollID string `json:"_scroll_id"` Took int64 `json:"took"` TimedOut bool `json:"timed_out"` Shards struct { Total int64 `json:"total"` Successful int64 `json:"successful"` Skipped int64 `json:"skipped"` Failed int64 `json:"failed"` } `json:"_shards"` Hits struct { Total struct { Value int64 `json:"value"` Relation string `json:"relation"` } `json:"total"` Hits []map[string]any `json:"hits"` } `json:"hits"` Aggregations struct { LogCount struct { Buckets []Bucket `json:"buckets"` } `json:"logcount"` } `json:"aggregations"` }
Response is the structure of successful Elasticsearch API call.
type ResponseError ¶
type ResponseError struct { Error struct { RootCause []struct { Type string `json:"type"` Reason string `json:"reason"` } `json:"root_cause"` Type string `json:"type"` Reason string `json:"reason"` CausedBy struct { Type string `json:"type"` Reason string `json:"reason"` } `json:"caused_by"` } `json:"error"` Status int `json:"status"` }
ResponseError is the structure of failed Elasticsearch API call.