pkg

package
v0.0.0-...-6b3d2bb Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PtrToString

func PtrToString(v string) *string

Types

type HoneycombClient

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

func NewHoneycombClient

func NewHoneycombClient(config config.Config) (*HoneycombClient, error)

func (*HoneycombClient) CreateQuery

func (h *HoneycombClient) CreateQuery(datasetSlug string, q HoneycombQuery) (string, error)

func (*HoneycombClient) GetColumns

func (h *HoneycombClient) GetColumns(datasetSlug string) ([]HoneycombColumn, error)

type HoneycombColumn

type HoneycombColumn struct {
	Id          string    `json:"id,omitempty"`
	KeyName     string    `json:"key_name,omitempty"`
	Hidden      bool      `json:"hidden,omitempty"`
	Description string    `json:"description,omitempty"`
	Type        string    `json:"type,omitempty"`
	LastWritten time.Time `json:"last_written,omitempty"`
	CreatedAt   time.Time `json:"created_at,omitempty"`
	UpdatedAt   time.Time `json:"updated_at,omitempty"`
}

type HoneycombQuery

type HoneycombQuery struct {
	ID           *string  `json:"id,omitempty"`
	Breakdowns   []string `json:"breakdowns,omitempty"`
	Calculations []struct {
		Op     string      `json:"op,omitempty"`
		Column interface{} `json:"column,omitempty"`
	} `json:"calculations,omitempty"`
	Filters []struct {
		Op     string      `json:"op,omitempty"`
		Column interface{} `json:"column,omitempty"`
		Value  *struct {
		} `json:"value,omitempty"`
	} `json:"filters"`
	FilterCombination string `json:"filter_combination,omitempty"`
	Granularity       int    `json:"granularity,omitempty"`
	Orders            []struct {
		Column string `json:"column,omitempty"`
		Op     string `json:"op,omitempty"`
		Order  string `json:"order,omitempty"`
	} `json:"orders,omitempty"`
	Limit     int `json:"limit,omitempty"`
	StartTime int `json:"start_time,omitempty"`
	EndTime   int `json:"end_time,omitempty"`
	TimeRange int `json:"time_range,omitempty"`
	Havings   []struct {
		CalculateOp string      `json:"calculate_op,omitempty"`
		Column      interface{} `json:"column,omitempty"`
		Op          string      `json:"op,omitempty"`
		Value       int         `json:"value,omitempty"`
	} `json:"havings,omitempty"`
}

type Metrics

type Metrics struct {
	PredictTime float64 `json:"predict_time"`
}

type Predictor

type Predictor struct {
	Config *config.Config
}

func (*Predictor) Predict

func (p *Predictor) Predict(inQuery QueryInput) (*Query, error)

type Query

type Query struct {
	Input               *QueryInput  `json:"input,omitempty"`
	Output              *string      `json:"output,omitempty"`
	Id                  *string      `json:"id,omitempty"`
	Version             *string      `json:"version,omitempty"`
	CreatedAt           *time.Time   `json:"created_at,omitempty"`
	StartedAt           *time.Time   `json:"started_at,omitempty"`
	CompletedAt         *time.Time   `json:"completed_at,omitempty"`
	Logs                *string      `json:"logs,omitempty"`
	Error               *interface{} `json:"error,omitempty"`
	Status              *string      `json:"status,omitempty"`
	Metrics             Metrics      `json:"metrics,omitempty"`
	OutputFilePrefix    *string      `json:"output_file_prefix,omitempty"`
	Webhook             *string      `json:"webhook,omitempty"`
	WebhookEventsFilter []string     `json:"webhook_events_filter,omitempty"`
}

Query represents a query.

type QueryInput

type QueryInput struct {
	NLQ string `json:"nlq"`
	// cols is a string representing a json list of cols.
	COLS string `json:"cols"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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