MCPcopy
hub / github.com/grafana/tempo / removeDefaults

Function removeDefaults

cmd/tempo-cli/cmd-migrate-overrides-config.go:125–147  ·  view source on GitHub ↗

removeDefaults recursively removes keys from loaded where the value matches the default.

(loaded, defaults map[string]interface{})

Source from the content-addressed store, hash-verified

123
124// removeDefaults recursively removes keys from loaded where the value matches the default.
125func removeDefaults(loaded, defaults map[string]interface{}) {
126 for key, defaultVal := range defaults {
127 loadedVal, ok := loaded[key]
128 if !ok {
129 continue
130 }
131
132 loadedChild, loadedIsMap := loadedVal.(map[string]interface{})
133 defaultChild, defaultIsMap := defaultVal.(map[string]interface{})
134
135 if loadedIsMap && defaultIsMap {
136 removeDefaults(loadedChild, defaultChild)
137 if len(loadedChild) == 0 {
138 delete(loaded, key)
139 }
140 continue
141 }
142
143 if reflect.DeepEqual(loadedVal, defaultVal) {
144 delete(loaded, key)
145 }
146 }
147}
148
149func printWarnings(w io.Writer) {
150 fmt.Fprintln(w, "WARNING: Please verify the migrated output carefully before using it.")

Callers 2

RunMethod · 0.85
RunMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected