models

package
v0.0.0-...-55a49cc Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Benchmark

type Benchmark struct {
	Model

	// Foreign key back to BenchmarkLibs
	BenchmarkLibsID uint `json:"-"`

	// Name is a benchmark/test name, such as "each_performance"
	Name string `json:"name"`

	// Series is a time series of benchmark instances.
	Series []BenchmarkSeriesInstance `json:"-"`
}

func (*Benchmark) MarshalJSON

func (b *Benchmark) MarshalJSON() ([]byte, error)

Custom JSON marshal message to format the data for ngx-charts

type BenchmarkCacheSubmission

type BenchmarkCacheSubmission struct {
	Type       string `json:"type"`
	Level      uint   `json:"level"`
	Size       uint64 `json:"size"`
	NumSharing int    `json:"num_sharing"`
}

BenchmarkCacheSubmission is the cache information generated by google benchmark

type BenchmarkContextSubmission

type BenchmarkContextSubmission struct {
	Date              string `json:"date"`
	HostName          string `json:"host_name"`
	Executable        string `json:"executable"`
	NumCpus           uint   `json:"num_cpus"`
	MhzPerCPU         uint   `json:"mhz_per_cpu"`
	CPUScalingEnabled bool   `json:"cpu_scaling_enabled"`
	LibraryBuildType  string `json:"library_build_type"`
	// LoadAvg []float64 `json:"load_avg"`
	Caches []BenchmarkCacheSubmission `json:"caches"`
}

BenchmarkContextSubmission is the context information generated by google benchmark

type BenchmarkInstanceSubmission

type BenchmarkInstanceSubmission struct {
	Name       string  `json:"name"`
	RunName    string  `json:"run_name"`
	RunType    string  `json:"run_type"`
	Iterations uint    `json:"iterations"`
	RealTime   float64 `json:"real_time"`
	CPUTime    float64 `json:"cpu_time"`
	TimeUnit   string  `json:"time_unit"`
}

BenchmarkInstanceSubmission is the instance information generated by google benchmark

type BenchmarkLibs

type BenchmarkLibs struct {
	Model

	// Name == "gazebo" or "math"
	Name string `json:"name"`

	// Bechmarks contains all the benchmark data for the library.
	Benchmarks []Benchmark `json:"benchmarks"`
}

BenchmarkLibs stores benchmark data for a library, such as gazebo or transport.

func (*BenchmarkLibs) MarshalJSON

func (b *BenchmarkLibs) MarshalJSON() ([]byte, error)

Custom JSON marshal message to format the data for ngx-charts

type BenchmarkSeriesInstance

type BenchmarkSeriesInstance struct {
	Model

	// BenchmarkID is the foreign key back to Benchmark
	BenchmarkID uint `json:"-"`

	// Date is the time when this datapoint was generated.
	Date time.Time `json:"date"`

	// RunType is the type of google benchmark run.
	RunType string `json:"-"`

	// Iterations is the count of iterations performed.
	Iterations uint `json:"-"`

	// RealTime is the wall-clock time it took to complete the test.
	RealTime float64 `json:"real_time"`

	// CPUTime is the CPU time it took to complete the test.
	CPUTime float64 `json:"cpu_time"`

	// TimeUnit is the  units of time measured by CPUTime and RealTime.
	TimeUnit string `json:"time_unit"`

	// Json is the raw json data, which could contain extra information.
	Raw json.RawMessage `json:"-"`
}

type BenchmarkSubmission

type BenchmarkSubmission struct {
	Context    BenchmarkContextSubmission    `json:"context"`
	Benchmarks []BenchmarkInstanceSubmission `json:"benchmarks"`
}

BenchmarkSubmission is the benchmark information generated by google benchmark

type Lib

type Lib struct {
	Model
	Name        string   `json:"name"`
	Versions    Versions `json:"versions"`
	Repo        string   `json:"repo"`
	Description string   `json:"description"`
}

Lib defines a library

type Libs

type Libs []Lib

Libs defines an array of libraries

type Model

type Model struct {
	ID        uint       `gorm:"primary_key" json:"id" validate:"omitempty"`
	CreatedAt time.Time  `json:"-"`
	UpdatedAt time.Time  `json:"-"`
	DeletedAt *time.Time `json:"-" sql:"index"`
}

Model contains default database elements

type Version

type Version struct {
	Model

	LibID uint64 `json:"libId"`

	Major uint64 `json:"major"`
	Minor uint64 `json:"minor"`
	Patch uint64 `json:"patch"`

	ReleaseDate time.Time `json:"releaseDate"`
}

Version is a single version of a library

type Versions

type Versions []Version

Versions is an array of versions

Jump to

Keyboard shortcuts

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