package datasource

import (
	"encoding/json"
	"testing"
)

func BenchmarkMetrics(b *testing.B) {
	payload := []byte(`[{"metric":{"__name__":"vm_rows"},"value":[1583786142,"13763"]},{"metric":{"__name__":"vm_requests", "foo":"bar", "baz": "qux"},"value":[1583786140,"2000"]}]`)

	var pi promInstant
	if err := json.Unmarshal(payload, &pi.Result); err != nil {
		b.Fatalf(err.Error())
	}
	b.Run("Instant", func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			_, _ = pi.metrics()
		}
	})
}