api

package
v0.0.0-...-b8497f2 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var JobQueue = make(chan *models.Job, 100)

JobQueue is a simple in-memory job queue.

Functions

func RegisterRoutes

func RegisterRoutes(r *gin.Engine, jobStore *JobStore)

RegisterRoutes registers the API routes with the Gin router.

Types

type JobHandler

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

JobHandler handles job-related API requests.

func NewJobHandler

func NewJobHandler(store *JobStore) *JobHandler

NewJobHandler creates a new JobHandler.

func (*JobHandler) CreateJob

func (h *JobHandler) CreateJob(c *gin.Context)

CreateJob creates a new benchmark job and adds it to the queue.

func (*JobHandler) GetJob

func (h *JobHandler) GetJob(c *gin.Context)

GetJob retrieves a job by its ID.

type JobStore

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

JobStore is an in-memory store for benchmark jobs.

func NewJobStore

func NewJobStore() *JobStore

NewJobStore creates a new JobStore.

func (*JobStore) Create

func (s *JobStore) Create(job *models.Job) (*models.Job, error)

Create creates a new job and adds it to the store.

func (*JobStore) Get

func (s *JobStore) Get(id string) (*models.Job, error)

Get retrieves a job from the store by its ID.

func (*JobStore) Update

func (s *JobStore) Update(job *models.Job) error

Update updates an existing job in the store.

type MetricsExporter

type MetricsExporter struct{}

MetricsExporter is a service that exports benchmark metrics in Prometheus format.

func NewMetricsExporter

func NewMetricsExporter() *MetricsExporter

NewMetricsExporter creates a new MetricsExporter.

func (*MetricsExporter) Handler

func (e *MetricsExporter) Handler() gin.HandlerFunc

Handler returns a Gin handler that serves the metrics endpoint.

func (*MetricsExporter) RecordMetrics

func (e *MetricsExporter) RecordMetrics(executor, target string, metrics *models.PerformanceMetrics)

RecordMetrics records the metrics from a benchmark run.

type Worker

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

Worker is a background worker that processes benchmark jobs.

func NewWorker

func NewWorker(store *JobStore, exporter *MetricsExporter) *Worker

NewWorker creates a new Worker.

func (*Worker) Start

func (w *Worker) Start()

Start starts the worker.

Jump to

Keyboard shortcuts

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