in internal/onetime/configure/sqlserver/collectionconfig.go [31:69]
func CollectionConfigCommand(cfg *cliconfig.Configure) *cobra.Command {
var (
collectGuestOSMetrics bool
collectSQLMetrics bool
collectionFrequency time.Duration
)
collectionConfigCmd := &cobra.Command{
Use: "collection-config",
Short: "Configure SQL Server collection settings",
Run: func(cmd *cobra.Command, args []string) {
cfg.ValidateSQLServerCollectionConfig()
if cmd.Flags().Changed("collect-guest-os-metrics") {
msg := fmt.Sprintf("SQL Server Collect Guest OS Metrics: %v", collectGuestOSMetrics)
cfg.LogToBoth(cmd.Context(), msg)
cfg.Configuration.SqlserverConfiguration.CollectionConfiguration.CollectGuestOsMetrics = collectGuestOSMetrics
cfg.SQLServerConfigModified = true
}
if cmd.Flags().Changed("collect-sql-metrics") {
msg := fmt.Sprintf("SQL Server Collect SQL Metrics: %v", collectSQLMetrics)
cfg.LogToBoth(cmd.Context(), msg)
cfg.Configuration.SqlserverConfiguration.CollectionConfiguration.CollectSqlMetrics = collectSQLMetrics
cfg.SQLServerConfigModified = true
}
if cmd.Flags().Changed("collection-frequency") {
msg := fmt.Sprintf("SQL Server Collection Frequency: %v", collectionFrequency)
cfg.LogToBoth(cmd.Context(), msg)
cfg.Configuration.SqlserverConfiguration.CollectionConfiguration.CollectionFrequency = dpb.New(collectionFrequency)
cfg.SQLServerConfigModified = true
}
},
}
collectionConfigCmd.Flags().BoolVar(&collectGuestOSMetrics, "collect-guest-os-metrics", true, "Enables guest os collection")
collectionConfigCmd.Flags().BoolVar(&collectSQLMetrics, "collect-sql-metrics", true, "Enables SQL Server collection")
collectionConfigCmd.Flags().DurationVar(&collectionFrequency, "collection-frequency", time.Duration(configuration.DefaultSQLServerCollectionFrequency), "Collection frequency (e.g., 5m, 1h)")
return collectionConfigCmd
}