diff --git a/api/operator.go b/api/operator.go index e84dd1d4c..de9fbd7fc 100644 --- a/api/operator.go +++ b/api/operator.go @@ -305,21 +305,20 @@ func (op *Operator) LicenseGet(q *QueryOptions) (*LicenseReply, *QueryMeta, erro return &reply, qm, nil } -func (op *Operator) Metrics(q *QueryOptions) (string, error) { +func (op *Operator) Metrics(q *QueryOptions) ([]byte, error) { if q == nil { q = &QueryOptions{} } metricsReader, err := op.c.rawQuery("/v1/metrics", q) if err != nil { - return "", err + return nil, err } metricsBytes, err := ioutil.ReadAll(metricsReader) if err != nil { - return "", err + return nil, err } - metrics := string(metricsBytes[:]) - return metrics, nil + return metricsBytes, nil } diff --git a/command/metrics.go b/command/metrics.go index 43805c7e2..5ceb39778 100644 --- a/command/metrics.go +++ b/command/metrics.go @@ -88,12 +88,14 @@ func (c *OperatorMetricsCommand) Run(args []string) int { Params: params, } - resp, err := client.Operator().Metrics(query) + bs, err := client.Operator().Metrics(query) if err != nil { c.Ui.Error(fmt.Sprintf("Error getting metrics: %v", err)) return 1 } + resp := string(bs[:]) c.Ui.Output(resp) + return 0 } diff --git a/vendor/github.com/hashicorp/nomad/api/operator.go b/vendor/github.com/hashicorp/nomad/api/operator.go index e84dd1d4c..de9fbd7fc 100644 --- a/vendor/github.com/hashicorp/nomad/api/operator.go +++ b/vendor/github.com/hashicorp/nomad/api/operator.go @@ -305,21 +305,20 @@ func (op *Operator) LicenseGet(q *QueryOptions) (*LicenseReply, *QueryMeta, erro return &reply, qm, nil } -func (op *Operator) Metrics(q *QueryOptions) (string, error) { +func (op *Operator) Metrics(q *QueryOptions) ([]byte, error) { if q == nil { q = &QueryOptions{} } metricsReader, err := op.c.rawQuery("/v1/metrics", q) if err != nil { - return "", err + return nil, err } metricsBytes, err := ioutil.ReadAll(metricsReader) if err != nil { - return "", err + return nil, err } - metrics := string(metricsBytes[:]) - return metrics, nil + return metricsBytes, nil }