1
0
mirror of https://github.com/prometheus-community/postgres_exporter.git synced 2025-11-07 17:46:22 +03:00

Merge pull request #521 from pvanderlinden/fix-auto-discovery

fix parsing include databases
This commit is contained in:
Ben Kochie
2021-04-19 15:34:53 +02:00
committed by GitHub
3 changed files with 29 additions and 3 deletions

View File

@@ -285,3 +285,14 @@ GRANT SELECT ON postgres_exporter.pg_stat_statements TO postgres_exporter;
> ```
> DATA_SOURCE_NAME=postgresql://postgres_exporter:password@localhost:5432/postgres?sslmode=disable
> ```
## Running the tests
```
# Run the unit tests
make test
# Start the test database with docker
docker run -p 5432:5432 -e POSTGRES_DB=circle_test -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=test -d postgres
# Run the integration tests
DATA_SOURCE_NAME='postgresql://postgres:test@localhost:5432/circle_test?sslmode=disable' GOOPTS='-v -tags integration' make test
```

View File

@@ -1149,8 +1149,10 @@ func ExcludeDatabases(s string) ExporterOpt {
// IncludeDatabases allows to filter result from AutoDiscoverDatabases
func IncludeDatabases(s string) ExporterOpt {
return func(e *Exporter) {
if len(s) > 0 {
e.includeDatabases = strings.Split(s, ",")
}
}
}
// WithUserQueriesPath configures user's queries path.

View File

@@ -162,3 +162,16 @@ func (s *IntegrationSuite) TestExtendQueriesDoesntCrash(c *C) {
// scrape the exporter and make sure it works
exporter.scrape(ch)
}
func (s *IntegrationSuite) TestAutoDiscoverDatabases(c *C) {
dsn := os.Getenv("DATA_SOURCE_NAME")
exporter := NewExporter(
strings.Split(dsn, ","),
)
c.Assert(exporter, NotNil)
dsns := exporter.discoverDatabaseDSNs()
c.Assert(len(dsns), Equals, 2)
}