@@ -9,6 +9,8 @@ while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symli
99done
1010DIR=" $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
1111
12+ METRICS_DIR=$( pwd)
13+
1214# Read the absolute path to the exporter
1315postgres_exporter=$( readlink -f $1 )
1416test_binary=$( readlink -f $2 )
@@ -80,20 +82,24 @@ smoketest_postgres() {
8082 trap " docker logs $CONTAINER_NAME ; docker kill $CONTAINER_NAME ; docker rm -v $CONTAINER_NAME ; exit 1" EXIT INT TERM
8183 wait_for_postgres localhost 55432
8284
85+ # Run the test binary.
8386 DATA_SOURCE_NAME=" postgresql://postgres:$POSTGRES_PASSWORD @localhost:55432/?sslmode=disable" $test_binary --log.level=debug || exit $?
8487
85- # exporter_pid=$!
86- # trap "docker logs $CONTAINER_NAME ; docker kill $CONTAINER_NAME ; docker rm $CONTAINER_NAME ; kill $exporter_pid; exit 1" EXIT INT TERM
87- # wait_for_exporter
88- #
89- # wget -q -O - http://localhost:$exporter_port/metrics 1> /dev/null
90- # if [ "$?" != "0" ]; then
91- # echo "Failed on postgres $version ($DOCKER_IMAGE)" 1>&2
92- # kill $exporter_pid
93- # exit 1
94- # fi
95- #
96- # kill $exporter_pid
88+ # Extract a raw metric list.
89+ DATA_SOURCE_NAME=" postgresql://postgres:$POSTGRES_PASSWORD @localhost:55432/?sslmode=disable" $postgres_exporter --log.level=debug --web.listen-address=:$exporter_port &
90+ exporter_pid=$!
91+ trap " docker logs $CONTAINER_NAME ; docker kill $CONTAINER_NAME ; docker rm -v $CONTAINER_NAME ; kill $exporter_pid ; exit 1" EXIT INT TERM
92+ wait_for_exporter
93+
94+ # Dump the metrics to a file.
95+ wget -q -O - http://localhost:$exporter_port /metrics 1> $METRICS_DIR /.metrics.single.$version .prom
96+ if [ " $? " != " 0" ]; then
97+ echo " Failed on postgres $version ($DOCKER_IMAGE )" 1>&2
98+ kill $exporter_pid
99+ exit 1
100+ fi
101+
102+ kill $exporter_pid
97103 docker kill $CONTAINER_NAME
98104 docker rm -v $CONTAINER_NAME
99105 trap - EXIT INT TERM
@@ -123,18 +129,19 @@ smoketest_postgres() {
123129 wait_for_postgres $slave_ip 5432
124130
125131 DATA_SOURCE_NAME=" postgresql://postgres:$POSTGRES_PASSWORD @$master_ip :5432/?sslmode=disable" $test_binary --log.level=debug || exit $?
126- # exporter_pid=$!
127- # trap "docker-compose logs; docker-compose down ; docker-compose rm -v ; kill $exporter_pid; exit 1" EXIT INT TERM
128- # wait_for_exporter
129-
130- # wget -q -O - http://localhost:$exporter_port/metrics 1> /dev/null
131- # if [ "$?" != "0" ]; then
132- # echo "Failed on postgres $version ($DOCKER_IMAGE)" 1>&2
133- # exit 1
134- # fi
135- #
136- # kill $exporter_pid
137132
133+ DATA_SOURCE_NAME=" postgresql://postgres:$POSTGRES_PASSWORD @$master_ip :5432/?sslmode=disable" $postgres_exporter --log.level=debug --web.listen-address=:$exporter_port &
134+ exporter_pid=$!
135+ trap " docker-compose logs; docker-compose down ; docker-compose rm -v ; kill $exporter_pid ; exit 1" EXIT INT TERM
136+ wait_for_exporter
137+
138+ wget -q -O - http://localhost:$exporter_port /metrics 1> $METRICS_DIR /.metrics.replicated.$version .prom
139+ if [ " $? " != " 0" ]; then
140+ echo " Failed on postgres $version ($DOCKER_IMAGE )" 1>&2
141+ exit 1
142+ fi
143+
144+ kill $exporter_pid
138145 docker-compose down
139146 docker-compose rm -v
140147 trap - EXIT INT TERM
0 commit comments