diff options
| author | Andrei Korzhevskii <a.korzhevskiy@gmail.com> | 2015-03-23 18:23:53 +0300 |
|---|---|---|
| committer | Brad Fitzpatrick <bradfitz@golang.org> | 2015-04-01 15:24:53 +0000 |
| commit | 297c1d297f4cee55a6aee5eb68583d0139aef076 (patch) | |
| tree | d4a8767dc936bd39bfc16d02c898170493402482 /src/database/sql/sql.go | |
| parent | 9d0239771a2ddd77be0ba64c2782e1328a378190 (diff) | |
| download | go-297c1d297f4cee55a6aee5eb68583d0139aef076.tar.xz | |
database/sql: provide stats on number of open connections to the database.
This change provides a convenient way to monitor database connection pool.
Change-Id: I4b3757855b43f3b254acf9312e2a16e2f87840d0
Reviewed-on: https://go-review.googlesource.com/7950
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/database/sql/sql.go')
| -rw-r--r-- | src/database/sql/sql.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index 1ce679d8a6..b0e8894673 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -572,6 +572,22 @@ func (db *DB) SetMaxOpenConns(n int) { } } +// DBStats contains database statistics. +type DBStats struct { + // OpenConnections is the number of open connections to the database. + OpenConnections int +} + +// Stats returns database statistics. +func (db *DB) Stats() DBStats { + db.mu.Lock() + stats := DBStats{ + OpenConnections: db.numOpen, + } + db.mu.Unlock() + return stats +} + // Assumes db.mu is locked. // If there are connRequests and the connection limit hasn't been reached, // then tell the connectionOpener to open new connections. |
