in confgenerator/feature_tracking.go [75:118]
func ExtractFeatures(ctx context.Context, userUc, mergedUc *UnifiedConfig) ([]Feature, error) {
allFeatures := getOverriddenDefaultPipelines(userUc)
allFeatures = append(allFeatures, getSelfLogCollection(userUc))
allFeatures = append(allFeatures, getOTelLoggingSupportedConfig(ctx, mergedUc))
var err error
var tempTrackedFeatures []Feature
if userUc.HasMetrics() {
tempTrackedFeatures, err = trackedMappedComponents("metrics", "receivers", userUc.Metrics.Receivers)
if err != nil {
return nil, err
}
allFeatures = append(allFeatures, tempTrackedFeatures...)
tempTrackedFeatures, err = trackedMappedComponents("metrics", "processors", userUc.Metrics.Processors)
if err != nil {
return nil, err
}
allFeatures = append(allFeatures, tempTrackedFeatures...)
}
if userUc.HasLogging() {
tempTrackedFeatures, err = trackedMappedComponents("logging", "receivers", userUc.Logging.Receivers)
if err != nil {
return nil, err
}
allFeatures = append(allFeatures, tempTrackedFeatures...)
tempTrackedFeatures, err = trackedMappedComponents("logging", "processors", userUc.Logging.Processors)
if err != nil {
return nil, err
}
allFeatures = append(allFeatures, tempTrackedFeatures...)
}
if userUc.HasCombined() {
tempTrackedFeatures, err = trackedMappedComponents("combined", "receivers", userUc.Combined.Receivers)
if err != nil {
return nil, err
}
allFeatures = append(allFeatures, tempTrackedFeatures...)
}
return allFeatures, nil
}