From 5c587cb725a4957bb97e4482f5efb3f172454a59 Mon Sep 17 00:00:00 2001
From: Tyler Yahn <tyler.yahn@urbanairship.com>
Date: Mon, 15 May 2017 15:30:43 -0700
Subject: [PATCH] Add CLI flag to return version info

Fixes wrouesnel/postgres_exporter#67.
---
 postgres_exporter.go | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/postgres_exporter.go b/postgres_exporter.go
index e7970332..cc166dde 100644
--- a/postgres_exporter.go
+++ b/postgres_exporter.go
@@ -11,6 +11,7 @@ import (
 	"net/url"
 	"os"
 	"regexp"
+	"runtime"
 	"strconv"
 	"sync"
 	"time"
@@ -23,6 +24,7 @@ import (
 	"github.com/prometheus/common/log"
 )
 
+// executable version (set at build time by make)
 var Version string = "0.0.1"
 
 var db *sql.DB = nil
@@ -44,6 +46,7 @@ var (
 		"dumpmaps", false,
 		"Do not run, simply dump the maps.",
 	)
+	showVersion = flag.Bool("version", false, "print version")
 )
 
 // Metric name parts.
@@ -967,6 +970,14 @@ func (e *Exporter) scrape(ch chan<- prometheus.Metric) {
 func main() {
 	flag.Parse()
 
+	if *showVersion {
+		fmt.Printf(
+			"postgres_exporter %s (built with %s)\n",
+			Version, runtime.Version(),
+		)
+		return
+	}
+
 	if *onlyDumpMaps {
 		dumpMaps()
 		return