package redfishprofile func genericProfile() Profile { return staticProfile{ name: "generic", priority: 100, safeForFallback: true, matchFn: func(MatchSignals) int { return 10 }, extendAcquisition: func(plan *AcquisitionPlan, _ MatchSignals) { ensurePrefetchPolicy(plan, AcquisitionPrefetchPolicy{ IncludeSuffixes: []string{ "/Bios", "/Processors", "/Memory", "/Storage", "/SimpleStorage", "/PCIeDevices", "/PCIeFunctions", "/Accelerators", "/GraphicsControllers", "/EthernetInterfaces", "/NetworkInterfaces", "/NetworkAdapters", "/Drives", "/Power", "/PowerSubsystem/PowerSupplies", "/NetworkProtocol", "/UpdateService", "/UpdateService/FirmwareInventory", }, ExcludeContains: []string{ "/Fabrics", "/Backplanes", "/Boards", "/Assembly", "/Sensors", "/ThresholdSensors", "/DiscreteSensors", "/ThermalConfig", "/ThermalSubsystem", "/EnvironmentMetrics", "/Certificates", "/LogServices", }, }) ensureScopedPathPolicy(plan, AcquisitionScopedPathPolicy{ SystemCriticalSuffixes: []string{ "/Bios", "/Oem/Public", "/Oem/Public/FRU", "/Processors", "/Memory", "/Storage", "/PCIeDevices", "/PCIeFunctions", "/Accelerators", "/GraphicsControllers", "/EthernetInterfaces", "/NetworkInterfaces", "/SimpleStorage", "/Storage/IntelVROC", "/Storage/IntelVROC/Drives", "/Storage/IntelVROC/Volumes", }, ChassisCriticalSuffixes: []string{ "/Oem/Public", "/Oem/Public/FRU", "/Power", "/NetworkAdapters", "/PCIeDevices", "/Accelerators", "/Drives", "/Assembly", }, ManagerCriticalSuffixes: []string{ "/NetworkProtocol", }, SystemSeedSuffixes: []string{ "/SimpleStorage", "/Storage/IntelVROC", "/Storage/IntelVROC/Drives", "/Storage/IntelVROC/Volumes", }, }) addPlanPaths(&plan.CriticalPaths, "/redfish/v1/UpdateService", "/redfish/v1/UpdateService/FirmwareInventory", ) ensureSnapshotMaxDocuments(plan, 100000) ensureSnapshotWorkers(plan, 6) ensurePrefetchWorkers(plan, 4) ensureETABaseline(plan, AcquisitionETABaseline{ DiscoverySeconds: 8, SnapshotSeconds: 90, PrefetchSeconds: 20, CriticalPlanBSeconds: 20, ProfilePlanBSeconds: 15, }) ensurePostProbePolicy(plan, AcquisitionPostProbePolicy{ EnableNumericCollectionProbe: true, }) ensureRecoveryPolicy(plan, AcquisitionRecoveryPolicy{ EnableCriticalCollectionMemberRetry: true, EnableCriticalSlowProbe: true, EnableEmptyCriticalCollectionRetry: true, }) ensureRatePolicy(plan, AcquisitionRatePolicy{ TargetP95LatencyMS: 900, ThrottleP95LatencyMS: 1800, MinSnapshotWorkers: 2, MinPrefetchWorkers: 1, DisablePrefetchOnErrors: true, }) }, } }