daemon

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2025 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DetectServiceManager

func DetectServiceManager() string

DetectServiceManager returns the appropriate service manager for the platform

func GetAlreadyRunningHelp

func GetAlreadyRunningHelp() string

GetAlreadyRunningHelp returns platform-specific help for "already running" errors

func GetNotRunningHelp

func GetNotRunningHelp() string

GetNotRunningHelp returns platform-specific help for "not running" errors

func GetServiceManagerHint

func GetServiceManagerHint(sm string) string

GetServiceManagerHint returns helpful hint for managing daemon as service

func GetSignalErrorHelp

func GetSignalErrorHelp(pid int) string

GetSignalErrorHelp returns platform-specific help for signal errors

func IsServiceManaged

func IsServiceManaged() bool

IsServiceManaged attempts to detect if daemon is running under service manager

Types

type Daemon

type Daemon struct {
	// contains filtered or unexported fields
}

Daemon manages background index computation

func New

func New(cfg *config.Config, logger *slog.Logger, logWriter *lumberjack.Logger) (*Daemon, error)

New creates a new daemon instance

func (*Daemon) ClearGraph added in v0.13.0

func (d *Daemon) ClearGraph() error

ClearGraph clears all data from the graph (implements api.RebuildHandler)

func (*Daemon) GetConfig

func (d *Daemon) GetConfig() *config.Config

GetConfig returns the current configuration (thread-safe)

func (*Daemon) GetLogger

func (d *Daemon) GetLogger() *slog.Logger

GetLogger returns the current logger (thread-safe)

func (*Daemon) GetSemanticAnalyzer

func (d *Daemon) GetSemanticAnalyzer() *semantic.Analyzer

GetSemanticAnalyzer returns the current semantic analyzer (lock-free)

func (*Daemon) IsRebuilding added in v0.13.0

func (d *Daemon) IsRebuilding() bool

IsRebuilding returns true if a rebuild is in progress (implements api.RebuildHandler)

func (*Daemon) Rebuild

func (d *Daemon) Rebuild() error

Rebuild forces an immediate index rebuild

func (*Daemon) ReloadConfig

func (d *Daemon) ReloadConfig() error

ReloadConfig reloads configuration and applies changes

func (*Daemon) SetConfig

func (d *Daemon) SetConfig(cfg *config.Config)

SetConfig sets the configuration atomically (thread-safe)

func (*Daemon) SetLogger

func (d *Daemon) SetLogger(l *slog.Logger)

SetLogger sets the logger atomically (thread-safe)

func (*Daemon) SetSemanticAnalyzer

func (d *Daemon) SetSemanticAnalyzer(a *semantic.Analyzer)

SetSemanticAnalyzer sets the semantic analyzer atomically (lock-free)

func (*Daemon) Start

func (d *Daemon) Start() error

Start starts the daemon

func (*Daemon) Stop

func (d *Daemon) Stop()

Stop stops the daemon

type HealthMetrics

type HealthMetrics struct {
	StartTime        time.Time `json:"start_time"`
	Uptime           string    `json:"uptime"`
	UptimeSeconds    int64     `json:"uptime_seconds"`
	FilesProcessed   int       `json:"files_processed"`
	APICalls         int       `json:"api_calls"`
	CacheHits        int       `json:"cache_hits"`
	Errors           int       `json:"errors"`
	LastBuildTime    time.Time `json:"last_build_time"`
	LastBuildSuccess bool      `json:"last_build_success"`
	IndexFileCount   int       `json:"index_file_count"`
	WatcherActive    bool      `json:"watcher_active"`
	// contains filtered or unexported fields
}

HealthMetrics tracks daemon health statistics

func NewHealthMetrics

func NewHealthMetrics() *HealthMetrics

NewHealthMetrics creates a new health metrics tracker

func (*HealthMetrics) DecrementIndexFileCount added in v0.12.1

func (h *HealthMetrics) DecrementIndexFileCount()

DecrementIndexFileCount decrements the index file count by 1

func (*HealthMetrics) GetSnapshot

func (h *HealthMetrics) GetSnapshot() api.HealthSnapshot

GetSnapshot returns a snapshot of current metrics Implements api.HealthMetricsProvider interface

func (*HealthMetrics) IncrementIndexFileCount added in v0.12.1

func (h *HealthMetrics) IncrementIndexFileCount()

IncrementIndexFileCount increments the index file count by 1

func (*HealthMetrics) RecordAPICall added in v0.12.1

func (h *HealthMetrics) RecordAPICall()

RecordAPICall increments the API calls counter

func (*HealthMetrics) RecordBuild

func (h *HealthMetrics) RecordBuild(filesProcessed, apiCalls, cacheHits, errors int, success bool)

RecordBuild records a build attempt

func (*HealthMetrics) RecordCacheHit added in v0.12.1

func (h *HealthMetrics) RecordCacheHit()

RecordCacheHit increments the cache hits counter

func (*HealthMetrics) RecordError

func (h *HealthMetrics) RecordError()

RecordError increments the error counter

func (*HealthMetrics) RecordFileProcessed added in v0.12.1

func (h *HealthMetrics) RecordFileProcessed()

RecordFileProcessed increments the files processed counter

func (*HealthMetrics) SetCacheManager added in v0.13.0

func (h *HealthMetrics) SetCacheManager(manager *cache.Manager)

SetCacheManager sets the cache manager for cache stats reporting

func (*HealthMetrics) SetIndexFileCount

func (h *HealthMetrics) SetIndexFileCount(count int)

SetIndexFileCount updates the current index file count

func (*HealthMetrics) SetWatcherActive

func (h *HealthMetrics) SetWatcherActive(active bool)

SetWatcherActive sets the watcher active status

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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