Documentation ¶
Index ¶
- Variables
- func CreateDistribution(ws []float64) []float64
- func NewWeightedTargeter(pattern TrafficPattern) vegeta.Targeter
- func RandomPick(ws []float64) int
- func Start(cfg ServerConfig) error
- func ValidateLinearLoadWeb(load LinearLoadWeb) error
- func ValidateLoadPatternWeb(pattern LoadPatternWeb) error
- func ValidateScheduleRequestWeb(req ScheduleRequestWeb) error
- func ValidateSineLoadWeb(load SineLoadWeb) error
- func ValidateTrafficPatternWeb(pattern TrafficPatternWeb) error
- type DatabaseTask
- type LinearLoadWeb
- type LoadPattern
- type LoadPatternWeb
- type LoadTask
- type LoadTaskReport
- type ResultProvider
- type ScheduleRequestWeb
- type ScheduleResponseWeb
- type Server
- type ServerConfig
- type SineLoadWeb
- type TaskProvider
- type TaskRepository
- func (r *TaskRepository) Get(id uint64) (DatabaseTask, error)
- func (r *TaskRepository) GetNextTask() (uint64, ScheduleRequestWeb, error)
- func (r *TaskRepository) Save(req ScheduleRequestWeb) (uint64, error)
- func (r *TaskRepository) UpdateProgress(id uint64, progress string) error
- func (r *TaskRepository) UpdateStatus(id uint64, newStatus TaskStatus) error
- type TaskStatus
- type TrafficDistribution
- type TrafficPattern
- type TrafficPatternWeb
Constants ¶
This section is empty.
Variables ¶
View Source
var TaskStatusStr = map[TaskStatus]string{ Unknown: "Unknown", Scheduled: "Scheduled", Running: "Running", Killed: "Killed", Done: "Done", }
Functions ¶
func CreateDistribution ¶
func NewWeightedTargeter ¶
func NewWeightedTargeter(pattern TrafficPattern) vegeta.Targeter
func RandomPick ¶
func Start ¶
func Start(cfg ServerConfig) error
func ValidateLinearLoadWeb ¶
func ValidateLinearLoadWeb(load LinearLoadWeb) error
func ValidateLoadPatternWeb ¶
func ValidateLoadPatternWeb(pattern LoadPatternWeb) error
func ValidateScheduleRequestWeb ¶
func ValidateScheduleRequestWeb(req ScheduleRequestWeb) error
func ValidateSineLoadWeb ¶
func ValidateSineLoadWeb(load SineLoadWeb) error
func ValidateTrafficPatternWeb ¶
func ValidateTrafficPatternWeb(pattern TrafficPatternWeb) error
Types ¶
type DatabaseTask ¶
type DatabaseTask struct { Id uint64 StatusId TaskStatus CreatedAt time.Time StartedAt *time.Time KilledAt *time.Time DoneAt *time.Time Request ScheduleRequestWeb Results string }
database
type LinearLoadWeb ¶
type LoadPattern ¶
type LoadPattern struct {
// contains filtered or unexported fields
}
func NewLoadPattern ¶
func NewLoadPattern(pattern LoadPatternWeb) LoadPattern
type LoadPatternWeb ¶
type LoadPatternWeb struct { Duration string `json:"duration"` Linear *LinearLoadWeb `json:"linear"` Sine *SineLoadWeb `json:"sine"` }
type LoadTask ¶
type LoadTask struct {
// contains filtered or unexported fields
}
internal
func NewLoadTask ¶
func NewLoadTask(req ScheduleRequestWeb) *LoadTask
type LoadTaskReport ¶
type LoadTaskReport struct { Endpoint string Status string CreatedAt string StartedAt string KilledAt string DoneAt string Metrics string Request string }
func (LoadTaskReport) String ¶
func (r LoadTaskReport) String() (string, error)
type ResultProvider ¶
type ResultProvider struct {
// contains filtered or unexported fields
}
func NewRelustProvider ¶
func NewRelustProvider(repo *TaskRepository) *ResultProvider
func (*ResultProvider) FinalizeRunning ¶
func (p *ResultProvider) FinalizeRunning(id uint64)
flush in memory metris to database
func (*ResultProvider) UpdateRunning ¶
func (p *ResultProvider) UpdateRunning(id uint64, res *vegeta.Result)
updates in memory metrics
type ScheduleRequestWeb ¶
type ScheduleRequestWeb struct { Endpoint string `json:"endpoint"` LoadPatterns []LoadPatternWeb `json:"load"` TrafficPatterns []TrafficPatternWeb `json:"traffic"` }
type ScheduleResponseWeb ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func NewServer ¶
func NewServer(cfg ServerConfig) *Server
func (*Server) KillHandler ¶
func (s *Server) KillHandler(w http.ResponseWriter, r *http.Request)
func (*Server) ScheduleHandler ¶
func (s *Server) ScheduleHandler(w http.ResponseWriter, r *http.Request)
func (*Server) StatusHandler ¶
func (s *Server) StatusHandler(w http.ResponseWriter, r *http.Request)
type ServerConfig ¶
type SineLoadWeb ¶
type TaskProvider ¶
type TaskProvider struct {
// contains filtered or unexported fields
}
func NewTaskProvider ¶
func NewTaskProvider(repostiroy *TaskRepository) *TaskProvider
func (*TaskProvider) Done ¶
func (p *TaskProvider) Done(id uint64)
func (*TaskProvider) Kill ¶
func (p *TaskProvider) Kill(id uint64)
func (*TaskProvider) Next ¶
func (p *TaskProvider) Next() *LoadTask
func (*TaskProvider) ScheduleTask ¶
func (p *TaskProvider) ScheduleTask(req ScheduleRequestWeb) (uint64, error)
type TaskRepository ¶
type TaskRepository struct {
// contains filtered or unexported fields
}
func NewTaskRepository ¶
func NewTaskRepository(dbURL string, truncate bool) *TaskRepository
func (*TaskRepository) Get ¶
func (r *TaskRepository) Get(id uint64) (DatabaseTask, error)
func (*TaskRepository) GetNextTask ¶
func (r *TaskRepository) GetNextTask() (uint64, ScheduleRequestWeb, error)
return next scheduled task and mark it as running
func (*TaskRepository) Save ¶
func (r *TaskRepository) Save(req ScheduleRequestWeb) (uint64, error)
func (*TaskRepository) UpdateProgress ¶
func (r *TaskRepository) UpdateProgress(id uint64, progress string) error
func (*TaskRepository) UpdateStatus ¶
func (r *TaskRepository) UpdateStatus(id uint64, newStatus TaskStatus) error
type TaskStatus ¶
type TaskStatus int8
const ( Unknown TaskStatus = iota Scheduled Running Killed Done )
type TrafficDistribution ¶
type TrafficDistribution struct {
// contains filtered or unexported fields
}
type TrafficPattern ¶
type TrafficPattern struct {
// contains filtered or unexported fields
}
func NewTrafficPattern ¶
func NewTrafficPattern(endpoint string, patterns []TrafficPatternWeb) TrafficPattern
type TrafficPatternWeb ¶
Click to show internal directories.
Click to hide internal directories.