mirror of
https://github.com/prometheus-community/postgres_exporter
synced 2025-04-24 12:07:59 +00:00
v0.15.0
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoFiTUofnXYMugU5GxkayPJ4yRfEFAmU7yxUACgkQxkayPJ4y RfHSBBAAtiUfVrvZRPZGRRBzn1/XFMM609gZAdHis7EK9v2SU/Lu+bAjbY76zppp vtJhrR0trgAdvUEwGVa7PSfiubZtRetx9sl5VoRjrgDhOLP73cQsqaY6vJV08Ec3 YZEKdMQCMjsVPHFOPkYWd/BwSCKsiafAXNUZTYvYkN+HIodsp0LltQBXmbUd9lNy LpreIS/IF4w6ynaCM4wltqqIsngOPHbrbq8hRaWAV42lxO2Nb22F8WAQQ66eByDE Ul6L8qxlEMBIICggaxBA24rxhHOcCq4dnaicdYGsR4ThWzhmJc8eEZND7fKkgo7n xj6CWb7Q7Dlvtqaq90aEo6OYhGfjco0n8wLXGU+tbn5WZ6EGhY+WT1pEVCAfxNmH iqwwY4QUayQhamxkNXGCIahfypx0SeTiySwT1CImokjZvBCpeFxGX+Kc5FaCTAm0 rzWbQ523HOenaedPMx/i0AUn0MboEEWshcqrcZ4GkW7Hi3o/yjY1B1hz+IpgLvOO SAR2YskSOk8RXz/X0YCKo6Gqc4SwOVHLoVHNPCVBxJEmaHRxPxdMcdCS+BPNxq5X aB6ZVOgsxrJ2wsKJfB3dqrTSWi4UxowTUfPkvHA2xq0S8E4EQbGLt+/QNW1GdHsR 7y8UZnxas8JQJihzOx/+4A+RWo42kxB/kE7EFRAS1htm/OlAzjY= =qmid -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE66jYSDPQNyAKJJPgu8vw0/bC9AkFAmYW7IUACgkQu8vw0/bC 9AnIQBAArJUve8DXgjhwEcnGG9hO2yjS9dsPG+XTX0g6XZ+5JJCSGAzTnbN6T5dI gFJWxHkBb7MbkBkEJLMVGLnxncpfq5NBCXxOsIixRzw8cL920SDR4J3QHJztZqGi Cafl5rJ6bDm4UCoXYt0ULiDgFa5+9rw3blHE6s2T4GiOLF4rtjkcP4LXGP3cnVHy mH9rYt3wnR3ZZf8xGk7p8soyQldeHMgqllxki+eetkzn5deaX6aHwmAN/+zFllvN DnHol8Oa+XyI3VhVOs387Fw1JqwU4IbS30G0LdTO59xleYJ9H2suPZ7TE1lYaU9s N6TOLGXf8icQCnm1MDI5SSBhJj6/vbotiD4z2vVaaUVeDHe+L+GcziJlmV5YKnO8 tyr8bk3ckAcYD4UxXqMYPtHoLUj9tyLGQkoFVsTo3D0iz0qipnVGpUYE2pG1J0T6 UkO65u+v7nJhCyKmbA6s58f/CezjPxNvwVvu5d4zE55TFH9+DFzyS0qCcF+p1ekm agR57tljz+LHpyk1MwWSBP1lRr1Hl081M/mB0jPntDSMQOUj0yjaA01WwaQMZ3Lx 638/R+hG/Is1qFXb2ZENAt7oq4XsTYaFmvOSDaYSyfQ+a7hDHfNbpswn7F+XwW/l v0jjW0bQZ8/5J4iBoC0K61pajbEA7JlehWurG5jkKe4gc3so/7s= =T52H -----END PGP SIGNATURE----- PMM-7 Pull v0.15.0 from upstream.
This commit is contained in:
commit
ab7cabd793
@ -8,7 +8,7 @@ executors:
|
||||
# This must match .promu.yml.
|
||||
golang:
|
||||
docker:
|
||||
- image: cimg/go:1.20
|
||||
- image: cimg/go:1.21
|
||||
|
||||
jobs:
|
||||
test:
|
||||
@ -16,6 +16,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- prometheus/setup_environment
|
||||
- run: GOHOSTARCH=386 GOARCH=386 make test
|
||||
- run: make
|
||||
- prometheus/store_artifact:
|
||||
file: postgres_exporter
|
||||
@ -56,12 +57,12 @@ workflows:
|
||||
matrix:
|
||||
parameters:
|
||||
postgres_image:
|
||||
- circleci/postgres:10
|
||||
- circleci/postgres:11
|
||||
- circleci/postgres:12
|
||||
- circleci/postgres:13
|
||||
- cimg/postgres:14.1
|
||||
- cimg/postgres:15.1
|
||||
- cimg/postgres:14.9
|
||||
- cimg/postgres:15.4
|
||||
- cimg/postgres:16.0
|
||||
- prometheus/build:
|
||||
name: build
|
||||
parallelism: 3
|
||||
|
2
.github/workflows/golangci-lint.yml
vendored
2
.github/workflows/golangci-lint.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4.0.0
|
||||
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
|
||||
- name: install Go
|
||||
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
|
||||
with:
|
||||
|
@ -1,13 +1,12 @@
|
||||
go:
|
||||
# This must match .circle/config.yml.
|
||||
version: 1.20
|
||||
version: 1.21
|
||||
repository:
|
||||
path: github.com/prometheus-community/postgres_exporter
|
||||
build:
|
||||
binaries:
|
||||
- name: postgres_exporter
|
||||
path: ./cmd/postgres_exporter
|
||||
flags: -a -tags 'netgo static_build'
|
||||
ldflags: |
|
||||
-X github.com/prometheus/common/version.Version={{.Version}}
|
||||
-X github.com/prometheus/common/version.Revision={{.Revision}}
|
||||
|
@ -1,3 +1,10 @@
|
||||
## 0.15.0 / 2023-10-27
|
||||
|
||||
* [ENHANCEMENT] Add 1kB and 2kB units #915
|
||||
* [BUGFIX] Add error log when probe collector creation fails #918
|
||||
* [BUGFIX] Fix test build failures on 32-bit arch #919
|
||||
* [BUGFIX] Adjust collector to use separate connection per scrape #936
|
||||
|
||||
## 0.14.0 / 2023-09-11
|
||||
|
||||
* [CHANGE] Add `state` label to pg_process_idle_seconds #862
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
Prometheus exporter for PostgreSQL server metrics.
|
||||
|
||||
CI Tested PostgreSQL versions: `10`, `11`, `12`, `13`, `14`, `15`
|
||||
CI Tested PostgreSQL versions: `11`, `12`, `13`, `14`, `15`, `16`
|
||||
|
||||
## Quick Start
|
||||
This package is available for Docker:
|
||||
|
@ -129,7 +129,7 @@ func (s *pgSetting) normaliseUnit() (val float64, unit string, err error) {
|
||||
return
|
||||
case "ms", "s", "min", "h", "d":
|
||||
unit = "seconds"
|
||||
case "B", "kB", "MB", "GB", "TB", "4kB", "8kB", "16kB", "32kB", "64kB", "16MB", "32MB", "64MB":
|
||||
case "B", "kB", "MB", "GB", "TB", "1kB", "2kB", "4kB", "8kB", "16kB", "32kB", "64kB", "16MB", "32MB", "64MB":
|
||||
unit = "bytes"
|
||||
default:
|
||||
err = fmt.Errorf("Unknown unit for runtime variable: %q", s.unit)
|
||||
@ -158,6 +158,10 @@ func (s *pgSetting) normaliseUnit() (val float64, unit string, err error) {
|
||||
val *= math.Pow(2, 30)
|
||||
case "TB":
|
||||
val *= math.Pow(2, 40)
|
||||
case "1kB":
|
||||
val *= math.Pow(2, 10)
|
||||
case "2kB":
|
||||
val *= math.Pow(2, 11)
|
||||
case "4kB":
|
||||
val *= math.Pow(2, 12)
|
||||
case "8kB":
|
||||
|
@ -40,7 +40,7 @@ var fixtures = []fixture{
|
||||
unit: "seconds",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_seconds_fixture_metric_seconds", help: "Server Parameter: seconds_fixture_metric [Units converted to seconds.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_seconds_fixture_metric_seconds", help: "Server Parameter: seconds_fixture_metric [Units converted to seconds.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 5,
|
||||
},
|
||||
{
|
||||
@ -56,7 +56,7 @@ var fixtures = []fixture{
|
||||
unit: "seconds",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_milliseconds_fixture_metric_seconds", help: "Server Parameter: milliseconds_fixture_metric [Units converted to seconds.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_milliseconds_fixture_metric_seconds", help: "Server Parameter: milliseconds_fixture_metric [Units converted to seconds.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 5,
|
||||
},
|
||||
{
|
||||
@ -72,7 +72,7 @@ var fixtures = []fixture{
|
||||
unit: "bytes",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_eight_kb_fixture_metric_bytes", help: "Server Parameter: eight_kb_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_eight_kb_fixture_metric_bytes", help: "Server Parameter: eight_kb_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 139264,
|
||||
},
|
||||
{
|
||||
@ -88,7 +88,7 @@ var fixtures = []fixture{
|
||||
unit: "bytes",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_16_kb_real_fixture_metric_bytes", help: "Server Parameter: 16_kb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_16_kb_real_fixture_metric_bytes", help: "Server Parameter: 16_kb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 49152,
|
||||
},
|
||||
{
|
||||
@ -104,7 +104,7 @@ var fixtures = []fixture{
|
||||
unit: "bytes",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_16_mb_real_fixture_metric_bytes", help: "Server Parameter: 16_mb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_16_mb_real_fixture_metric_bytes", help: "Server Parameter: 16_mb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 5.0331648e+07,
|
||||
},
|
||||
{
|
||||
@ -120,7 +120,7 @@ var fixtures = []fixture{
|
||||
unit: "bytes",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_32_mb_real_fixture_metric_bytes", help: "Server Parameter: 32_mb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_32_mb_real_fixture_metric_bytes", help: "Server Parameter: 32_mb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 1.00663296e+08,
|
||||
},
|
||||
{
|
||||
@ -136,7 +136,7 @@ var fixtures = []fixture{
|
||||
unit: "bytes",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_64_mb_real_fixture_metric_bytes", help: "Server Parameter: 64_mb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_64_mb_real_fixture_metric_bytes", help: "Server Parameter: 64_mb_real_fixture_metric [Units converted to bytes.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: 2.01326592e+08,
|
||||
},
|
||||
{
|
||||
@ -152,7 +152,7 @@ var fixtures = []fixture{
|
||||
unit: "",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_bool_on_fixture_metric", help: "Server Parameter: bool_on_fixture_metric", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_bool_on_fixture_metric", help: "Server Parameter: bool_on_fixture_metric", constLabels: {}, variableLabels: {}}`,
|
||||
v: 1,
|
||||
},
|
||||
{
|
||||
@ -168,7 +168,7 @@ var fixtures = []fixture{
|
||||
unit: "",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_bool_off_fixture_metric", help: "Server Parameter: bool_off_fixture_metric", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_bool_off_fixture_metric", help: "Server Parameter: bool_off_fixture_metric", constLabels: {}, variableLabels: {}}`,
|
||||
v: 0,
|
||||
},
|
||||
{
|
||||
@ -184,7 +184,7 @@ var fixtures = []fixture{
|
||||
unit: "seconds",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_special_minus_one_value_seconds", help: "Server Parameter: special_minus_one_value [Units converted to seconds.]", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_special_minus_one_value_seconds", help: "Server Parameter: special_minus_one_value [Units converted to seconds.]", constLabels: {}, variableLabels: {}}`,
|
||||
v: -1,
|
||||
},
|
||||
{
|
||||
@ -200,7 +200,7 @@ var fixtures = []fixture{
|
||||
unit: "",
|
||||
err: "",
|
||||
},
|
||||
d: `Desc{fqName: "pg_settings_rds_rds_superuser_reserved_connections", help: "Server Parameter: rds.rds_superuser_reserved_connections", constLabels: {}, variableLabels: []}`,
|
||||
d: `Desc{fqName: "pg_settings_rds_rds_superuser_reserved_connections", help: "Server Parameter: rds.rds_superuser_reserved_connections", constLabels: {}, variableLabels: {}}`,
|
||||
v: 2,
|
||||
},
|
||||
{
|
||||
|
@ -89,6 +89,7 @@ func handleProbe(logger log.Logger, excludeDatabases []string, connSema *semapho
|
||||
// Run the probe
|
||||
pc, err := collector.NewProbeCollector(ctx, tl, excludeDatabases, registry, dsn, connSema)
|
||||
if err != nil {
|
||||
level.Error(logger).Log("msg", "Error creating probe collector", "err", err)
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
@ -64,13 +64,13 @@ func TestPGStatWalReceiverCollectorWithFlushedLSN(t *testing.T) {
|
||||
"foo",
|
||||
"bar",
|
||||
"stopping",
|
||||
1200668684563608,
|
||||
int64(1200668684563608),
|
||||
1687321285,
|
||||
1200668684563609,
|
||||
int64(1200668684563609),
|
||||
1687321280,
|
||||
1687321275,
|
||||
1687321276,
|
||||
1200668684563610,
|
||||
int64(1200668684563610),
|
||||
1687321277,
|
||||
5,
|
||||
)
|
||||
@ -143,12 +143,12 @@ func TestPGStatWalReceiverCollectorWithNoFlushedLSN(t *testing.T) {
|
||||
"foo",
|
||||
"bar",
|
||||
"starting",
|
||||
1200668684563608,
|
||||
int64(1200668684563608),
|
||||
1687321285,
|
||||
1687321280,
|
||||
1687321275,
|
||||
1687321276,
|
||||
1200668684563610,
|
||||
int64(1200668684563610),
|
||||
1687321277,
|
||||
5,
|
||||
)
|
||||
|
4
go.mod
4
go.mod
@ -10,7 +10,7 @@ require (
|
||||
github.com/lib/pq v1.10.9
|
||||
github.com/montanaflynn/stats v0.7.1
|
||||
github.com/pkg/errors v0.9.1
|
||||
github.com/prometheus/client_golang v1.16.0
|
||||
github.com/prometheus/client_golang v1.17.0
|
||||
github.com/prometheus/client_model v0.6.1
|
||||
github.com/prometheus/common v0.44.0
|
||||
github.com/prometheus/exporter-toolkit v0.10.0
|
||||
@ -40,7 +40,7 @@ require (
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
||||
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
github.com/prometheus/procfs v0.10.1 // indirect
|
||||
github.com/prometheus/procfs v0.11.1 // indirect
|
||||
github.com/rogpeppe/go-internal v1.10.0 // indirect
|
||||
github.com/smarty/assertions v1.15.0 // indirect
|
||||
github.com/tklauser/numcpus v0.7.0 // indirect
|
||||
|
8
go.sum
8
go.sum
@ -56,16 +56,16 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8=
|
||||
github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc=
|
||||
github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
|
||||
github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
|
||||
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
|
||||
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
|
||||
github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY=
|
||||
github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY=
|
||||
github.com/prometheus/exporter-toolkit v0.10.0 h1:yOAzZTi4M22ZzVxD+fhy1URTuNRj/36uQJJ5S8IPza8=
|
||||
github.com/prometheus/exporter-toolkit v0.10.0/go.mod h1:+sVFzuvV5JDyw+Ih6p3zFxZNVnKQa3x5qPmDSiPu4ZY=
|
||||
github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg=
|
||||
github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM=
|
||||
github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI=
|
||||
github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
|
||||
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
|
||||
|
Loading…
Reference in New Issue
Block a user