in internal/configuration/configuration.go [190:240]
func applyDefaultCollectionConfiguration(configFromFile *cpb.CollectionConfiguration) *cpb.CollectionConfiguration {
cc := configFromFile
if cc == nil {
cc = &cpb.CollectionConfiguration{}
}
if cc.GetCollectWorkloadValidationMetrics() == nil {
cc.CollectWorkloadValidationMetrics = &wpb.BoolValue{Value: true}
}
if cc.GetCollectWorkloadValidationMetrics().GetValue() && cc.GetWorkloadValidationMetricsFrequency() <= 0 {
cc.WorkloadValidationMetricsFrequency = 300
}
if cc.GetCollectWorkloadValidationMetrics().GetValue() && cc.GetWorkloadValidationDbMetricsFrequency() <= 0 {
cc.WorkloadValidationDbMetricsFrequency = 3600 // Default frequency is 1 hour.
}
if cc.GetCollectProcessMetrics() && cc.GetProcessMetricsFrequency() <= 0 {
cc.ProcessMetricsFrequency = 5
}
if cc.GetCollectProcessMetrics() && cc.GetSlowProcessMetricsFrequency() <= 0 {
cc.SlowProcessMetricsFrequency = 30
}
if cc.GetCollectAgentMetrics() && cc.GetAgentMetricsFrequency() <= 0 {
cc.AgentMetricsFrequency = 60
}
if cc.GetCollectAgentMetrics() && cc.GetAgentHealthFrequency() <= 0 {
cc.AgentHealthFrequency = 60
}
if cc.GetCollectAgentMetrics() && cc.GetHeartbeatFrequency() <= 0 {
cc.HeartbeatFrequency = 60
}
if cc.GetCollectAgentMetrics() && cc.GetMissedHeartbeatThreshold() <= 0 {
cc.MissedHeartbeatThreshold = 10
}
if cc.GetDataWarehouseEndpoint() == "" {
cc.DataWarehouseEndpoint = "https://workloadmanager-datawarehouse.googleapis.com/"
}
if cc.GetWorkloadValidationCollectionDefinition() == nil {
cc.WorkloadValidationCollectionDefinition = &cpb.WorkloadValidationCollectionDefinition{
FetchLatestConfig: &wpb.BoolValue{Value: true},
ConfigTargetEnvironment: cpb.TargetEnvironment_PRODUCTION,
}
}
if cc.GetWorkloadValidationCollectionDefinition().GetConfigTargetEnvironment() == cpb.TargetEnvironment_TARGET_ENVIRONMENT_UNSPECIFIED {
cc.WorkloadValidationCollectionDefinition.ConfigTargetEnvironment = cpb.TargetEnvironment_PRODUCTION
}
if cc.GetWorkloadValidationCollectionDefinition().GetFetchLatestConfig() == nil {
cc.WorkloadValidationCollectionDefinition.FetchLatestConfig = &wpb.BoolValue{Value: true}
}
return cc
}