photoprism/pkg/env/resources.go
Michael Mayer 92e6c4fe1e Download: Add Disabled, Originals, MediaRaw & MediaSidecar Flags #2234
Extends DownloadSettings with 4 additional options:
- Name: File name pattern for downloaded files (existed)
- Disabled: Disables downloads
- Originals: Only download files stored in "originals" folder
- MediaRaw: Include RAW image files
- MediaSidecar: Include metadata sidecar files (JSON, XMP, YAML)
2022-04-15 09:42:07 +02:00

37 lines
895 B
Go

package env
import (
"fmt"
"runtime"
"github.com/dustin/go-humanize"
"github.com/pbnjay/memory"
)
// Resources represents runtime resource information.
type Resources struct {
Cores int `json:"cores"`
Routines int `json:"routines"`
Memory struct {
Total uint64 `json:"total"`
Free uint64 `json:"free"`
Used uint64 `json:"used"`
Reserved uint64 `json:"reserved"`
Info string `json:"info"`
} `json:"memory"`
}
// Update runtime resource information.
func (r *Resources) Update() {
var mem runtime.MemStats
runtime.ReadMemStats(&mem)
r.Cores = runtime.NumCPU()
r.Routines = runtime.NumGoroutine()
r.Memory.Total = memory.TotalMemory()
r.Memory.Free = memory.FreeMemory()
r.Memory.Used = mem.Alloc
r.Memory.Reserved = mem.Sys
r.Memory.Info = fmt.Sprintf("Used %s / Reserved %s", humanize.Bytes(r.Memory.Used), humanize.Bytes(r.Memory.Reserved))
}