stats

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DailyStats

type DailyStats struct {
	Date        string  `json:"date"`
	RunCount    int64   `json:"run_count"`
	SuccessRate float64 `json:"success_rate"`
}

DailyStats describes success rate for a specific day or hour.

type FailingAtom

type FailingAtom struct {
	JobID        string `json:"job_id"`
	Alias        string `json:"alias"`
	AtomName     string `json:"atom_name"`
	FailureCount int64  `json:"failure_count"`
}

FailingAtom describes a frequently failing atom.

type FailingJob

type FailingJob struct {
	JobID        string     `json:"job_id"`
	Alias        string     `json:"alias"`
	FailureCount int64      `json:"failure_count"`
	LastFailure  *time.Time `json:"last_failure"`
}

FailingJob describes a frequently failing job.

type JobStats

type JobStats struct {
	Total              int64   `json:"total"`
	RecentRuns         int64   `json:"recent_runs"`
	SuccessRate        float64 `json:"success_rate"`
	AvgDurationSeconds float64 `json:"avg_duration_seconds"`
}

JobStats contains aggregate job statistics.

type Service

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

Service provides statistics queries.

func New

func New(ctx context.Context) *Service

New creates a Service with the default DB connection.

func (*Service) Get

func (s *Service) Get() (*StatsResponse, error)

Get is a legacy wrapper for Summary("7d").

func (*Service) Summary

func (s *Service) Summary(window string) (*StatsResponse, error)

Summary computes aggregate statistics for the given window.

type SlowestJob

type SlowestJob struct {
	JobID              string  `json:"job_id"`
	Alias              string  `json:"alias"`
	AvgDurationSeconds float64 `json:"avg_duration_seconds"`
}

SlowestJob describes a job with high average duration.

type StatsResponse

type StatsResponse struct {
	Jobs             JobStats      `json:"jobs"`
	TopFailing       []FailingJob  `json:"top_failing"`
	TopFailingAtoms  []FailingAtom `json:"top_failing_atoms"`
	SlowestJobs      []SlowestJob  `json:"slowest_jobs"`
	SuccessRateTrend []DailyStats  `json:"success_rate_trend"`
}

StatsResponse is the top-level statistics payload.

Jump to

Keyboard shortcuts

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