Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
const ( DefaultExperimentID = int32(0) DefaultExperimentName = "Default" )
Default Experiment properties.
const DefaultNamespaceCode = "default"
    DefaultNamespaceCode represents default Namespace code.
Variables ¶
var DefaultContext = Context{Json: types.JSONB("{}")}
    DefaultContext is the default metric context
Functions ¶
This section is empty.
Types ¶
type Base ¶ added in v0.6.0
type Base struct {
	ID        uuid.UUID `gorm:"type:uuid;primaryKey"`
	CreatedAt time.Time
	UpdatedAt time.Time
}
    Base is a base model which holds common fields for each model.
type Context ¶ added in v0.5.0
type Context struct {
	ID   uint        `gorm:"primaryKey;autoIncrement"`
	Json types.JSONB `gorm:"not null;unique;index"`
}
    Context represents model to work with `contexts` table.
func (Context) GetJsonHash ¶ added in v0.5.0
GetJsonHash returns hash of the Context.Json
type Experiment ¶
type Experiment struct {
	ID               *int32         `gorm:"column:experiment_id;not null;primaryKey"`
	Name             string         `gorm:"type:varchar(256);not null;index:,unique,composite:name"`
	ArtifactLocation string         `gorm:"type:varchar(256)"`
	LifecycleStage   LifecycleStage `gorm:"type:varchar(32);check:lifecycle_stage IN ('active', 'deleted')"`
	CreationTime     sql.NullInt64  `gorm:"type:bigint"`
	LastUpdateTime   sql.NullInt64  `gorm:"type:bigint"`
	NamespaceID      uint           `gorm:"index:,unique,composite:name"`
	Namespace        Namespace
	Tags             []ExperimentTag `gorm:"constraint:OnDelete:CASCADE"`
	Runs             []Run           `gorm:"constraint:OnDelete:CASCADE"`
}
    Experiment represents model to work with `experiments` table.
func (Experiment) IsDefault ¶ added in v0.5.0
func (e Experiment) IsDefault(namespace *Namespace) bool
IsDefault makes check that Experiment is default.
type ExperimentTag ¶
type ExperimentTag struct {
	Key          string `gorm:"type:varchar(250);not null;primaryKey"`
	Value        string `gorm:"type:varchar(5000)"`
	ExperimentID int32  `gorm:"not null;primaryKey"`
}
    ExperimentTag represents model to work with `experiment_tags` table.
type LatestMetric ¶
type LatestMetric struct {
	Key       string  `gorm:"type:varchar(250);not null;primaryKey"`
	Value     float64 `gorm:"type:double precision;not null"`
	Timestamp int64
	Step      int64  `gorm:"not null"`
	IsNan     bool   `gorm:"not null"`
	RunID     string `gorm:"column:run_uuid;not null;primaryKey;index"`
	LastIter  int64
	ContextID uint `gorm:"not null;primaryKey"`
	Context   Context
}
    LatestMetric represents model to work with `last_metrics` table.
func (LatestMetric) UniqueKey ¶ added in v0.5.0
func (m LatestMetric) UniqueKey() string
UniqueKey is a compound unique key for this metric series.
type LifecycleStage ¶
type LifecycleStage string
LifecycleStage represents entity stage
const ( LifecycleStageActive LifecycleStage = "active" LifecycleStageDeleted LifecycleStage = "deleted" )
Supported list of stages.
type Metric ¶
type Metric struct {
	Key       string  `gorm:"type:varchar(250);not null;primaryKey"`
	Value     float64 `gorm:"type:double precision;not null;primaryKey"`
	Timestamp int64   `gorm:"not null;primaryKey"`
	RunID     string  `gorm:"column:run_uuid;not null;primaryKey;index"`
	Step      int64   `gorm:"default:0;not null;primaryKey"`
	IsNan     bool    `gorm:"default:false;not null;primaryKey"`
	Iter      int64   `gorm:"index"`
	ContextID uint    `gorm:"not null;primaryKey"`
	Context   Context
}
    Metric represents model to work with `metrics` table.
type Namespace ¶ added in v0.4.0
type Namespace struct {
	ID                  uint           `gorm:"primaryKey;autoIncrement" json:"id"`
	Code                string         `gorm:"unique;index;not null" json:"code"`
	Description         string         `json:"description"`
	CreatedAt           time.Time      `json:"created_at"`
	UpdatedAt           time.Time      `json:"updated_at"`
	DeletedAt           gorm.DeletedAt `gorm:"index" json:"deleted_at"`
	DefaultExperimentID *int32         `gorm:"not null" json:"default_experiment_id"`
	Experiments         []Experiment   `gorm:"constraint:OnDelete:CASCADE" json:"experiments"`
}
    Namespace represents model to work with `namespaces` table.
func (Namespace) DisplayName ¶ added in v0.4.0
DisplayName returns Namespace display name.
type Param ¶
type Param struct {
	Key        string   `gorm:"type:varchar(250);not null;primaryKey"`
	ValueStr   *string  `gorm:"type:varchar(500)"`
	ValueInt   *int64   `gorm:"type:bigint"`
	ValueFloat *float64 `gorm:"type:float"`
	RunID      string   `gorm:"column:run_uuid;not null;primaryKey;index"`
}
    Param represents model to work with `params` table.
func (Param) ValueAny ¶ added in v0.6.0
ValueAny returns the value held by this Param as any with underlying type.
func (Param) ValueString ¶ added in v0.6.0
Value returns the value held by this Param as a string.
type RoleNamespace ¶ added in v0.6.0
type RoleNamespace struct {
	Base
	Role        Role      `gorm:"constraint:OnDelete:CASCADE"`
	RoleID      uuid.UUID `gorm:"not null;index:,unique,composite:relation"`
	Namespace   Namespace `gorm:"constraint:OnDelete:CASCADE"`
	NamespaceID uint      `gorm:"not null;index:,unique,composite:relation"`
}
    RoleNamespace represents model to work with `role_relations` table. Model holds relations between Role and Namespace models.
type RowNum ¶
type RowNum int64
RowNum represents custom data type.
func (RowNum) GormDataType ¶
GormDataType implements Gorm interface for custom data types.
type Run ¶
type Run struct {
	ID             string         `gorm:"<-:create;column:run_uuid;type:varchar(32);not null;primaryKey"`
	Name           string         `gorm:"type:varchar(250)"`
	SourceType     string         `gorm:"<-:create;type:varchar(20);check:source_type IN ('NOTEBOOK', 'JOB', 'LOCAL', 'UNKNOWN', 'PROJECT')"`
	SourceName     string         `gorm:"<-:create;type:varchar(500)"`
	EntryPointName string         `gorm:"<-:create;type:varchar(50)"`
	UserID         string         `gorm:"<-:create;type:varchar(256)"`
	Status         Status         `gorm:"type:varchar(9);check:status IN ('SCHEDULED', 'FAILED', 'FINISHED', 'RUNNING', 'KILLED')"`
	StartTime      sql.NullInt64  `gorm:"<-:create;type:bigint"`
	EndTime        sql.NullInt64  `gorm:"type:bigint"`
	SourceVersion  string         `gorm:"<-:create;type:varchar(50)"`
	LifecycleStage LifecycleStage `gorm:"type:varchar(20);check:lifecycle_stage IN ('active', 'deleted')"`
	ArtifactURI    string         `gorm:"<-:create;type:varchar(200)"`
	ExperimentID   int32
	Experiment     Experiment
	DeletedTime    sql.NullInt64  `gorm:"type:bigint"`
	RowNum         RowNum         `gorm:"<-:create;index"`
	Params         []Param        `gorm:"constraint:OnDelete:CASCADE"`
	Tags           []Tag          `gorm:"constraint:OnDelete:CASCADE"`
	Metrics        []Metric       `gorm:"constraint:OnDelete:CASCADE"`
	LatestMetrics  []LatestMetric `gorm:"constraint:OnDelete:CASCADE"`
}
    Run represents model to work with `runs` table.