Skip to content

Commit 359a992

Browse files
WARN duplicated database connections
Signed-off-by: Anders Swanson <anders.swanson@oracle.com>
1 parent 14fac96 commit 359a992

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

collector/config.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ func LoadMetricsConfiguration(logger *slog.Logger, cfg *Config, path string, fla
206206
}
207207

208208
m.merge(cfg, path, flags)
209-
return m, nil
209+
return m, m.validate(logger)
210210
}
211211

212212
func (wc WebConfig) Flags() *web.FlagConfig {
@@ -302,3 +302,23 @@ func (m *MetricsConfiguration) defaultDatabase(cfg *Config) DatabaseConfig {
302302
}
303303
return dbconfig
304304
}
305+
306+
func (m *MetricsConfiguration) validate(logger *slog.Logger) error {
307+
m.checkDuplicatedDatabases(logger)
308+
return nil
309+
}
310+
311+
// checkDuplicatedDatabases validates duplicated databases. If a database entry is duplicated, log a warning.
312+
func (m *MetricsConfiguration) checkDuplicatedDatabases(logger *slog.Logger) {
313+
dbs := map[string][]string{}
314+
for db, cfg := range m.Databases {
315+
key := cfg.URL + cfg.Username
316+
dbs[key] = append(dbs[key], db)
317+
}
318+
319+
for _, v := range dbs {
320+
if len(v) > 1 {
321+
logger.Warn("duplicated database connections", "database connections", strings.Join(v, ", "))
322+
}
323+
}
324+
}

0 commit comments

Comments
 (0)