Documentation
¶
Index ¶
- func IsEqualCounts(a, b []int64) bool
- func NewCounts() *counts
- type Code
- type Recorder
- func (r *Recorder) GenerateEventReport() string
- func (r *Recorder) GetCounts() []int64
- func (r *Recorder) GetEventCounts() map[Code]int64
- func (r *Recorder) GetEventSizes() map[Code]int64
- func (r *Recorder) Log() *slog.Logger
- func (r *Recorder) Record(ctx context.Context, code Code, file slog.LogValuer, args ...any)
- func (r *Recorder) RecordWithSize(ctx context.Context, code Code, file slog.LogValuer, fileSize int64, ...)
- func (r *Recorder) Report() string
- func (r *Recorder) SetLogger(l *slog.Logger)
- func (r *Recorder) TotalAssets() int64
- func (r *Recorder) TotalProcessed(forcedMissingJSON bool) int64
- func (r *Recorder) TotalProcessedGP() int64
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsEqualCounts ¶
IsEqualCounts checks if two slices of int64 have the same elements in the same order. Used for tests only
Types ¶
type Code ¶
type Code int
const ( NotHandled Code = iota // ===== Discovery Events - Assets ===== // These trigger asset registration in AssetTracker DiscoveredImage // Asset discovered (image type) DiscoveredVideo // Asset discovered (video type) // ===== Discovery Events - Non-Assets ===== // These are only logged, not tracked DiscoveredSidecar // Sidecar file (.json, .xmp, etc.) DiscoveredMetadata // Metadata file DiscoveredUnknown // Unknown file type DiscoveredBanned // Banned file (e.g., .DS_Store, Thumbs.db) DiscoveredUnsupported // Unsupported file format // ===== Asset Lifecycle Events - To PROCESSED ===== UploadedSuccess // Asset successfully uploaded UploadedUpgraded // Server asset upgraded with input // ===== Asset Lifecycle Events - To DISCARDED ===== UploadedServerDuplicate // Server already has this asset DiscardedBanned // Asset with banned filename DiscardedUnsupported // Asset with unsupported format (deprecated, use DiscoveredUnsupported) DiscardedFiltered // Asset filtered out by user settings DiscardedLocalDuplicate // Duplicate asset in input DiscardedNotSelected // Asset not selected for processing DiscardedServerBetter // Server has better version of asset // ===== Asset Lifecycle Events - To ERROR ===== ErrorUploadFailed // Upload failed ErrorServerError // Server returned an error ErrorFileAccess // Could not access file ErrorIncomplete // Asset never reached final state // ===== Processing Events - Informational ===== // These don't change asset state AnalysisAssociatedMetadata // Metadata file associated with asset AnalysisMissingAssociatedMetadata // Expected metadata file missing ProcessedStacked // Asset added to stack ProcessedAlbumAdded // Asset added to album ProcessedTagged // Asset tagged ProcessedLivePhoto // Live photo processed // ===== Legacy/Compatibility ===== // Maintained for backward compatibility Uploaded // Legacy: use UploadedSuccess UploadAlbumCreated // Album created/updated UploadAddToAlbum // Legacy: use ProcessedAlbumAdded AnalysisLocalDuplicate // Legacy: use DiscardedLocalDuplicate UploadNotSelected // Legacy: use DiscardedNotSelected UploadServerBetter // Legacy: use DiscardedServerBetter Stacked // Legacy: use ProcessedStacked LivePhoto // Legacy: use ProcessedLivePhoto Tagged // Legacy: use ProcessedTagged Metadata // Legacy metadata marker INFO // Generic info message Written // File written to disk DiscoveredDiscarded // Legacy: use specific discard reasons DiscoveredUseless // Legacy: use DiscoveredUnknown or DiscoveredBanned Error // Generic error MaxCode )
type Recorder ¶
type Recorder struct {
// contains filtered or unexported fields
}
func NewRecorder ¶
func (*Recorder) GenerateEventReport ¶ added in v0.30.0
GenerateEventReport creates a comprehensive report of all events
func (*Recorder) GetEventCounts ¶ added in v0.30.0
GetEventCounts returns event counts as a map (Code -> count)
func (*Recorder) GetEventSizes ¶ added in v0.30.0
GetEventSizes returns event sizes as a map (Code -> total bytes)
func (*Recorder) RecordWithSize ¶ added in v0.30.0
func (*Recorder) TotalAssets ¶
func (*Recorder) TotalProcessed ¶
func (*Recorder) TotalProcessedGP ¶
Click to show internal directories.
Click to hide internal directories.