mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-27 18:12:05 -07:00
feat(stats): add v1 immersion stats dashboard (#19)
This commit is contained in:
@@ -48,35 +48,73 @@ export function buildImmersionConfigOptionRegistry(
|
||||
defaultValue: defaultConfig.immersionTracking.maintenanceIntervalMs,
|
||||
description: 'Maintenance cadence (prune + rollup + vacuum checks).',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retentionMode',
|
||||
kind: 'string',
|
||||
defaultValue: defaultConfig.immersionTracking.retentionMode,
|
||||
description: 'Retention mode (`preset` uses preset values, `advanced` uses explicit values).',
|
||||
enumValues: ['preset', 'advanced'],
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retentionPreset',
|
||||
kind: 'string',
|
||||
defaultValue: defaultConfig.immersionTracking.retentionPreset,
|
||||
description: 'Retention preset when `retentionMode` is `preset`.',
|
||||
enumValues: ['minimal', 'balanced', 'deep-history'],
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retention.eventsDays',
|
||||
kind: 'number',
|
||||
defaultValue: defaultConfig.immersionTracking.retention.eventsDays,
|
||||
description: 'Raw event retention window in days.',
|
||||
description: 'Raw event retention window in days. Use 0 to keep all.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retention.telemetryDays',
|
||||
kind: 'number',
|
||||
defaultValue: defaultConfig.immersionTracking.retention.telemetryDays,
|
||||
description: 'Telemetry retention window in days.',
|
||||
description: 'Telemetry retention window in days. Use 0 to keep all.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retention.sessionsDays',
|
||||
kind: 'number',
|
||||
defaultValue: defaultConfig.immersionTracking.retention.sessionsDays,
|
||||
description: 'Session retention window in days. Use 0 to keep all.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retention.dailyRollupsDays',
|
||||
kind: 'number',
|
||||
defaultValue: defaultConfig.immersionTracking.retention.dailyRollupsDays,
|
||||
description: 'Daily rollup retention window in days.',
|
||||
description: 'Daily rollup retention window in days. Use 0 to keep all.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retention.monthlyRollupsDays',
|
||||
kind: 'number',
|
||||
defaultValue: defaultConfig.immersionTracking.retention.monthlyRollupsDays,
|
||||
description: 'Monthly rollup retention window in days.',
|
||||
description: 'Monthly rollup retention window in days. Use 0 to keep all.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.retention.vacuumIntervalDays',
|
||||
kind: 'number',
|
||||
defaultValue: defaultConfig.immersionTracking.retention.vacuumIntervalDays,
|
||||
description: 'Minimum days between VACUUM runs.',
|
||||
description: 'Minimum days between VACUUM runs. Use 0 to disable.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.lifetimeSummaries.global',
|
||||
kind: 'boolean',
|
||||
defaultValue: defaultConfig.immersionTracking.lifetimeSummaries?.global,
|
||||
description: 'Maintain global lifetime stats rows.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.lifetimeSummaries.anime',
|
||||
kind: 'boolean',
|
||||
defaultValue: defaultConfig.immersionTracking.lifetimeSummaries?.anime,
|
||||
description: 'Maintain per-anime lifetime stats rows.',
|
||||
},
|
||||
{
|
||||
path: 'immersionTracking.lifetimeSummaries.media',
|
||||
kind: 'boolean',
|
||||
defaultValue: defaultConfig.immersionTracking.lifetimeSummaries?.media,
|
||||
description: 'Maintain per-media lifetime stats rows.',
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user