cc-backend/graph/model/models.go

46 lines
1.7 KiB
Go

package model
import (
"time"
)
type Job struct {
ID string `json:"id"`
JobID string `json:"jobId" db:"job_id"`
UserID string `json:"userId" db:"user_id"`
ProjectID string `json:"projectId" db:"project_id"`
ClusterID string `json:"clusterId" db:"cluster_id"`
StartTime time.Time `json:"startTime" db:"start_time"`
Duration int `json:"duration" db:"duration"`
Walltime *int `json:"walltime" db:"walltime"`
Jobstate *string `json:"jobstate" db:"job_state"`
NumNodes int `json:"numNodes" db:"num_nodes"`
NodeList string `json:"nodelist" db:"node_list"`
HasProfile bool `json:"hasProfile" db:"has_profile"`
MemUsedMax *float64 `json:"memUsedMax" db:"mem_used_max"`
FlopsAnyAvg *float64 `json:"flopsAnyAvg" db:"flops_any_avg"`
MemBwAvg *float64 `json:"memBwAvg" db:"mem_bw_avg"`
NetBwAvg *float64 `json:"netBwAvg" db:"net_bw_avg"`
FileBwAvg *float64 `json:"fileBwAvg" db:"file_bw_avg"`
LoadAvg *float64 `json:"loadAvg" db:"load_avg"`
Tags []JobTag `json:"tags"`
}
type JobTag struct {
ID string `db:"id"`
TagType string `db:"tag_type"`
TagName string `db:"tag_name"`
}
type Cluster struct {
ClusterID string `json:"cluster_id"`
ProcessorType string `json:"processor_type"`
SocketsPerNode int `json:"sockets_per_node"`
CoresPerSocket int `json:"cores_per_socket"`
ThreadsPerCore int `json:"threads_per_core"`
FlopRateScalar int `json:"flop_rate_scalar"`
FlopRateSimd int `json:"flop_rate_simd"`
MemoryBandwidth int `json:"memory_bandwidth"`
MetricConfig []MetricConfig `json:"metric_config"`
}