diff --git a/.travis.yml b/.travis.yml index f2d36561..f0bb1e29 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ services: - docker language: go go: -- '1.8' +- '1.9' # Make sure we have p2 and the postgres client. before_install: - go get -v github.com/mattn/goveralls diff --git a/pg_setting.go b/pg_setting.go index d22c42b4..0f770d66 100644 --- a/pg_setting.go +++ b/pg_setting.go @@ -94,7 +94,7 @@ func (s *pgSetting) normaliseUnit() (val float64, unit string, err error) { return case "ms", "s", "min", "h", "d": unit = "seconds" - case "kB", "MB", "GB", "TB", "8kB", "16MB": + case "kB", "MB", "GB", "TB", "8kB", "16kB", "16MB": unit = "bytes" default: err = fmt.Errorf("Unknown unit for runtime variable: %q", s.unit) @@ -125,6 +125,8 @@ func (s *pgSetting) normaliseUnit() (val float64, unit string, err error) { val *= math.Pow(2, 40) case "8kB": val *= math.Pow(2, 13) + case "16kB": + val *= math.Pow(2, 14) case "16MB": val *= math.Pow(2, 24) } diff --git a/pg_setting_test.go b/pg_setting_test.go index 26d71644..8b2019ed 100644 --- a/pg_setting_test.go +++ b/pg_setting_test.go @@ -60,6 +60,22 @@ var fixtures = []fixture{ d: "Desc{fqName: \"pg_settings_eight_kb_fixture_metric_bytes\", help: \"Foo foo foo [Units converted to bytes.]\", constLabels: {}, variableLabels: []}", v: 139264, }, + { + p: pgSetting{ + name: "16_kb_real_fixture_metric", + setting: "3.0", + unit: "16kB", + shortDesc: "Foo foo foo", + vartype: "real", + }, + n: normalised{ + val: 49152, + unit: "bytes", + err: "", + }, + d: "Desc{fqName: \"pg_settings_16_kb_real_fixture_metric_bytes\", help: \"Foo foo foo [Units converted to bytes.]\", constLabels: {}, variableLabels: []}", + v: 49152, + }, { p: pgSetting{ name: "16_mb_real_fixture_metric",