refactor: move v2/v1/models to v2/models
parent
a71b43ff17
commit
89532f0c29
|
@ -16,8 +16,8 @@ import (
|
|||
"sync/atomic"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/logger"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/file"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/engine/tsm1"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/index/tsi1"
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/cmd/influx_inspect/verify/seriesfile"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
// MetricsCollection is the struct including metrics and other requirements.
|
||||
|
|
|
@ -16,8 +16,8 @@ import (
|
|||
kitio "github.com/influxdata/influxdb/v2/kit/io"
|
||||
"github.com/influxdata/influxdb/v2/kit/tracing"
|
||||
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/opentracing/opentracing-go"
|
||||
"go.uber.org/zap"
|
||||
"istio.io/pkg/log"
|
||||
|
|
|
@ -16,7 +16,6 @@ import (
|
|||
httpmock "github.com/influxdata/influxdb/v2/http/mock"
|
||||
kithttp "github.com/influxdata/influxdb/v2/kit/transport/http"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
influxtesting "github.com/influxdata/influxdb/v2/testing"
|
||||
"go.uber.org/zap/zaptest"
|
||||
)
|
||||
|
@ -293,60 +292,6 @@ func TestWriteHandler_handleWrite(t *testing.T) {
|
|||
body: `{"code":"request too large","message":"unable to read data: points batch is too large"}`,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "bytes limit rejected",
|
||||
request: request{
|
||||
org: "043e0780ee2b1000",
|
||||
bucket: "04504b356e23b000",
|
||||
body: "m1,t1=v1 f1=1",
|
||||
auth: bucketWritePermission("043e0780ee2b1000", "04504b356e23b000"),
|
||||
},
|
||||
state: state{
|
||||
org: testOrg("043e0780ee2b1000"),
|
||||
bucket: testBucket("043e0780ee2b1000", "04504b356e23b000"),
|
||||
opts: []WriteHandlerOption{WithParserOptions(models.WithParserMaxBytes(5))},
|
||||
},
|
||||
wants: wants{
|
||||
code: 413,
|
||||
body: `{"code":"request too large","message":"points: number of allocated bytes exceeded"}`,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "lines limit rejected",
|
||||
request: request{
|
||||
org: "043e0780ee2b1000",
|
||||
bucket: "04504b356e23b000",
|
||||
body: "m1,t1=v1 f1=1\nm1,t1=v1 f1=1\nm1,t1=v1 f1=1\n",
|
||||
auth: bucketWritePermission("043e0780ee2b1000", "04504b356e23b000"),
|
||||
},
|
||||
state: state{
|
||||
org: testOrg("043e0780ee2b1000"),
|
||||
bucket: testBucket("043e0780ee2b1000", "04504b356e23b000"),
|
||||
opts: []WriteHandlerOption{WithParserOptions(models.WithParserMaxLines(2))},
|
||||
},
|
||||
wants: wants{
|
||||
code: 413,
|
||||
body: `{"code":"request too large","message":"points: number of lines exceeded"}`,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "values limit rejected",
|
||||
request: request{
|
||||
org: "043e0780ee2b1000",
|
||||
bucket: "04504b356e23b000",
|
||||
body: "m1,t1=v1 f1=1,f2=2\nm1,t1=v1 f1=1,f2=2\nm1,t1=v1 f1=1,f2=2\n",
|
||||
auth: bucketWritePermission("043e0780ee2b1000", "04504b356e23b000"),
|
||||
},
|
||||
state: state{
|
||||
org: testOrg("043e0780ee2b1000"),
|
||||
bucket: testBucket("043e0780ee2b1000", "04504b356e23b000"),
|
||||
opts: []WriteHandlerOption{WithParserOptions(models.WithParserMaxValues(4))},
|
||||
},
|
||||
wants: wants{
|
||||
code: 413,
|
||||
body: `{"code":"request too large","message":"points: number of values exceeded"}`,
|
||||
},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package query
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
// Emitter reads from a cursor into rows.
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"sync"
|
||||
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
// PointsWriter is a mock structure for writing points.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
package mock
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/data/gen"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
287
models/points.go
287
models/points.go
|
@ -74,14 +74,6 @@ var (
|
|||
// ErrInvalidKevValuePairs is returned when the number of key, value pairs
|
||||
// is odd, indicating a missing value.
|
||||
ErrInvalidKevValuePairs = errors.New("key/value pairs is an odd length")
|
||||
|
||||
// ErrMeasurementTagExpected is returned by ParseMeasurement when parsing a
|
||||
// series key where the first tag key is not a measurement.
|
||||
ErrMeasurementTagExpected = errors.New("measurement tag expected")
|
||||
|
||||
// ErrInvalidKey is returned by ParseMeasurement when parsing a an empty
|
||||
// or invalid series key.
|
||||
ErrInvalidKey = errors.New("invalid key")
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -191,25 +183,6 @@ const (
|
|||
Unsigned
|
||||
)
|
||||
|
||||
func (t FieldType) String() string {
|
||||
switch t {
|
||||
case Integer:
|
||||
return "Integer"
|
||||
case Float:
|
||||
return "Float"
|
||||
case Boolean:
|
||||
return "Boolean"
|
||||
case String:
|
||||
return "String"
|
||||
case Empty:
|
||||
return "Empty"
|
||||
case Unsigned:
|
||||
return "Unsigned"
|
||||
default:
|
||||
return "<unknown>"
|
||||
}
|
||||
}
|
||||
|
||||
// FieldIterator provides a low-allocation interface to iterate through a point's fields.
|
||||
type FieldIterator interface {
|
||||
// Next indicates whether there any fields remaining.
|
||||
|
@ -244,32 +217,13 @@ type FieldIterator interface {
|
|||
type Points []Point
|
||||
|
||||
// Len implements sort.Interface.
|
||||
func (p Points) Len() int { return len(p) }
|
||||
func (a Points) Len() int { return len(a) }
|
||||
|
||||
// Less implements sort.Interface.
|
||||
func (p Points) Less(i, j int) bool { return p[i].Time().Before(p[j].Time()) }
|
||||
func (a Points) Less(i, j int) bool { return a[i].Time().Before(a[j].Time()) }
|
||||
|
||||
// Swap implements sort.Interface.
|
||||
func (p Points) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
|
||||
|
||||
func (p Points) String() string {
|
||||
const sep = "\n"
|
||||
switch len(p) {
|
||||
case 0:
|
||||
return ""
|
||||
case 1:
|
||||
return p[0].String()
|
||||
}
|
||||
var b strings.Builder
|
||||
b.WriteString(p[0].String())
|
||||
|
||||
for _, s := range p[1:] {
|
||||
b.WriteString(sep)
|
||||
b.WriteString(s.String())
|
||||
}
|
||||
|
||||
return b.String()
|
||||
}
|
||||
func (a Points) Swap(i, j int) { a[i], a[j] = a[j], a[i] }
|
||||
|
||||
// point is the default implementation of Point.
|
||||
type point struct {
|
||||
|
@ -283,6 +237,9 @@ type point struct {
|
|||
// text encoding of field data
|
||||
fields []byte
|
||||
|
||||
// text encoding of timestamp
|
||||
ts []byte
|
||||
|
||||
// cached version of parsed fields from data
|
||||
cachedFields map[string]interface{}
|
||||
|
||||
|
@ -323,17 +280,13 @@ const (
|
|||
// ParsePoints returns a slice of Points from a text representation of a point
|
||||
// with each point separated by newlines. If any points fail to parse, a non-nil error
|
||||
// will be returned in addition to the points that parsed successfully.
|
||||
//
|
||||
// The mm argument supplies the new measurement which is generated by calling
|
||||
// EscapeMeasurement(EncodeName(orgID, bucketID)). The existing measurement is
|
||||
// moved to the "_m" tag.
|
||||
func ParsePoints(buf, mm []byte) ([]Point, error) {
|
||||
return ParsePointsWithPrecision(buf, mm, time.Now().UTC(), "n")
|
||||
func ParsePoints(buf []byte) ([]Point, error) {
|
||||
return ParsePointsWithPrecision(buf, time.Now().UTC(), "n")
|
||||
}
|
||||
|
||||
// ParsePointsString is identical to ParsePoints but accepts a string.
|
||||
func ParsePointsString(buf, mm string) ([]Point, error) {
|
||||
return ParsePoints([]byte(buf), []byte(mm))
|
||||
func ParsePointsString(buf string) ([]Point, error) {
|
||||
return ParsePoints([]byte(buf))
|
||||
}
|
||||
|
||||
// ParseKey returns the measurement name and tags from a point.
|
||||
|
@ -362,7 +315,7 @@ func ParseKeyBytesWithTags(buf []byte, tags Tags) ([]byte, Tags) {
|
|||
} else {
|
||||
name = buf[:i]
|
||||
}
|
||||
return UnescapeMeasurement(name), tags
|
||||
return unescapeMeasurement(name), tags
|
||||
}
|
||||
|
||||
func ParseTags(buf []byte) Tags {
|
||||
|
@ -384,35 +337,7 @@ func ParseName(buf []byte) []byte {
|
|||
name = buf[:i]
|
||||
}
|
||||
|
||||
return UnescapeMeasurement(name)
|
||||
}
|
||||
|
||||
// ParseMeasurement returns the value of the tag identified by MeasurementTagKey; otherwise,
|
||||
// an error is returned.
|
||||
//
|
||||
// buf must be a normalized series key, such that the tags are
|
||||
// lexicographically sorted and therefore the measurement tag is first.
|
||||
func ParseMeasurement(buf []byte) ([]byte, error) {
|
||||
pos, name := scanTo(buf, 0, ',')
|
||||
|
||||
// it's an empty key, so there are no tags
|
||||
if len(name) == 0 {
|
||||
return nil, ErrInvalidKey
|
||||
}
|
||||
|
||||
i := pos + 1
|
||||
var key, value []byte
|
||||
i, key = scanTo(buf, i, '=')
|
||||
if string(key) != MeasurementTagKey {
|
||||
return nil, ErrMeasurementTagExpected
|
||||
}
|
||||
|
||||
_, value = scanTagValue(buf, i+1)
|
||||
if bytes.IndexByte(value, '\\') != -1 {
|
||||
// hasEscape
|
||||
return unescapeTag(value), nil
|
||||
}
|
||||
return value, nil
|
||||
return unescapeMeasurement(name)
|
||||
}
|
||||
|
||||
// ValidPrecision checks if the precision is known.
|
||||
|
@ -425,21 +350,137 @@ func ValidPrecision(precision string) bool {
|
|||
}
|
||||
}
|
||||
|
||||
func ParsePointsWithOptions(buf []byte, mm []byte, opts ...ParserOption) (_ []Point, err error) {
|
||||
pp := newPointsParser(mm, opts...)
|
||||
err = pp.parsePoints(buf)
|
||||
return pp.points, err
|
||||
}
|
||||
|
||||
// ParsePointsWithPrecision is similar to ParsePoints, but allows the
|
||||
// caller to provide a precision for time.
|
||||
//
|
||||
// NOTE: to minimize heap allocations, the returned Points will refer to subslices of buf.
|
||||
// This can have the unintended effect preventing buf from being garbage collected.
|
||||
func ParsePointsWithPrecision(buf []byte, mm []byte, defaultTime time.Time, precision string) (_ []Point, err error) {
|
||||
pp := newPointsParser(mm, WithParserDefaultTime(defaultTime), WithParserPrecision(precision))
|
||||
err = pp.parsePoints(buf)
|
||||
return pp.points, err
|
||||
func ParsePointsWithPrecision(buf []byte, defaultTime time.Time, precision string) ([]Point, error) {
|
||||
points := make([]Point, 0, bytes.Count(buf, []byte{'\n'})+1)
|
||||
var (
|
||||
pos int
|
||||
block []byte
|
||||
failed []string
|
||||
)
|
||||
for pos < len(buf) {
|
||||
pos, block = scanLine(buf, pos)
|
||||
pos++
|
||||
|
||||
if len(block) == 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
start := skipWhitespace(block, 0)
|
||||
|
||||
// If line is all whitespace, just skip it
|
||||
if start >= len(block) {
|
||||
continue
|
||||
}
|
||||
|
||||
// lines which start with '#' are comments
|
||||
if block[start] == '#' {
|
||||
continue
|
||||
}
|
||||
|
||||
// strip the newline if one is present
|
||||
if block[len(block)-1] == '\n' {
|
||||
block = block[:len(block)-1]
|
||||
}
|
||||
|
||||
pt, err := parsePoint(block[start:], defaultTime, precision)
|
||||
if err != nil {
|
||||
failed = append(failed, fmt.Sprintf("unable to parse '%s': %v", string(block[start:]), err))
|
||||
} else {
|
||||
points = append(points, pt)
|
||||
}
|
||||
|
||||
}
|
||||
if len(failed) > 0 {
|
||||
return points, fmt.Errorf("%s", strings.Join(failed, "\n"))
|
||||
}
|
||||
return points, nil
|
||||
|
||||
}
|
||||
|
||||
func parsePoint(buf []byte, defaultTime time.Time, precision string) (Point, error) {
|
||||
// scan the first block which is measurement[,tag1=value1,tag2=value2...]
|
||||
pos, key, err := scanKey(buf, 0)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// measurement name is required
|
||||
if len(key) == 0 {
|
||||
return nil, fmt.Errorf("missing measurement")
|
||||
}
|
||||
|
||||
if len(key) > MaxKeyLength {
|
||||
return nil, fmt.Errorf("max key length exceeded: %v > %v", len(key), MaxKeyLength)
|
||||
}
|
||||
|
||||
// scan the second block is which is field1=value1[,field2=value2,...]
|
||||
pos, fields, err := scanFields(buf, pos)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// at least one field is required
|
||||
if len(fields) == 0 {
|
||||
return nil, fmt.Errorf("missing fields")
|
||||
}
|
||||
|
||||
var maxKeyErr error
|
||||
err = walkFields(fields, func(k, v []byte) bool {
|
||||
if sz := seriesKeySize(key, k); sz > MaxKeyLength {
|
||||
maxKeyErr = fmt.Errorf("max key length exceeded: %v > %v", sz, MaxKeyLength)
|
||||
return false
|
||||
}
|
||||
return true
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if maxKeyErr != nil {
|
||||
return nil, maxKeyErr
|
||||
}
|
||||
|
||||
// scan the last block which is an optional integer timestamp
|
||||
pos, ts, err := scanTime(buf, pos)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
pt := &point{
|
||||
key: key,
|
||||
fields: fields,
|
||||
ts: ts,
|
||||
}
|
||||
|
||||
if len(ts) == 0 {
|
||||
pt.time = defaultTime
|
||||
pt.SetPrecision(precision)
|
||||
} else {
|
||||
ts, err := parseIntBytes(ts, 10, 64)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
pt.time, err = SafeCalcTime(ts, precision)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Determine if there are illegal non-whitespace characters after the
|
||||
// timestamp block.
|
||||
for pos < len(buf) {
|
||||
if buf[pos] != ' ' {
|
||||
return nil, ErrInvalidPoint
|
||||
}
|
||||
pos++
|
||||
}
|
||||
}
|
||||
return pt, nil
|
||||
}
|
||||
|
||||
// GetPrecisionMultiplier will return a multiplier for the precision specified.
|
||||
|
@ -1229,7 +1270,7 @@ func EscapeMeasurement(in []byte) []byte {
|
|||
return in
|
||||
}
|
||||
|
||||
func UnescapeMeasurement(in []byte) []byte {
|
||||
func unescapeMeasurement(in []byte) []byte {
|
||||
if bytes.IndexByte(in, '\\') == -1 {
|
||||
return in
|
||||
}
|
||||
|
@ -1328,15 +1369,6 @@ func NewPoint(name string, tags Tags, fields Fields, t time.Time) (Point, error)
|
|||
}, nil
|
||||
}
|
||||
|
||||
// NewPointFromSeries returns a Point given the serialized key, some fields, and a time.
|
||||
func NewPointFromSeries(key []byte, fields Fields, t time.Time) Point {
|
||||
return &point{
|
||||
key: key,
|
||||
time: t,
|
||||
fields: fields.MarshalBinary(),
|
||||
}
|
||||
}
|
||||
|
||||
// pointKey checks some basic requirements for valid points, and returns the
|
||||
// key, along with an possible error.
|
||||
func pointKey(measurement string, tags Tags, fields Fields, t time.Time) ([]byte, error) {
|
||||
|
@ -1358,7 +1390,7 @@ func pointKey(measurement string, tags Tags, fields Fields, t time.Time) ([]byte
|
|||
return nil, fmt.Errorf("+/-Inf is an unsupported value for field %s", key)
|
||||
}
|
||||
if math.IsNaN(value) {
|
||||
return nil, fmt.Errorf("NAN is an unsupported value for field %s", key)
|
||||
return nil, fmt.Errorf("NaN is an unsupported value for field %s", key)
|
||||
}
|
||||
case float32:
|
||||
// Ensure the caller validates and handles invalid field values
|
||||
|
@ -1366,7 +1398,7 @@ func pointKey(measurement string, tags Tags, fields Fields, t time.Time) ([]byte
|
|||
return nil, fmt.Errorf("+/-Inf is an unsupported value for field %s", key)
|
||||
}
|
||||
if math.IsNaN(float64(value)) {
|
||||
return nil, fmt.Errorf("NAN is an unsupported value for field %s", key)
|
||||
return nil, fmt.Errorf("NaN is an unsupported value for field %s", key)
|
||||
}
|
||||
}
|
||||
if len(key) == 0 {
|
||||
|
@ -1374,15 +1406,9 @@ func pointKey(measurement string, tags Tags, fields Fields, t time.Time) ([]byte
|
|||
}
|
||||
}
|
||||
|
||||
estimatedSize := len(measurement) + 10 // add additional buffer for escaping & spaces
|
||||
for _, t := range tags {
|
||||
estimatedSize += len(t.Key) + len(t.Value) + 2
|
||||
}
|
||||
buf := make([]byte, 0, estimatedSize)
|
||||
|
||||
key := AppendMakeKey(buf, []byte(measurement), tags)
|
||||
key := MakeKey([]byte(measurement), tags)
|
||||
for field := range fields {
|
||||
sz := seriesKeySizeV1(key, []byte(field))
|
||||
sz := seriesKeySize(key, []byte(field))
|
||||
if sz > MaxKeyLength {
|
||||
return nil, fmt.Errorf("max key length exceeded: %v > %v", sz, MaxKeyLength)
|
||||
}
|
||||
|
@ -1391,12 +1417,10 @@ func pointKey(measurement string, tags Tags, fields Fields, t time.Time) ([]byte
|
|||
return key, nil
|
||||
}
|
||||
|
||||
func seriesKeySizeV1(key, field []byte) int {
|
||||
return len(key) + len("#!~#") + len(field)
|
||||
}
|
||||
|
||||
func seriesKeySizeV2(key, mm, field []byte) int {
|
||||
return len(mm) + len(",\xFF=") + len(field) + len(",\x00=") + len(key) + len("#!~#") + len(field)
|
||||
func seriesKeySize(key, field []byte) int {
|
||||
// 4 is the length of the tsm1.fieldKeySeparator constant. It's inlined here to avoid a circular
|
||||
// dependency.
|
||||
return len(key) + 4 + len(field)
|
||||
}
|
||||
|
||||
// NewPointFromBytes returns a new Point from a marshalled Point.
|
||||
|
@ -1565,12 +1589,10 @@ func walkTags(buf []byte, fn func(key, value []byte) bool) {
|
|||
|
||||
// walkFields walks each field key and value via fn. If fn returns false, the iteration
|
||||
// is stopped. The values are the raw byte slices and not the converted types.
|
||||
func walkFields(buf []byte, fn func(key, value, data []byte) bool) error {
|
||||
func walkFields(buf []byte, fn func(key, value []byte) bool) error {
|
||||
var i int
|
||||
var key, val []byte
|
||||
for len(buf) > 0 {
|
||||
data := buf
|
||||
|
||||
i, key = scanTo(buf, 0, '=')
|
||||
if i > len(buf)-2 {
|
||||
return fmt.Errorf("invalid value: field-key=%s", key)
|
||||
|
@ -1578,7 +1600,7 @@ func walkFields(buf []byte, fn func(key, value, data []byte) bool) error {
|
|||
buf = buf[i+1:]
|
||||
i, val = scanFieldValue(buf, 0)
|
||||
buf = buf[i:]
|
||||
if !fn(key, val, data[:len(data)-len(buf)]) {
|
||||
if !fn(key, val) {
|
||||
break
|
||||
}
|
||||
|
||||
|
@ -1630,7 +1652,7 @@ func MakeKey(name []byte, tags Tags) []byte {
|
|||
func AppendMakeKey(dst []byte, name []byte, tags Tags) []byte {
|
||||
// unescape the name and then re-escape it to avoid double escaping.
|
||||
// The key should always be stored in escaped form.
|
||||
dst = append(dst, EscapeMeasurement(UnescapeMeasurement(name))...)
|
||||
dst = append(dst, EscapeMeasurement(unescapeMeasurement(name))...)
|
||||
dst = tags.AppendHashKey(dst)
|
||||
return dst
|
||||
}
|
||||
|
@ -2569,3 +2591,12 @@ func ValidTagTokens(tags Tags) bool {
|
|||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// ValidKeyTokens returns true if the measurement name and all tags are valid.
|
||||
func ValidKeyTokens(name string, tags Tags) bool {
|
||||
if !ValidToken([]byte(name)) {
|
||||
return false
|
||||
}
|
||||
|
||||
return ValidTagTokens(tags)
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ package models
|
|||
import "testing"
|
||||
|
||||
func TestMarshalPointNoFields(t *testing.T) {
|
||||
points, err := ParsePointsString("m,k=v f=0i", "foo")
|
||||
points, err := ParsePointsString("m,k=v f=0i")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
|
|
@ -1,349 +0,0 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// Limits errors
|
||||
var (
|
||||
// ErrLimitMaxLinesExceeded is the error returned by ParsePointsWithOptions when
|
||||
// the number of lines in the source buffer exceeds the specified limit.
|
||||
ErrLimitMaxLinesExceeded = errors.New("points: number of lines exceeded")
|
||||
|
||||
// ErrLimitMaxValuesExceeded is the error returned by ParsePointsWithOptions when
|
||||
// the number of parsed values exceeds the specified limit.
|
||||
ErrLimitMaxValuesExceeded = errors.New("points: number of values exceeded")
|
||||
|
||||
// ErrLimitMaxBytesExceeded is the error returned by ParsePointsWithOptions when
|
||||
// the number of allocated bytes to parse the source buffer exceeds the specified limit.
|
||||
ErrLimitMaxBytesExceeded = errors.New("points: number of allocated bytes exceeded")
|
||||
|
||||
errLimit = errors.New("points: limit exceeded")
|
||||
)
|
||||
|
||||
type ParserStats struct {
|
||||
// BytesN reports the number of bytes allocated to parse the request.
|
||||
BytesN int
|
||||
}
|
||||
|
||||
type ParserOption func(*pointsParser)
|
||||
|
||||
// WithParserPrecision specifies the default precision for to use to truncate timestamps.
|
||||
func WithParserPrecision(precision string) ParserOption {
|
||||
return func(pp *pointsParser) {
|
||||
pp.precision = precision
|
||||
}
|
||||
}
|
||||
|
||||
// WithParserDefaultTime specifies the default time to assign to values when no timestamp is provided.
|
||||
func WithParserDefaultTime(t time.Time) ParserOption {
|
||||
return func(pp *pointsParser) {
|
||||
pp.defaultTime = t
|
||||
}
|
||||
}
|
||||
|
||||
// WithParserMaxBytes specifies the maximum number of bytes that may be allocated when processing a single request.
|
||||
func WithParserMaxBytes(n int) ParserOption {
|
||||
return func(pp *pointsParser) {
|
||||
pp.maxBytes = n
|
||||
}
|
||||
}
|
||||
|
||||
// WithParserMaxLines specifies the maximum number of lines that may be parsed when processing a single request.
|
||||
func WithParserMaxLines(n int) ParserOption {
|
||||
return func(pp *pointsParser) {
|
||||
pp.maxLines = n
|
||||
}
|
||||
}
|
||||
|
||||
// WithParserMaxValues specifies the maximum number of values that may be parsed when processing a single request.
|
||||
func WithParserMaxValues(n int) ParserOption {
|
||||
return func(pp *pointsParser) {
|
||||
pp.maxValues = n
|
||||
}
|
||||
}
|
||||
|
||||
// WithParserStats specifies that s will contain statistics about the parsed request.
|
||||
func WithParserStats(s *ParserStats) ParserOption {
|
||||
return func(pp *pointsParser) {
|
||||
pp.stats = s
|
||||
}
|
||||
}
|
||||
|
||||
type parserState int
|
||||
|
||||
const (
|
||||
parserStateOK parserState = iota
|
||||
parserStateBytesLimit
|
||||
parserStateValueLimit
|
||||
)
|
||||
|
||||
type pointsParser struct {
|
||||
maxLines int
|
||||
maxBytes int
|
||||
maxValues int
|
||||
bytesN int
|
||||
orgBucket []byte
|
||||
defaultTime time.Time // truncated time to assign to points which have no associated timestamp.
|
||||
precision string
|
||||
points []Point
|
||||
state parserState
|
||||
stats *ParserStats
|
||||
}
|
||||
|
||||
func newPointsParser(orgBucket []byte, opts ...ParserOption) *pointsParser {
|
||||
pp := &pointsParser{
|
||||
orgBucket: orgBucket,
|
||||
defaultTime: time.Now(),
|
||||
precision: "ns",
|
||||
state: parserStateOK,
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt(pp)
|
||||
}
|
||||
|
||||
// truncate the time based in the specified precision
|
||||
pp.defaultTime = truncateTimeWithPrecision(pp.defaultTime, pp.precision)
|
||||
|
||||
return pp
|
||||
}
|
||||
|
||||
func (pp *pointsParser) parsePoints(buf []byte) (err error) {
|
||||
lineCount := bytes.Count(buf, []byte{'\n'})
|
||||
if pp.maxLines > 0 && lineCount > pp.maxLines {
|
||||
return ErrLimitMaxLinesExceeded
|
||||
}
|
||||
|
||||
if !pp.checkAlloc(lineCount+1, int(unsafe.Sizeof(Point(nil)))) {
|
||||
return ErrLimitMaxBytesExceeded
|
||||
}
|
||||
|
||||
pp.points = make([]Point, 0, lineCount+1)
|
||||
|
||||
var (
|
||||
pos int
|
||||
block []byte
|
||||
failed []string
|
||||
)
|
||||
for pos < len(buf) && pp.state == parserStateOK {
|
||||
pos, block = scanLine(buf, pos)
|
||||
pos++
|
||||
|
||||
if len(block) == 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
// lines which start with '#' are comments
|
||||
start := skipWhitespace(block, 0)
|
||||
|
||||
// If line is all whitespace, just skip it
|
||||
if start >= len(block) {
|
||||
continue
|
||||
}
|
||||
|
||||
if block[start] == '#' {
|
||||
continue
|
||||
}
|
||||
|
||||
// strip the newline if one is present
|
||||
if lb := block[len(block)-1]; lb == '\n' || lb == '\r' {
|
||||
block = block[:len(block)-1]
|
||||
}
|
||||
|
||||
err = pp.parsePointsAppend(block[start:])
|
||||
if err != nil {
|
||||
if errors.Is(err, errLimit) {
|
||||
break
|
||||
}
|
||||
|
||||
if !pp.checkAlloc(1, len(block[start:])) {
|
||||
pp.state = parserStateBytesLimit
|
||||
break
|
||||
}
|
||||
|
||||
failed = append(failed, fmt.Sprintf("unable to parse '%s': %v", string(block[start:]), err))
|
||||
}
|
||||
}
|
||||
|
||||
if pp.stats != nil {
|
||||
pp.stats.BytesN = pp.bytesN
|
||||
}
|
||||
|
||||
if pp.state != parserStateOK {
|
||||
switch pp.state {
|
||||
case parserStateBytesLimit:
|
||||
return ErrLimitMaxBytesExceeded
|
||||
case parserStateValueLimit:
|
||||
return ErrLimitMaxValuesExceeded
|
||||
default:
|
||||
panic("unreachable")
|
||||
}
|
||||
}
|
||||
|
||||
if len(failed) > 0 {
|
||||
return fmt.Errorf("%s", strings.Join(failed, "\n"))
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (pp *pointsParser) parsePointsAppend(buf []byte) error {
|
||||
// scan the first block which is measurement[,tag1=value1,tag2=value=2...]
|
||||
pos, key, err := scanKey(buf, 0)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// measurement name is required
|
||||
if len(key) == 0 {
|
||||
return fmt.Errorf("missing measurement")
|
||||
}
|
||||
|
||||
if len(key) > MaxKeyLength {
|
||||
return fmt.Errorf("max key length exceeded: %v > %v", len(key), MaxKeyLength)
|
||||
}
|
||||
|
||||
// Since the measurement is converted to a tag and measurements & tags have
|
||||
// different escaping rules, we need to check if the measurement needs escaping.
|
||||
_, i, _ := scanMeasurement(key, 0)
|
||||
keyMeasurement := key[:i-1]
|
||||
if bytes.IndexByte(keyMeasurement, '=') != -1 {
|
||||
escapedKeyMeasurement := bytes.Replace(keyMeasurement, []byte("="), []byte(`\=`), -1)
|
||||
|
||||
sz := len(escapedKeyMeasurement) + (len(key) - len(keyMeasurement))
|
||||
if !pp.checkAlloc(1, sz) {
|
||||
return errLimit
|
||||
}
|
||||
newKey := make([]byte, sz)
|
||||
copy(newKey, escapedKeyMeasurement)
|
||||
copy(newKey[len(escapedKeyMeasurement):], key[len(keyMeasurement):])
|
||||
key = newKey
|
||||
}
|
||||
|
||||
// scan the second block is which is field1=value1[,field2=value2,...]
|
||||
// at least one field is required
|
||||
pos, fields, err := scanFields(buf, pos)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if len(fields) == 0 {
|
||||
return fmt.Errorf("missing fields")
|
||||
}
|
||||
|
||||
// scan the last block which is an optional integer timestamp
|
||||
pos, ts, err := scanTime(buf, pos)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Build point with timestamp only.
|
||||
pt := point{}
|
||||
|
||||
if len(ts) == 0 {
|
||||
pt.time = pp.defaultTime
|
||||
} else {
|
||||
ts, err := parseIntBytes(ts, 10, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
pt.time, err = SafeCalcTime(ts, pp.precision)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// Determine if there are illegal non-whitespace characters after the
|
||||
// timestamp block.
|
||||
for pos < len(buf) {
|
||||
if buf[pos] != ' ' {
|
||||
return ErrInvalidPoint
|
||||
}
|
||||
pos++
|
||||
}
|
||||
}
|
||||
|
||||
// Loop over fields and split points while validating field.
|
||||
var walkFieldsErr error
|
||||
if err := walkFields(fields, func(k, v, fieldBuf []byte) bool {
|
||||
var newKey []byte
|
||||
newKey, walkFieldsErr = pp.newV2Key(key, k)
|
||||
if walkFieldsErr != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
walkFieldsErr = pp.append(point{time: pt.time, key: newKey, fields: fieldBuf})
|
||||
return walkFieldsErr == nil
|
||||
}); err != nil {
|
||||
return err
|
||||
} else if walkFieldsErr != nil {
|
||||
return walkFieldsErr
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (pp *pointsParser) append(p point) error {
|
||||
if pp.maxValues > 0 && len(pp.points) > pp.maxValues {
|
||||
pp.state = parserStateValueLimit
|
||||
return errLimit
|
||||
}
|
||||
if !pp.checkAlloc(1, int(unsafe.Sizeof(p))) {
|
||||
return errLimit
|
||||
}
|
||||
pp.points = append(pp.points, &p)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (pp *pointsParser) checkAlloc(n, size int) bool {
|
||||
newBytes := pp.bytesN + (n * size)
|
||||
if pp.maxBytes > 0 && newBytes > pp.maxBytes {
|
||||
pp.state = parserStateBytesLimit
|
||||
return false
|
||||
}
|
||||
pp.bytesN = newBytes
|
||||
return true
|
||||
}
|
||||
|
||||
// newV2Key returns a new key by converting the old measurement & field into keys.
|
||||
func (pp *pointsParser) newV2Key(oldKey, field []byte) ([]byte, error) {
|
||||
mm := pp.orgBucket
|
||||
if sz := seriesKeySizeV2(oldKey, mm, field); sz > MaxKeyLength {
|
||||
return nil, fmt.Errorf("max key length exceeded: %v > %v", sz, MaxKeyLength)
|
||||
}
|
||||
|
||||
sz := len(mm) + 1 + len(MeasurementTagKey) + 1 + len(oldKey) + 1 + len(FieldKeyTagKey) + 1 + len(field)
|
||||
if !pp.checkAlloc(1, sz) {
|
||||
return nil, errLimit
|
||||
}
|
||||
newKey := make([]byte, sz)
|
||||
buf := newKey
|
||||
|
||||
copy(buf, mm)
|
||||
buf = buf[len(mm):]
|
||||
|
||||
buf[0], buf[1], buf[2], buf = ',', MeasurementTagKeyBytes[0], '=', buf[3:]
|
||||
copy(buf, oldKey)
|
||||
buf = buf[len(oldKey):]
|
||||
|
||||
buf[0], buf[1], buf[2], buf = ',', FieldKeyTagKeyBytes[0], '=', buf[3:]
|
||||
copy(buf, field)
|
||||
|
||||
return newKey, nil
|
||||
}
|
||||
|
||||
func truncateTimeWithPrecision(t time.Time, precision string) time.Time {
|
||||
switch precision {
|
||||
case "us":
|
||||
return t.Truncate(time.Microsecond)
|
||||
case "ms":
|
||||
return t.Truncate(time.Millisecond)
|
||||
case "s":
|
||||
return t.Truncate(time.Second)
|
||||
default:
|
||||
return t
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,554 +0,0 @@
|
|||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_redis_consecutive_successes=0 1578431517778522000
|
||||
prometheus,endpoint=/api/v2/query,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=500 http_query_request_bytes=19098 1578431517778528000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_redis_total_successes=0 1578431517778535000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_frees_total=148566386293 1578431517778535000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_heap_inuse_bytes=134979584 1578431517778536000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_mspan_sys_bytes=23150592 1578431517778538000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_kafka_write_total_failures=0 1578431517778538000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_stack_inuse_bytes=5144576 1578431517778539000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=2 1578431517778541000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=2 1578431517778543000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=1 1578431517778544000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=1 1578431517778545000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=1 1578431517778546000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=22 1578431517778549000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_requests_total=1 1578431517778550000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778553000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778554000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778555000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778556000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778557000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778558000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=569 1578431517778559000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_requests_total=17080 1578431517778561000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_requests_total=34165 1578431517778562000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_requests_total=68330 1578431517778563000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_requests_total=5 1578431517778564000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_requests_total=1499492 1578431517778564000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_requests_total=143641 1578431517778565000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_count=141578,storage_producer_node_request_duration_seconds_sum=201042.39155161564 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.001,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0015,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0022500000000000003,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0033750000000000004,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.005062500000000001,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0075937500000000015,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.011390625000000001,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.017085937500000002,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.025628906250000003,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.03844335937500001,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.057665039062500006,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.08649755859375001,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=0 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.129746337890625,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=3162 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.277ea440004d086e,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=12617 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.29192926025390625,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=21507 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.43789389038085935,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=30739 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.656840835571289,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=40151 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0f52079ffbaba445,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=53068 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.39025843efc762bb,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=71804 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2.30d0587a02d01d38,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=108711 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.3864f697e8d4ab0b,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=140717 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=4.987885095119475,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=141414 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=7.481827642679213,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=141503 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=11.222741464018819,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=141507 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=16.83411219602823,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=141526 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,le=+Inf,nodename=node1,role=gateway-internal,status=error storage_producer_node_request_duration_seconds_bucket=141578 1578431517778567000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_count=1501555,storage_producer_node_request_duration_seconds_sum=1188856.9056605487 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.001,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0015,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0022500000000000003,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0033750000000000004,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.005062500000000001,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0075937500000000015,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.011390625000000001,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.017085937500000002,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.025628906250000003,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.03844335937500001,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.057665039062500006,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.08649755859375001,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=0 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.129746337890625,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=22662 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.277ea440004d086e,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=170473 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.29192926025390625,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=360340 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.43789389038085935,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=559743 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.656840835571289,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=820196 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0f52079ffbaba445,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1175909 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.39025843efc762bb,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1351424 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2.30d0587a02d01d38,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1420019 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.3864f697e8d4ab0b,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1465150 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=4.987885095119475,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1493100 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=7.481827642679213,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1500952 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=11.222741464018819,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1501375 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=16.83411219602823,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1501491 1578431517778608000
|
||||
prometheus,env=toolsus1,hostname=host1,le=+Inf,nodename=node1,role=gateway-internal,status=ok storage_producer_node_request_duration_seconds_bucket=1501555 1578431517778608000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=40c69bd39226fa67,role=gateway-internal,status=204 http_write_request_count=39558 1578431517778638000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=40c69bd39226fa67,role=gateway-internal,status=500 http_write_request_count=9751 1578431517778639000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=204 http_write_request_count=1459934 1578431517778641000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=500 http_write_request_count=133890 1578431517778642000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_redis_consecutive_failures=0 1578431517778643000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_mallocs_total=148566627376 1578431517778643000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_stack_sys_bytes=5144576 1578431517778644000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_kafka_write_consecutive_successes=0 1578431517778644000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_heap_alloc_bytes=119636872 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_count=2063,storage_backup_firehose_request_duration_seconds_sum=1187.3129012100005 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.001,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=79 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0015,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=84 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0022500000000000003,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=86 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0033750000000000004,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=91 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.005062500000000001,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=93 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0075937500000000015,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=93 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.011390625000000001,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=93 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.017085937500000002,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=94 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.025628906250000003,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=95 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.03844335937500001,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=95 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.057665039062500006,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=97 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.08649755859375001,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=100 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.129746337890625,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=100 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.277ea440004d086e,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=100 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.29192926025390625,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=104 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.43789389038085935,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=580 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.656840835571289,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=1431 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0f52079ffbaba445,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=1977 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.39025843efc762bb,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2019 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2.30d0587a02d01d38,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.3864f697e8d4ab0b,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=4.987885095119475,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=7.481827642679213,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=11.222741464018819,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=16.83411219602823,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,le=+Inf,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_duration_seconds_bucket=2063 1578431517778645000
|
||||
prometheus,env=toolsus1,hostname=host1,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_count=1499492,storage_backup_firehose_request_duration_seconds_sum=81862.25789057177 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.001,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=0 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0015,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=0 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0022500000000000003,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=0 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0033750000000000004,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=0 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.005062500000000001,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=0 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0075937500000000015,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=2 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.011390625000000001,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=14237 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.017085937500000002,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=185830 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.025628906250000003,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=411651 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.03844335937500001,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=805604 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.057665039062500006,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1140106 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.08649755859375001,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1308659 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.129746337890625,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1402601 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.277ea440004d086e,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1449158 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.29192926025390625,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1478115 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.43789389038085935,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1490317 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.656840835571289,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1496059 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=0.0f52079ffbaba445,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1498355 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.39025843efc762bb,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499179 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2.30d0587a02d01d38,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499424 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.3864f697e8d4ab0b,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499475 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=4.987885095119475,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499491 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=7.481827642679213,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499492 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=11.222741464018819,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499492 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=16.83411219602823,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499492 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,le=+Inf,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_duration_seconds_bucket=1499492 1578431517778682000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_goroutines=252 1578431517778716000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_alloc_bytes=119636872 1578431517778716000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_mspan_inuse_bytes=1254528 1578431517778717000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,status=error storage_producer_node_requests_total=141578 1578431517778717000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,status=ok storage_producer_node_requests_total=1501555 1578431517778718000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_heap_sys_bytes=1538359296 1578431517778719000
|
||||
prometheus,endpoint=/api/v2/query,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=500 http_query_request_count=5 1578431517778720000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_buck_hash_sys_bytes=4219449 1578431517778721000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_gc_sys_bytes=59664384 1578431517778721000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=40c69bd39226fa67,role=gateway-internal,status=204 http_write_response_bytes=0 1578431517778723000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=40c69bd39226fa67,role=gateway-internal,status=500 http_write_response_bytes=1031089 1578431517778724000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=204 http_write_response_bytes=0 1578431517778725000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=500 http_write_response_bytes=15460253 1578431517778727000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_gc_duration_seconds_sum=3349.391384265,go_gc_duration_seconds_count=475295 1578431517778728000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,quantile=0,role=gateway-internal go_gc_duration_seconds=0.000016941 1578431517778728000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,quantile=0.25,role=gateway-internal go_gc_duration_seconds=0.000055612 1578431517778728000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,quantile=0.5,role=gateway-internal go_gc_duration_seconds=0.000138294 1578431517778728000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,quantile=0.75,role=gateway-internal go_gc_duration_seconds=0.000994865 1578431517778728000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,quantile=1,role=gateway-internal go_gc_duration_seconds=0.076084449 1578431517778728000
|
||||
prometheus,endpoint=/api/v2/query,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=500 http_query_response_bytes=340 1578431517778735000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=40c69bd39226fa67,role=gateway-internal,status=204 http_write_request_bytes=267959637 1578431517778736000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=40c69bd39226fa67,role=gateway-internal,status=500 http_write_request_bytes=850922009 1578431517778737000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=204 http_write_request_bytes=536340398235 1578431517778737000
|
||||
prometheus,endpoint=/api/v2/write,env=toolsus1,hostname=host1,nodename=node1,org_id=332e4ccb1c0d7943,role=gateway-internal,status=500 http_write_request_bytes=80176295201 1578431517778739000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_sum=919.3827050980769,auth_prometheus_request_duration_seconds_count=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.001,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1606623 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.0015,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1613702 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.0022500000000000003,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1618370 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.0033750000000000004,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1622331 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.005062500000000001,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1626334 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.0075937500000000015,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1630070 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.011390625000000001,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1633208 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.017085937500000002,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1635693 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.025628906250000003,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1637696 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.03844335937500001,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1639178 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.057665039062500006,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1640358 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.08649755859375001,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1641226 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.129746337890625,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1641864 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.277ea440004d086e,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1642312 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.29192926025390625,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1642645 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.43789389038085935,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1642901 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.656840835571289,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643045 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=0.0f52079ffbaba445,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643109 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=1.39025843efc762bb,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643127 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=2.30d0587a02d01d38,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=3.3864f697e8d4ab0b,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=4.987885095119475,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=7.481827642679213,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=11.222741464018819,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=16.83411219602823,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,le=+Inf,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_request_duration_seconds_bucket=1643133 1578431517778741000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_kafka_write_total_successes=0 1578431517778773000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_lookups_total=0 1578431517778775000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,status=error storage_producer_node_values_total=793441442 1578431517778775000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,status=ok storage_producer_node_values_total=4795395785 1578431517778776000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_mcache_inuse_bytes=27776 1578431517778776000
|
||||
prometheus,env=toolsus1,hostname=host1,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_count=2063,storage_backup_firehose_request_bytes_sum=151485142 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.75,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.0625,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=5.359375,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=9.37890625,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=16.4130859375,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=28.722900390625,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=50.26507568359375,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=87.96388244628906,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=153.93679428100586,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=269.38938999176025,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=0 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=471.43143248558044,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=45 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=825.0050068497658,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=77 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1443.75876198709,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=85 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2526.5778334774077,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=99 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=4421.5112085854635,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=102 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=7737.644615024561,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=109 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=13540.878076292982,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=264 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=23696.53663351272,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=801 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=41468.93910864726,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=983 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=72570.6434401327,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=1282 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=126998.62602023222,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=1577 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=222247.59553540638,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2021 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=388933.29218696116,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2026 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=680633.2613271821,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.1911082073225686e+06,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2.1777f6e4feb2ea86+06,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.6477688849253664e+06,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=6.3b589ca9a39b4eee+06,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.1171292210083935e+07,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.9549761367646888e+07,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.2fcf160832c9145b+07,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=5.98711441884186e+07,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.0477450232973254e+08,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.8335537907703194e+08,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,le=+Inf,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_request_bytes_bucket=2063 1578431517778777000
|
||||
prometheus,env=toolsus1,hostname=host1,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_count=1499492,storage_backup_firehose_request_bytes_sum=71314743155 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.75,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.0625,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=5.359375,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=9.37890625,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=16.4130859375,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=28.722900390625,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=50.26507568359375,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=87.96388244628906,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=153.93679428100586,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=0 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=269.38938999176025,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=7 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=471.43143248558044,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=9309 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=825.0050068497658,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=16030 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1443.75876198709,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=93295 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2526.5778334774077,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=135980 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=4421.5112085854635,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=194000 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=7737.644615024561,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=244271 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=13540.878076292982,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=416897 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=23696.53663351272,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=679904 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=41468.93910864726,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=851773 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=72570.6434401327,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1147159 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=126998.62602023222,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1353875 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=222247.59553540638,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1497154 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=388933.29218696116,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499466 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=680633.2613271821,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.1911082073225686e+06,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=2.1777f6e4feb2ea86+06,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.6477688849253664e+06,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=6.3b589ca9a39b4eee+06,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.1171292210083935e+07,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.9549761367646888e+07,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=3.2fcf160832c9145b+07,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=5.98711441884186e+07,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.0477450232973254e+08,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=1.8335537907703194e+08,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,le=+Inf,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_request_bytes_bucket=1499492 1578431517778821000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal,version=go1.12.14 go_info=1 1578431517778868000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_alloc_bytes_total=44851926126768 1578431517778869000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_heap_objects=241083 1578431517778869000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_last_gc_time_seconds=1578417663.9609165 1578431517778870000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_other_sys_bytes=6473663 1578431517778871000
|
||||
prometheus,env=toolsus1,error=false,hostname=host1,method=FindAuthorizationByToken,nodename=node1,role=gateway-internal auth_prometheus_requests_total=1643133 1578431517778872000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_kafka_write_requests=0 1578431517778872000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_mcache_sys_bytes=32768 1578431517778873000
|
||||
prometheus,env=toolsus1,hostname=host1,msg=write,nodename=node1,role=gateway-internal,status=error storage_backup_firehose_requests_total=2063 1578431517778873000
|
||||
prometheus,env=toolsus1,hostname=host1,msg=write,nodename=node1,role=gateway-internal,status=ok storage_backup_firehose_requests_total=1499492 1578431517778874000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_threads=41 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_count=2,http_api_request_duration_seconds_sum=0.00017243 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778875000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_sum=0.015926886,http_api_request_duration_seconds_count=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2/dashboards,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=2 1578431517778895000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_count=1,http_api_request_duration_seconds_sum=0.013298411 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/68f629c9e1766828/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778915000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_count=1,http_api_request_duration_seconds_sum=0.034666319 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2/dashboards/3f7cfe811c58e9bc/cells/6de7b64431004afd/view,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778931000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_count=1,http_api_request_duration_seconds_sum=0.011593125 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2/labels,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517778949000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_sum=0.412263942,http_api_request_duration_seconds_count=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=3 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=18 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=20 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=21 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=21 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=21 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2/me,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=22 1578431517778988000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_count=1,http_api_request_duration_seconds_sum=0.000062196 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/api/v2/setup,role=gateway-internal,status=2XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779019000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=62.762816807000014 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=24 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=414 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=482 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=523 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=543 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=558 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=568 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/allocs,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779036000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=6.49957022300001 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=446 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=501 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=527 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=542 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=559 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=565 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=567 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/block,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779055000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=29.609671701999982 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=300 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=414 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=479 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=501 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=523 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=546 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=551 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=563 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/goroutine,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779072000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=62.90559356000006 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=31 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=412 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=484 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=527 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=542 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=558 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=567 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/heap,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779092000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=6.235567286000004 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=444 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=504 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=538 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=544 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=558 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=562 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=568 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/mutex,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779108000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=17129.434994090017 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=0 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/profile,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779129000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=569,http_api_request_duration_seconds_sum=7.0344016 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=435 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=493 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=532 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=547 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=558 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=565 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=567 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=568 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/debug/pprof/threadcreate,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=569 1578431517779145000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_count=17080,http_api_request_duration_seconds_sum=107.89479148400041 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=14892 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=16117 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=16670 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=16845 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=16944 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17049 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17068 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17080 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17080 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17080 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17080 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/health,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=17080 1578431517779163000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_count=34165,http_api_request_duration_seconds_sum=442.01653550500083 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=20433 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=28136 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=32252 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=33182 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=33562 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=33868 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=34038 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=34141 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=34165 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=34165 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=34165 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/metrics,role=gateway-internal,status=2XX,user_agent=Go-http-client http_api_request_duration_seconds_bucket=34165 1578431517779180000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_count=68330,http_api_request_duration_seconds_sum=6.938958378999966 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68262 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68278 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68292 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68310 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68315 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68324 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68329 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68330 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68330 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68330 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68330 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=GET,nodename=node1,path=/ready,role=gateway-internal,status=2XX,user_agent=kube-probe http_api_request_duration_seconds_bucket=68330 1578431517779197000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_count=5,http_api_request_duration_seconds_sum=198.594680122 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=0 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=1 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=POST,nodename=node1,path=/api/v2/query,role=gateway-internal,status=5XX,user_agent=Chrome http_api_request_duration_seconds_bucket=5 1578431517779213000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_count=1499492,http_api_request_duration_seconds_sum=1597291.4117566838 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=123231 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=456270 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=983538 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=1375813 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=1472021 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=1499185 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=2XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=1499492 1578431517779237000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_count=143641,http_api_request_duration_seconds_sum=237157.3812770574 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.005,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.01,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.025,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.05,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=0 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.25,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=14335 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=0.5,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=28882 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=1,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=45498 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=2.5,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=109858 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=5,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=143159 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=10,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=143564 1578431517779255000
|
||||
prometheus,env=toolsus1,handler=gateway,hostname=host1,le=+Inf,method=POST,nodename=node1,path=/api/v2/write,role=gateway-internal,status=5XX,user_agent=Telegraf http_api_request_duration_seconds_bucket=143641 1578431517779255000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_gc_cpu_fraction=0.030752107927046763 1578431517779273000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_heap_released_bytes=774291456 1578431517779274000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_next_gc_bytes=140163248 1578431517779274000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_sys_bytes=1637044728 1578431517779275000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_kafka_write_consecutive_failures=0 1578431517779275000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_redis_requests=0 1578431517779275000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal circuitbreaker_redis_total_failures=0 1578431517779276000
|
||||
prometheus,env=toolsus1,hostname=host1,nodename=node1,role=gateway-internal go_memstats_heap_idle_bytes=1403379712 1578431517779276000
|
|
@ -4,7 +4,7 @@ import (
|
|||
"container/heap"
|
||||
"math"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
type mergedSeriesGenerator struct {
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"math"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
type SeriesGenerator interface {
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
"unicode/utf8"
|
||||
|
||||
"github.com/BurntSushi/toml"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
|
||||
"github.com/BurntSushi/toml"
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
func countableSequenceFnCmp(a, b NewCountableSequenceFn) bool {
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"math/rand"
|
||||
"sort"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
type TagsSequence interface {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
package gen
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package gen
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
||||
|
|
|
@ -12,10 +12,10 @@ import (
|
|||
"github.com/influxdata/flux/semantic"
|
||||
"github.com/influxdata/flux/stdlib/experimental"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/query"
|
||||
"github.com/influxdata/influxdb/v2/query/stdlib/influxdata/influxdb"
|
||||
"github.com/influxdata/influxdb/v2/storage"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
// ToKind is the kind for the `to` flux function
|
||||
|
|
|
@ -15,11 +15,11 @@ import (
|
|||
"github.com/influxdata/flux/stdlib/universe"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/mock"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
_ "github.com/influxdata/influxdb/v2/query/builtin"
|
||||
pquerytest "github.com/influxdata/influxdb/v2/query/querytest"
|
||||
"github.com/influxdata/influxdb/v2/query/stdlib/experimental"
|
||||
"github.com/influxdata/influxdb/v2/query/stdlib/influxdata/influxdb"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
func TestTo_Query(t *testing.T) {
|
||||
|
|
|
@ -19,9 +19,9 @@ import (
|
|||
"github.com/influxdata/flux/values"
|
||||
platform "github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/kit/tracing"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/query"
|
||||
"github.com/influxdata/influxdb/v2/storage"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
// ToKind is the kind for the `to` flux function
|
||||
|
|
|
@ -21,7 +21,6 @@ import (
|
|||
_ "github.com/influxdata/influxdb/v2/query/builtin"
|
||||
pquerytest "github.com/influxdata/influxdb/v2/query/querytest"
|
||||
"github.com/influxdata/influxdb/v2/query/stdlib/influxdata/influxdb"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
||||
func TestTo_Query(t *testing.T) {
|
||||
|
@ -133,8 +132,6 @@ func TestToOpSpec_BucketsAccessed(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestTo_Process(t *testing.T) {
|
||||
oid, _ := mock.OrganizationLookup{}.Lookup(context.Background(), "my-org")
|
||||
bid, _ := mock.BucketLookup{}.Lookup(context.Background(), oid, "my-bucket")
|
||||
type wanted struct {
|
||||
result *mock.PointsWriter
|
||||
tables []*executetest.Table
|
||||
|
@ -174,7 +171,7 @@ func TestTo_Process(t *testing.T) {
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a _value=2 11
|
||||
Points: mockPoints(`a _value=2 11
|
||||
a _value=2 21
|
||||
b _value=1 21
|
||||
a _value=3 31
|
||||
|
@ -249,7 +246,7 @@ c _value=4 41`),
|
|||
},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a,tag1=a,tag2=aa _value=2 11
|
||||
Points: mockPoints(`a,tag1=a,tag2=aa _value=2 11
|
||||
a,tag1=a,tag2=bb _value=2 21
|
||||
a,tag1=b,tag2=cc _value=1 21
|
||||
a,tag1=a,tag2=dd _value=3 31
|
||||
|
@ -328,7 +325,7 @@ b,tagA=c,tagB=ee,tagC=jj _value=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a,tag2=aa _value=2 11
|
||||
Points: mockPoints(`a,tag2=aa _value=2 11
|
||||
a,tag2=bb _value=2 21
|
||||
b,tag2=cc _value=1 21
|
||||
a,tag2=dd _value=3 31
|
||||
|
@ -382,7 +379,7 @@ c,tag2=ee _value=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `m,tag1=a,tag2=aa _value=2 11
|
||||
Points: mockPoints(`m,tag1=a,tag2=aa _value=2 11
|
||||
m,tag1=a,tag2=bb _value=2 21
|
||||
m,tag1=b,tag2=cc _value=1 21
|
||||
m,tag1=a,tag2=dd _value=3 31
|
||||
|
@ -458,7 +455,7 @@ m,tag1=c,tag2=ee _value=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a temperature=2 11
|
||||
Points: mockPoints(`a temperature=2 11
|
||||
a temperature=2 21
|
||||
b temperature=1 21
|
||||
a temperature=3 31
|
||||
|
@ -561,7 +558,7 @@ c temperature=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a day="Monday",humidity=1,ratio=2,temperature=2 11
|
||||
Points: mockPoints(`a day="Monday",humidity=1,ratio=2,temperature=2 11
|
||||
a day="Tuesday",humidity=2,ratio=1,temperature=2 21
|
||||
b day="Wednesday",humidity=4,ratio=0.25,temperature=1 21
|
||||
a day="Thursday",humidity=3,ratio=1,temperature=3 31
|
||||
|
@ -650,7 +647,7 @@ c day="Friday",humidity=5,ratio=0.8,temperature=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a,tag2=d humidity=50i,temperature=2 11
|
||||
Points: mockPoints(`a,tag2=d humidity=50i,temperature=2 11
|
||||
a,tag2=d humidity=50i,temperature=2 21
|
||||
b,tag2=d humidity=50i,temperature=1 21
|
||||
a,tag2=e humidity=60i,temperature=3 31
|
||||
|
@ -707,7 +704,7 @@ c,tag2=e humidity=65i,temperature=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `a _value=2 11
|
||||
Points: mockPoints(`a _value=2 11
|
||||
a _value=2 21
|
||||
b _value=1 21
|
||||
a _hello=3 31
|
||||
|
@ -762,7 +759,7 @@ c _hello=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `m,tag1=a,tag2=aa _value=2 11
|
||||
Points: mockPoints(`m,tag1=a,tag2=aa _value=2 11
|
||||
m,tag1=a,tag2=bb _value=2 21
|
||||
m,tag1=b,tag2=cc _value=1 21
|
||||
m,tag1=a,tag2=dd _value=3 31
|
||||
|
@ -817,7 +814,7 @@ m,tag1=c,tag2=ee _value=4 41`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `m,tag1=a,tag2=aa _value=2 11
|
||||
Points: mockPoints(`m,tag1=a,tag2=aa _value=2 11
|
||||
m,tag1=a,tag2=bb _value=2 21
|
||||
m,tag1=b,tag2=cc _value=1 21
|
||||
m,tag1=a,tag2=dd _value=3 31`),
|
||||
|
@ -870,7 +867,7 @@ m,tag1=a,tag2=dd _value=3 31`),
|
|||
})},
|
||||
want: wanted{
|
||||
result: &mock.PointsWriter{
|
||||
Points: mockPoints(oid, bid, `m,tag1=a,tag2=aa _value=2 11
|
||||
Points: mockPoints(`m,tag1=a,tag2=aa _value=2 11
|
||||
m,tag1=a,tag2=bb _value=2 21
|
||||
m,tag1=b,tag2=cc _value=1 21
|
||||
m,tag1=a,tag2=dd _value=3 31
|
||||
|
@ -951,9 +948,8 @@ func pointsToStr(points []models.Point) string {
|
|||
return outStr
|
||||
}
|
||||
|
||||
func mockPoints(org, bucket platform.ID, pointdata string) []models.Point {
|
||||
name := tsdb.EncodeName(org, bucket)
|
||||
points, err := models.ParsePoints([]byte(pointdata), name[:])
|
||||
func mockPoints(pointdata string) []models.Point {
|
||||
points, err := models.ParsePoints([]byte(pointdata))
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/kit/tracing"
|
||||
"github.com/influxdata/influxdb/v2/logger"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/coordinator"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/pkg/errors"
|
||||
|
|
|
@ -5,8 +5,8 @@ import (
|
|||
|
||||
"github.com/influxdata/flux/ast"
|
||||
"github.com/influxdata/flux/semantic"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ import (
|
|||
"github.com/influxdata/flux/execute"
|
||||
"github.com/influxdata/flux/memory"
|
||||
"github.com/influxdata/flux/values"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/query/stdlib/influxdata/influxdb"
|
||||
storage "github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ import (
|
|||
"github.com/influxdata/flux/execute"
|
||||
"github.com/influxdata/flux/memory"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
storage "github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ import (
|
|||
"github.com/influxdata/flux/memory"
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
storage "github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
{{range .}}
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
"github.com/influxdata/flux/arrow"
|
||||
"github.com/influxdata/flux/execute"
|
||||
"github.com/influxdata/flux/memory"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
type table struct {
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
// PointsWriter describes the ability to write points into a storage engine.
|
||||
|
|
|
@ -7,8 +7,8 @@ import (
|
|||
"math"
|
||||
"sort"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -7,10 +7,10 @@ import (
|
|||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/data/gen"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
func TestNewGroupResultSet_Sorting(t *testing.T) {
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"bytes"
|
||||
"strings"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
// tagsKeyMerger is responsible for determining a merged set of tag keys
|
||||
|
|
|
@ -7,7 +7,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
func TestKeyMerger_MergeTagKeys(t *testing.T) {
|
||||
|
|
|
@ -4,8 +4,8 @@ import (
|
|||
"context"
|
||||
"math"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"io"
|
||||
"strconv"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package reads
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
|
|
@ -4,8 +4,8 @@ import (
|
|||
"context"
|
||||
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ import (
|
|||
"io"
|
||||
"strings"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package reads
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
type tagsBuffer struct {
|
||||
|
|
|
@ -8,8 +8,8 @@ import (
|
|||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
influxdb "github.com/influxdata/influxdb/v2/v1"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"go.uber.org/zap"
|
||||
|
|
|
@ -8,9 +8,9 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
influxdb "github.com/influxdata/influxdb/v2/v1"
|
||||
"github.com/influxdata/influxdb/v2/v1/coordinator"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
|
|
@ -12,10 +12,10 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/tracing"
|
||||
"github.com/influxdata/influxdb/v2/pkg/tracing/fields"
|
||||
influxdb "github.com/influxdata/influxdb/v2/v1"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/monitor"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
|
|
|
@ -15,9 +15,9 @@ import (
|
|||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/logger"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/coordinator"
|
||||
"github.com/influxdata/influxdb/v2/v1/internal"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package internal
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
package models // import "github.com/influxdata/influxdb/v2/v1/models"
|
||||
|
||||
// from stdlib hash/fnv/fnv.go
|
||||
const (
|
||||
prime64 = 1099511628211
|
||||
offset64 = 14695981039346656037
|
||||
)
|
||||
|
||||
// InlineFNV64a is an alloc-free port of the standard library's fnv64a.
|
||||
// See https://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function.
|
||||
type InlineFNV64a uint64
|
||||
|
||||
// NewInlineFNV64a returns a new instance of InlineFNV64a.
|
||||
func NewInlineFNV64a() InlineFNV64a {
|
||||
return offset64
|
||||
}
|
||||
|
||||
// Write adds data to the running hash.
|
||||
func (s *InlineFNV64a) Write(data []byte) (int, error) {
|
||||
hash := uint64(*s)
|
||||
for _, c := range data {
|
||||
hash ^= uint64(c)
|
||||
hash *= prime64
|
||||
}
|
||||
*s = InlineFNV64a(hash)
|
||||
return len(data), nil
|
||||
}
|
||||
|
||||
// Sum64 returns the uint64 of the current resulting hash.
|
||||
func (s *InlineFNV64a) Sum64() uint64 {
|
||||
return uint64(*s)
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
package models_test
|
||||
|
||||
import (
|
||||
"hash/fnv"
|
||||
"testing"
|
||||
"testing/quick"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
func TestInlineFNV64aEquivalenceFuzz(t *testing.T) {
|
||||
f := func(data []byte) bool {
|
||||
stdlibFNV := fnv.New64a()
|
||||
stdlibFNV.Write(data)
|
||||
want := stdlibFNV.Sum64()
|
||||
|
||||
inlineFNV := models.NewInlineFNV64a()
|
||||
inlineFNV.Write(data)
|
||||
got := inlineFNV.Sum64()
|
||||
|
||||
return want == got
|
||||
}
|
||||
cfg := &quick.Config{
|
||||
MaxCount: 10000,
|
||||
}
|
||||
if err := quick.Check(f, cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
package models // import "github.com/influxdata/influxdb/v2/v1/models"
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"strconv"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
// parseIntBytes is a zero-alloc wrapper around strconv.ParseInt.
|
||||
func parseIntBytes(b []byte, base int, bitSize int) (i int64, err error) {
|
||||
s := unsafeBytesToString(b)
|
||||
return strconv.ParseInt(s, base, bitSize)
|
||||
}
|
||||
|
||||
// parseUintBytes is a zero-alloc wrapper around strconv.ParseUint.
|
||||
func parseUintBytes(b []byte, base int, bitSize int) (i uint64, err error) {
|
||||
s := unsafeBytesToString(b)
|
||||
return strconv.ParseUint(s, base, bitSize)
|
||||
}
|
||||
|
||||
// parseFloatBytes is a zero-alloc wrapper around strconv.ParseFloat.
|
||||
func parseFloatBytes(b []byte, bitSize int) (float64, error) {
|
||||
s := unsafeBytesToString(b)
|
||||
return strconv.ParseFloat(s, bitSize)
|
||||
}
|
||||
|
||||
// parseBoolBytes is a zero-alloc wrapper around strconv.ParseBool.
|
||||
func parseBoolBytes(b []byte) (bool, error) {
|
||||
return strconv.ParseBool(unsafeBytesToString(b))
|
||||
}
|
||||
|
||||
// unsafeBytesToString converts a []byte to a string without a heap allocation.
|
||||
//
|
||||
// It is unsafe, and is intended to prepare input to short-lived functions
|
||||
// that require strings.
|
||||
func unsafeBytesToString(in []byte) string {
|
||||
src := *(*reflect.SliceHeader)(unsafe.Pointer(&in))
|
||||
dst := reflect.StringHeader{
|
||||
Data: src.Data,
|
||||
Len: src.Len,
|
||||
}
|
||||
s := *(*string)(unsafe.Pointer(&dst))
|
||||
return s
|
||||
}
|
|
@ -1,103 +0,0 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"testing"
|
||||
"testing/quick"
|
||||
)
|
||||
|
||||
func TestParseIntBytesEquivalenceFuzz(t *testing.T) {
|
||||
f := func(b []byte, base int, bitSize int) bool {
|
||||
exp, expErr := strconv.ParseInt(string(b), base, bitSize)
|
||||
got, gotErr := parseIntBytes(b, base, bitSize)
|
||||
|
||||
return exp == got && checkErrs(expErr, gotErr)
|
||||
}
|
||||
|
||||
cfg := &quick.Config{
|
||||
MaxCount: 10000,
|
||||
}
|
||||
|
||||
if err := quick.Check(f, cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseIntBytesValid64bitBase10EquivalenceFuzz(t *testing.T) {
|
||||
buf := []byte{}
|
||||
f := func(n int64) bool {
|
||||
buf = strconv.AppendInt(buf[:0], n, 10)
|
||||
|
||||
exp, expErr := strconv.ParseInt(string(buf), 10, 64)
|
||||
got, gotErr := parseIntBytes(buf, 10, 64)
|
||||
|
||||
return exp == got && checkErrs(expErr, gotErr)
|
||||
}
|
||||
|
||||
cfg := &quick.Config{
|
||||
MaxCount: 10000,
|
||||
}
|
||||
|
||||
if err := quick.Check(f, cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseFloatBytesEquivalenceFuzz(t *testing.T) {
|
||||
f := func(b []byte, bitSize int) bool {
|
||||
exp, expErr := strconv.ParseFloat(string(b), bitSize)
|
||||
got, gotErr := parseFloatBytes(b, bitSize)
|
||||
|
||||
return exp == got && checkErrs(expErr, gotErr)
|
||||
}
|
||||
|
||||
cfg := &quick.Config{
|
||||
MaxCount: 10000,
|
||||
}
|
||||
|
||||
if err := quick.Check(f, cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseFloatBytesValid64bitEquivalenceFuzz(t *testing.T) {
|
||||
buf := []byte{}
|
||||
f := func(n float64) bool {
|
||||
buf = strconv.AppendFloat(buf[:0], n, 'f', -1, 64)
|
||||
|
||||
exp, expErr := strconv.ParseFloat(string(buf), 64)
|
||||
got, gotErr := parseFloatBytes(buf, 64)
|
||||
|
||||
return exp == got && checkErrs(expErr, gotErr)
|
||||
}
|
||||
|
||||
cfg := &quick.Config{
|
||||
MaxCount: 10000,
|
||||
}
|
||||
|
||||
if err := quick.Check(f, cfg); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestParseBoolBytesEquivalence(t *testing.T) {
|
||||
var buf []byte
|
||||
for _, s := range []string{"1", "t", "T", "TRUE", "true", "True", "0", "f", "F", "FALSE", "false", "False", "fail", "TrUe", "FAlSE", "numbers", ""} {
|
||||
buf = append(buf[:0], s...)
|
||||
|
||||
exp, expErr := strconv.ParseBool(s)
|
||||
got, gotErr := parseBoolBytes(buf)
|
||||
|
||||
if got != exp || !checkErrs(expErr, gotErr) {
|
||||
t.Errorf("Failed to parse boolean value %q correctly: wanted (%t, %v), got (%t, %v)", s, exp, expErr, got, gotErr)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func checkErrs(a, b error) bool {
|
||||
if (a == nil) != (b == nil) {
|
||||
return false
|
||||
}
|
||||
|
||||
return a == nil || a.Error() == b.Error()
|
||||
}
|
2552
v1/models/points.go
2552
v1/models/points.go
File diff suppressed because it is too large
Load Diff
|
@ -1,17 +0,0 @@
|
|||
package models
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestMarshalPointNoFields(t *testing.T) {
|
||||
points, err := ParsePointsString("m,k=v f=0i")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// It's unclear how this can ever happen, but we've observed points that were marshalled without any fields.
|
||||
points[0].(*point).fields = []byte{}
|
||||
|
||||
if _, err := points[0].MarshalBinary(); err != ErrPointMustHaveAField {
|
||||
t.Fatalf("got error %v, exp %v", err, ErrPointMustHaveAField)
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,62 +0,0 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"sort"
|
||||
)
|
||||
|
||||
// Row represents a single row returned from the execution of a statement.
|
||||
type Row struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Tags map[string]string `json:"tags,omitempty"`
|
||||
Columns []string `json:"columns,omitempty"`
|
||||
Values [][]interface{} `json:"values,omitempty"`
|
||||
Partial bool `json:"partial,omitempty"`
|
||||
}
|
||||
|
||||
// SameSeries returns true if r contains values for the same series as o.
|
||||
func (r *Row) SameSeries(o *Row) bool {
|
||||
return r.tagsHash() == o.tagsHash() && r.Name == o.Name
|
||||
}
|
||||
|
||||
// tagsHash returns a hash of tag key/value pairs.
|
||||
func (r *Row) tagsHash() uint64 {
|
||||
h := NewInlineFNV64a()
|
||||
keys := r.tagsKeys()
|
||||
for _, k := range keys {
|
||||
h.Write([]byte(k))
|
||||
h.Write([]byte(r.Tags[k]))
|
||||
}
|
||||
return h.Sum64()
|
||||
}
|
||||
|
||||
// tagKeys returns a sorted list of tag keys.
|
||||
func (r *Row) tagsKeys() []string {
|
||||
a := make([]string, 0, len(r.Tags))
|
||||
for k := range r.Tags {
|
||||
a = append(a, k)
|
||||
}
|
||||
sort.Strings(a)
|
||||
return a
|
||||
}
|
||||
|
||||
// Rows represents a collection of rows. Rows implements sort.Interface.
|
||||
type Rows []*Row
|
||||
|
||||
// Len implements sort.Interface.
|
||||
func (p Rows) Len() int { return len(p) }
|
||||
|
||||
// Less implements sort.Interface.
|
||||
func (p Rows) Less(i, j int) bool {
|
||||
// Sort by name first.
|
||||
if p[i].Name != p[j].Name {
|
||||
return p[i].Name < p[j].Name
|
||||
}
|
||||
|
||||
// Sort by tag set hash. Tags don't have a meaningful sort order so we
|
||||
// just compute a hash and sort by that instead. This allows the tests
|
||||
// to receive rows in a predictable order every time.
|
||||
return p[i].tagsHash() < p[j].tagsHash()
|
||||
}
|
||||
|
||||
// Swap implements sort.Interface.
|
||||
func (p Rows) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
|
|
@ -1,42 +0,0 @@
|
|||
package models
|
||||
|
||||
// Statistic is the representation of a statistic used by the monitoring service.
|
||||
type Statistic struct {
|
||||
Name string `json:"name"`
|
||||
Tags map[string]string `json:"tags"`
|
||||
Values map[string]interface{} `json:"values"`
|
||||
}
|
||||
|
||||
// NewStatistic returns an initialized Statistic.
|
||||
func NewStatistic(name string) Statistic {
|
||||
return Statistic{
|
||||
Name: name,
|
||||
Tags: make(map[string]string),
|
||||
Values: make(map[string]interface{}),
|
||||
}
|
||||
}
|
||||
|
||||
// StatisticTags is a map that can be merged with others without causing
|
||||
// mutations to either map.
|
||||
type StatisticTags map[string]string
|
||||
|
||||
// Merge creates a new map containing the merged contents of tags and t.
|
||||
// If both tags and the receiver map contain the same key, the value in tags
|
||||
// is used in the resulting map.
|
||||
//
|
||||
// Merge always returns a usable map.
|
||||
func (t StatisticTags) Merge(tags map[string]string) map[string]string {
|
||||
// Add everything in tags to the result.
|
||||
out := make(map[string]string, len(tags))
|
||||
for k, v := range tags {
|
||||
out[k] = v
|
||||
}
|
||||
|
||||
// Only add values from t that don't appear in tags.
|
||||
for k, v := range t {
|
||||
if _, ok := tags[k]; !ok {
|
||||
out[k] = v
|
||||
}
|
||||
}
|
||||
return out
|
||||
}
|
|
@ -1,55 +0,0 @@
|
|||
package models_test
|
||||
|
||||
import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
func TestTags_Merge(t *testing.T) {
|
||||
examples := []struct {
|
||||
Base map[string]string
|
||||
Arg map[string]string
|
||||
Result map[string]string
|
||||
}{
|
||||
{
|
||||
Base: nil,
|
||||
Arg: nil,
|
||||
Result: map[string]string{},
|
||||
},
|
||||
{
|
||||
Base: nil,
|
||||
Arg: map[string]string{"foo": "foo"},
|
||||
Result: map[string]string{"foo": "foo"},
|
||||
},
|
||||
{
|
||||
Base: map[string]string{"foo": "foo"},
|
||||
Arg: nil,
|
||||
Result: map[string]string{"foo": "foo"},
|
||||
},
|
||||
{
|
||||
Base: map[string]string{"foo": "foo"},
|
||||
Arg: map[string]string{"bar": "bar"},
|
||||
Result: map[string]string{"foo": "foo", "bar": "bar"},
|
||||
},
|
||||
{
|
||||
Base: map[string]string{"foo": "foo", "bar": "bar"},
|
||||
Arg: map[string]string{"zoo": "zoo"},
|
||||
Result: map[string]string{"foo": "foo", "bar": "bar", "zoo": "zoo"},
|
||||
},
|
||||
{
|
||||
Base: map[string]string{"foo": "foo", "bar": "bar"},
|
||||
Arg: map[string]string{"bar": "newbar"},
|
||||
Result: map[string]string{"foo": "foo", "bar": "newbar"},
|
||||
},
|
||||
}
|
||||
|
||||
for i, example := range examples {
|
||||
i++
|
||||
result := models.StatisticTags(example.Base).Merge(example.Arg)
|
||||
if got, exp := result, example.Result; !reflect.DeepEqual(got, exp) {
|
||||
t.Errorf("[Example %d] got %#v, expected %#v", i, got, exp)
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,156 +0,0 @@
|
|||
package models
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// TagKeysSet provides set operations for combining Tags.
|
||||
type TagKeysSet struct {
|
||||
i int
|
||||
keys [2][][]byte
|
||||
tmp [][]byte
|
||||
}
|
||||
|
||||
// Clear removes all the elements of TagKeysSet and ensures all internal
|
||||
// buffers are reset.
|
||||
func (set *TagKeysSet) Clear() {
|
||||
set.clear(set.keys[0])
|
||||
set.clear(set.keys[1])
|
||||
set.clear(set.tmp)
|
||||
set.i = 0
|
||||
set.keys[0] = set.keys[0][:0]
|
||||
}
|
||||
|
||||
func (set *TagKeysSet) clear(b [][]byte) {
|
||||
b = b[:cap(b)]
|
||||
for i := range b {
|
||||
b[i] = nil
|
||||
}
|
||||
}
|
||||
|
||||
// KeysBytes returns the merged keys in lexicographical order.
|
||||
// The slice is valid until the next call to UnionKeys, UnionBytes or Reset.
|
||||
func (set *TagKeysSet) KeysBytes() [][]byte {
|
||||
return set.keys[set.i&1]
|
||||
}
|
||||
|
||||
// Keys returns a copy of the merged keys in lexicographical order.
|
||||
func (set *TagKeysSet) Keys() []string {
|
||||
keys := set.KeysBytes()
|
||||
s := make([]string, 0, len(keys))
|
||||
for i := range keys {
|
||||
s = append(s, string(keys[i]))
|
||||
}
|
||||
return s
|
||||
}
|
||||
|
||||
func (set *TagKeysSet) String() string {
|
||||
var s []string
|
||||
for _, k := range set.KeysBytes() {
|
||||
s = append(s, string(k))
|
||||
}
|
||||
return strings.Join(s, ",")
|
||||
}
|
||||
|
||||
// IsSupersetKeys returns true if the TagKeysSet is a superset of all the keys
|
||||
// contained in other.
|
||||
func (set *TagKeysSet) IsSupersetKeys(other Tags) bool {
|
||||
keys := set.keys[set.i&1]
|
||||
i, j := 0, 0
|
||||
for i < len(keys) && j < len(other) {
|
||||
if cmp := bytes.Compare(keys[i], other[j].Key); cmp > 0 {
|
||||
return false
|
||||
} else if cmp == 0 {
|
||||
j++
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
return j == len(other)
|
||||
}
|
||||
|
||||
// IsSupersetBytes returns true if the TagKeysSet is a superset of all the keys
|
||||
// in other.
|
||||
// Other must be lexicographically sorted or the results are undefined.
|
||||
func (set *TagKeysSet) IsSupersetBytes(other [][]byte) bool {
|
||||
keys := set.keys[set.i&1]
|
||||
i, j := 0, 0
|
||||
for i < len(keys) && j < len(other) {
|
||||
if cmp := bytes.Compare(keys[i], other[j]); cmp > 0 {
|
||||
return false
|
||||
} else if cmp == 0 {
|
||||
j++
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
return j == len(other)
|
||||
}
|
||||
|
||||
// UnionKeys updates the set so that it is the union of itself and all the
|
||||
// keys contained in other.
|
||||
func (set *TagKeysSet) UnionKeys(other Tags) {
|
||||
if set.IsSupersetKeys(other) {
|
||||
return
|
||||
}
|
||||
|
||||
if l := len(other); cap(set.tmp) < l {
|
||||
set.tmp = make([][]byte, l)
|
||||
} else {
|
||||
set.tmp = set.tmp[:l]
|
||||
}
|
||||
|
||||
for i := range other {
|
||||
set.tmp[i] = other[i].Key
|
||||
}
|
||||
|
||||
set.merge(set.tmp)
|
||||
}
|
||||
|
||||
// UnionBytes updates the set so that it is the union of itself and all the
|
||||
// keys contained in other.
|
||||
// Other must be lexicographically sorted or the results are undefined.
|
||||
func (set *TagKeysSet) UnionBytes(other [][]byte) {
|
||||
if set.IsSupersetBytes(other) {
|
||||
return
|
||||
}
|
||||
|
||||
set.merge(other)
|
||||
}
|
||||
|
||||
func (set *TagKeysSet) merge(in [][]byte) {
|
||||
keys := set.keys[set.i&1]
|
||||
l := len(keys) + len(in)
|
||||
set.i = (set.i + 1) & 1
|
||||
keya := set.keys[set.i&1]
|
||||
if cap(keya) < l {
|
||||
keya = make([][]byte, 0, l)
|
||||
} else {
|
||||
keya = keya[:0]
|
||||
}
|
||||
|
||||
i, j := 0, 0
|
||||
for i < len(keys) && j < len(in) {
|
||||
ki, kj := keys[i], in[j]
|
||||
if cmp := bytes.Compare(ki, kj); cmp < 0 {
|
||||
i++
|
||||
} else if cmp > 0 {
|
||||
ki = kj
|
||||
j++
|
||||
} else {
|
||||
i++
|
||||
j++
|
||||
}
|
||||
|
||||
keya = append(keya, ki)
|
||||
}
|
||||
|
||||
if i < len(keys) {
|
||||
keya = append(keya, keys[i:]...)
|
||||
} else if j < len(in) {
|
||||
keya = append(keya, in[j:]...)
|
||||
}
|
||||
|
||||
set.keys[set.i&1] = keya
|
||||
}
|
|
@ -1,325 +0,0 @@
|
|||
package models_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"math/rand"
|
||||
"strconv"
|
||||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
)
|
||||
|
||||
func TestTagKeysSet_UnionKeys(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
tags []models.Tags
|
||||
exp string
|
||||
}{
|
||||
{
|
||||
name: "mixed",
|
||||
tags: []models.Tags{
|
||||
models.ParseTags([]byte("foo,tag0=v0,tag1=v0,tag2=v0")),
|
||||
models.ParseTags([]byte("foo,tag0=v0,tag1=v0,tag2=v1")),
|
||||
models.ParseTags([]byte("foo,tag0=v0")),
|
||||
models.ParseTags([]byte("foo,tag0=v0,tag3=v0")),
|
||||
},
|
||||
exp: "tag0,tag1,tag2,tag3",
|
||||
},
|
||||
{
|
||||
name: "mixed 2",
|
||||
tags: []models.Tags{
|
||||
models.ParseTags([]byte("foo,tag0=v0")),
|
||||
models.ParseTags([]byte("foo,tag0=v0,tag3=v0")),
|
||||
models.ParseTags([]byte("foo,tag0=v0,tag1=v0,tag2=v0")),
|
||||
models.ParseTags([]byte("foo,tag0=v0,tag1=v0,tag2=v1")),
|
||||
},
|
||||
exp: "tag0,tag1,tag2,tag3",
|
||||
},
|
||||
{
|
||||
name: "all different",
|
||||
tags: []models.Tags{
|
||||
models.ParseTags([]byte("foo,tag0=v0")),
|
||||
models.ParseTags([]byte("foo,tag1=v0")),
|
||||
models.ParseTags([]byte("foo,tag2=v1")),
|
||||
models.ParseTags([]byte("foo,tag3=v0")),
|
||||
},
|
||||
exp: "tag0,tag1,tag2,tag3",
|
||||
},
|
||||
{
|
||||
name: "new tags,verify clear",
|
||||
tags: []models.Tags{
|
||||
models.ParseTags([]byte("foo,tag9=v0")),
|
||||
models.ParseTags([]byte("foo,tag8=v0")),
|
||||
},
|
||||
exp: "tag8,tag9",
|
||||
},
|
||||
}
|
||||
|
||||
var km models.TagKeysSet
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
km.Clear()
|
||||
for _, tags := range tt.tags {
|
||||
km.UnionKeys(tags)
|
||||
}
|
||||
|
||||
if got := km.String(); !cmp.Equal(got, tt.exp) {
|
||||
t.Errorf("unexpected keys -got/+exp\n%s", cmp.Diff(got, tt.exp))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestTagKeysSet_IsSuperset(t *testing.T) {
|
||||
var km models.TagKeysSet
|
||||
km.UnionBytes(bytes.Split([]byte("tag0,tag3,tag5,tag7"), commaB))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
tags models.Tags
|
||||
exp bool
|
||||
}{
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag0=v,tag3=v")),
|
||||
exp: true,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag3=v")),
|
||||
exp: true,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag7=v")),
|
||||
exp: true,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag3=v,tag7=v")),
|
||||
exp: true,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag0=v,tag3=v,tag5=v,tag7=v")),
|
||||
exp: true,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo")),
|
||||
exp: true,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag0=v,tag2=v")),
|
||||
exp: false,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag1=v")),
|
||||
exp: false,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag6=v")),
|
||||
exp: false,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag8=v")),
|
||||
exp: false,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag0=v,tag3=v,tag5=v,tag8=v")),
|
||||
exp: false,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag0=v,tag3=v,tag5=v,tag6=v")),
|
||||
exp: false,
|
||||
},
|
||||
{
|
||||
tags: models.ParseTags([]byte("foo,tag0=v,tag3=v,tag5=v,tag7=v,tag8=v")),
|
||||
exp: false,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run("tags/"+tt.name, func(t *testing.T) {
|
||||
if got := km.IsSupersetKeys(tt.tags); got != tt.exp {
|
||||
t.Errorf("unexpected IsSuperset -got/+exp\n%s", cmp.Diff(got, tt.exp))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run("bytes/"+tt.name, func(t *testing.T) {
|
||||
var keys [][]byte
|
||||
for i := range tt.tags {
|
||||
keys = append(keys, tt.tags[i].Key)
|
||||
}
|
||||
if got := km.IsSupersetBytes(keys); got != tt.exp {
|
||||
t.Errorf("unexpected IsSupersetBytes -got/+exp\n%s", cmp.Diff(got, tt.exp))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
var commaB = []byte(",")
|
||||
|
||||
func TestTagKeysSet_UnionBytes(t *testing.T) {
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
keys [][][]byte
|
||||
exp string
|
||||
}{
|
||||
{
|
||||
name: "mixed",
|
||||
keys: [][][]byte{
|
||||
bytes.Split([]byte("tag0,tag1,tag2"), commaB),
|
||||
bytes.Split([]byte("tag0,tag1,tag2"), commaB),
|
||||
bytes.Split([]byte("tag0"), commaB),
|
||||
bytes.Split([]byte("tag0,tag3"), commaB),
|
||||
},
|
||||
exp: "tag0,tag1,tag2,tag3",
|
||||
},
|
||||
{
|
||||
name: "mixed 2",
|
||||
keys: [][][]byte{
|
||||
bytes.Split([]byte("tag0"), commaB),
|
||||
bytes.Split([]byte("tag0,tag3"), commaB),
|
||||
bytes.Split([]byte("tag0,tag1,tag2"), commaB),
|
||||
bytes.Split([]byte("tag0,tag1,tag2"), commaB),
|
||||
},
|
||||
exp: "tag0,tag1,tag2,tag3",
|
||||
},
|
||||
{
|
||||
name: "all different",
|
||||
keys: [][][]byte{
|
||||
bytes.Split([]byte("tag0"), commaB),
|
||||
bytes.Split([]byte("tag3"), commaB),
|
||||
bytes.Split([]byte("tag1"), commaB),
|
||||
bytes.Split([]byte("tag2"), commaB),
|
||||
},
|
||||
exp: "tag0,tag1,tag2,tag3",
|
||||
},
|
||||
{
|
||||
name: "new tags,verify clear",
|
||||
keys: [][][]byte{
|
||||
bytes.Split([]byte("tag9"), commaB),
|
||||
bytes.Split([]byte("tag8"), commaB),
|
||||
},
|
||||
exp: "tag8,tag9",
|
||||
},
|
||||
}
|
||||
|
||||
var km models.TagKeysSet
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
km.Clear()
|
||||
for _, keys := range tt.keys {
|
||||
km.UnionBytes(keys)
|
||||
}
|
||||
|
||||
if got := km.String(); !cmp.Equal(got, tt.exp) {
|
||||
t.Errorf("unexpected keys -got/+exp\n%s", cmp.Diff(got, tt.exp))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkTagKeysSet_UnionBytes(b *testing.B) {
|
||||
keys := [][][]byte{
|
||||
bytes.Split([]byte("tag00,tag01,tag02"), commaB),
|
||||
bytes.Split([]byte("tag00,tag01,tag02"), commaB),
|
||||
bytes.Split([]byte("tag00,tag01,tag05,tag06,tag10,tag11,tag12,tag13,tag14,tag15"), commaB),
|
||||
bytes.Split([]byte("tag00"), commaB),
|
||||
bytes.Split([]byte("tag00,tag03"), commaB),
|
||||
bytes.Split([]byte("tag01,tag03,tag13,tag14,tag15"), commaB),
|
||||
bytes.Split([]byte("tag04,tag05"), commaB),
|
||||
}
|
||||
|
||||
rand.Seed(20040409)
|
||||
|
||||
tests := []int{
|
||||
10,
|
||||
1000,
|
||||
1000000,
|
||||
}
|
||||
|
||||
for _, n := range tests {
|
||||
b.Run(strconv.Itoa(n), func(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
|
||||
var km models.TagKeysSet
|
||||
for i := 0; i < b.N; i++ {
|
||||
for j := 0; j < n; j++ {
|
||||
km.UnionBytes(keys[rand.Int()%len(keys)])
|
||||
}
|
||||
km.Clear()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
type XorShift64Star struct {
|
||||
state uint64
|
||||
}
|
||||
|
||||
func (x *XorShift64Star) Next() uint64 {
|
||||
x.state ^= x.state >> 12
|
||||
x.state ^= x.state << 25
|
||||
x.state ^= x.state >> 27
|
||||
return x.state * 2685821657736338717
|
||||
}
|
||||
|
||||
func BenchmarkTagKeysSet_UnionKeys(b *testing.B) {
|
||||
tags := []models.Tags{
|
||||
models.ParseTags([]byte("foo,tag00=v0,tag01=v0,tag02=v0")),
|
||||
models.ParseTags([]byte("foo,tag00=v0,tag01=v0,tag02=v0")),
|
||||
models.ParseTags([]byte("foo,tag00=v0,tag01=v0,tag05=v0,tag06=v0,tag10=v0,tag11=v0,tag12=v0,tag13=v0,tag14=v0,tag15=v0")),
|
||||
models.ParseTags([]byte("foo,tag00=v0")),
|
||||
models.ParseTags([]byte("foo,tag00=v0,tag03=v0")),
|
||||
models.ParseTags([]byte("foo,tag01=v0,tag03=v0,tag13=v0,tag14=v0,tag15=v0")),
|
||||
models.ParseTags([]byte("foo,tag04=v0,tag05=v0")),
|
||||
}
|
||||
|
||||
rnd := XorShift64Star{state: 20040409}
|
||||
|
||||
tests := []int{
|
||||
10,
|
||||
1000,
|
||||
1000000,
|
||||
}
|
||||
|
||||
for _, n := range tests {
|
||||
b.Run(strconv.Itoa(n), func(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
|
||||
var km models.TagKeysSet
|
||||
for i := 0; i < b.N; i++ {
|
||||
for j := 0; j < n; j++ {
|
||||
km.UnionKeys(tags[rnd.Next()%uint64(len(tags))])
|
||||
}
|
||||
km.Clear()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkTagKeysSet_IsSuperset(b *testing.B) {
|
||||
var km models.TagKeysSet
|
||||
km.UnionBytes(bytes.Split([]byte("tag0,tag3,tag5,tag7"), commaB))
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
tags models.Tags
|
||||
}{
|
||||
{name: "last/true", tags: models.ParseTags([]byte("foo,tag7=v"))},
|
||||
{name: "last/false", tags: models.ParseTags([]byte("foo,tag8=v"))},
|
||||
{name: "first_last/true", tags: models.ParseTags([]byte("foo,tag0=v,tag7=v"))},
|
||||
{name: "all/true", tags: models.ParseTags([]byte("foo,tag0=v,tag3=v,tag5=v,tag7=v"))},
|
||||
{name: "first not last/false", tags: models.ParseTags([]byte("foo,tag0=v,tag8=v"))},
|
||||
{name: "all but last/false", tags: models.ParseTags([]byte("foo,tag0=v,tag3=v,tag5=v,tag7=v,tag8=v"))},
|
||||
}
|
||||
|
||||
for _, n := range tests {
|
||||
b.Run(n.name, func(b *testing.B) {
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
km.IsSupersetKeys(n.tags)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
package models
|
||||
|
||||
// Helper time methods since parsing time can easily overflow and we only support a
|
||||
// specific time range.
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math"
|
||||
"time"
|
||||
)
|
||||
|
||||
const (
|
||||
// MinNanoTime is the minimum time that can be represented.
|
||||
//
|
||||
// 1677-09-21 00:12:43.145224194 +0000 UTC
|
||||
//
|
||||
// The two lowest minimum integers are used as sentinel values. The
|
||||
// minimum value needs to be used as a value lower than any other value for
|
||||
// comparisons and another separate value is needed to act as a sentinel
|
||||
// default value that is unusable by the user, but usable internally.
|
||||
// Because these two values need to be used for a special purpose, we do
|
||||
// not allow users to write points at these two times.
|
||||
MinNanoTime = int64(math.MinInt64) + 2
|
||||
|
||||
// MaxNanoTime is the maximum time that can be represented.
|
||||
//
|
||||
// 2262-04-11 23:47:16.854775806 +0000 UTC
|
||||
//
|
||||
// The highest time represented by a nanosecond needs to be used for an
|
||||
// exclusive range in the shard group, so the maximum time needs to be one
|
||||
// less than the possible maximum number of nanoseconds representable by an
|
||||
// int64 so that we don't lose a point at that one time.
|
||||
MaxNanoTime = int64(math.MaxInt64) - 1
|
||||
)
|
||||
|
||||
var (
|
||||
minNanoTime = time.Unix(0, MinNanoTime).UTC()
|
||||
maxNanoTime = time.Unix(0, MaxNanoTime).UTC()
|
||||
|
||||
// ErrTimeOutOfRange gets returned when time is out of the representable range using int64 nanoseconds since the epoch.
|
||||
ErrTimeOutOfRange = fmt.Errorf("time outside range %d - %d", MinNanoTime, MaxNanoTime)
|
||||
)
|
||||
|
||||
// SafeCalcTime safely calculates the time given. Will return error if the time is outside the
|
||||
// supported range.
|
||||
func SafeCalcTime(timestamp int64, precision string) (time.Time, error) {
|
||||
mult := GetPrecisionMultiplier(precision)
|
||||
if t, ok := safeSignedMult(timestamp, mult); ok {
|
||||
tme := time.Unix(0, t).UTC()
|
||||
return tme, CheckTime(tme)
|
||||
}
|
||||
|
||||
return time.Time{}, ErrTimeOutOfRange
|
||||
}
|
||||
|
||||
// CheckTime checks that a time is within the safe range.
|
||||
func CheckTime(t time.Time) error {
|
||||
if t.Before(minNanoTime) || t.After(maxNanoTime) {
|
||||
return ErrTimeOutOfRange
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Perform the multiplication and check to make sure it didn't overflow.
|
||||
func safeSignedMult(a, b int64) (int64, bool) {
|
||||
if a == 0 || b == 0 || a == 1 || b == 1 {
|
||||
return a * b, true
|
||||
}
|
||||
if a == MinNanoTime || b == MaxNanoTime {
|
||||
return 0, false
|
||||
}
|
||||
c := a * b
|
||||
return c, c/b == a
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
// +build uint uint64
|
||||
|
||||
package models
|
||||
|
||||
func init() {
|
||||
EnableUintSupport()
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
package monitor
|
||||
|
||||
import "github.com/influxdata/influxdb/v2/v1/models"
|
||||
import "github.com/influxdata/influxdb/v2/models"
|
||||
|
||||
// Reporter is an interface for gathering internal statistics.
|
||||
type Reporter interface {
|
||||
|
|
|
@ -14,7 +14,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/logger"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/monitor/diagnostics"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"go.uber.org/zap"
|
||||
|
|
|
@ -11,8 +11,8 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/toml"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/monitor"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"go.uber.org/zap"
|
||||
|
|
|
@ -13,8 +13,8 @@ import (
|
|||
|
||||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
influxdb "github.com/influxdata/influxdb/v2/v1"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
internal "github.com/influxdata/influxdb/v2/v1/services/meta/internal"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
|
|
@ -55,9 +55,13 @@ It has these top-level messages:
|
|||
*/
|
||||
package meta
|
||||
|
||||
import proto "github.com/gogo/protobuf/proto"
|
||||
import fmt "fmt"
|
||||
import math "math"
|
||||
import (
|
||||
fmt "fmt"
|
||||
|
||||
proto "github.com/gogo/protobuf/proto"
|
||||
|
||||
math "math"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package storage
|
||||
|
||||
import (
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -6,9 +6,9 @@ import (
|
|||
"sort"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
opentracing "github.com/opentracing/opentracing-go"
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -12,12 +12,17 @@
|
|||
*/
|
||||
package storage
|
||||
|
||||
import proto "github.com/gogo/protobuf/proto"
|
||||
import fmt "fmt"
|
||||
import math "math"
|
||||
import _ "github.com/gogo/protobuf/gogoproto"
|
||||
import (
|
||||
fmt "fmt"
|
||||
|
||||
import io "io"
|
||||
proto "github.com/gogo/protobuf/proto"
|
||||
|
||||
math "math"
|
||||
|
||||
_ "github.com/gogo/protobuf/gogoproto"
|
||||
|
||||
io "io"
|
||||
)
|
||||
|
||||
// Reference imports to suppress errors if they are not otherwise used.
|
||||
var _ = proto.Marshal
|
||||
|
|
|
@ -9,9 +9,9 @@ import (
|
|||
"github.com/gogo/protobuf/proto"
|
||||
"github.com/gogo/protobuf/types"
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads"
|
||||
"github.com/influxdata/influxdb/v2/storage/reads/datatypes"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/services/meta"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/cursors"
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
// PointBatcher accepts Points and will emit a batch of those points when either
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package cursors
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
)
|
||||
|
||||
const DefaultMaxPointsPerBlock = 1000
|
||||
|
|
|
@ -12,9 +12,9 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/estimator"
|
||||
"github.com/influxdata/influxdb/v2/pkg/limiter"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"context"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package tsm1
|
|||
import (
|
||||
"context"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
)
|
||||
|
|
|
@ -5,8 +5,8 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/metrics"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
|
|
|
@ -22,6 +22,7 @@ import (
|
|||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/logger"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/bytesutil"
|
||||
"github.com/influxdata/influxdb/v2/pkg/estimator"
|
||||
"github.com/influxdata/influxdb/v2/pkg/file"
|
||||
|
@ -30,7 +31,6 @@ import (
|
|||
"github.com/influxdata/influxdb/v2/pkg/radix"
|
||||
intar "github.com/influxdata/influxdb/v2/pkg/tar"
|
||||
"github.com/influxdata/influxdb/v2/pkg/tracing"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
_ "github.com/influxdata/influxdb/v2/v1/tsdb/index"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/index/inmem"
|
||||
|
|
|
@ -22,8 +22,8 @@ import (
|
|||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/logger"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/deep"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/engine/tsm1"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/index/inmem"
|
||||
|
|
|
@ -18,10 +18,10 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/file"
|
||||
"github.com/influxdata/influxdb/v2/pkg/limiter"
|
||||
"github.com/influxdata/influxdb/v2/pkg/metrics"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
|
|
@ -149,34 +149,36 @@ func (t *mockTSMFile) KeyAt(idx int) ([]byte, byte) {
|
|||
return []byte(t.keys[idx]), BlockFloat64
|
||||
}
|
||||
|
||||
func (*mockTSMFile) Path() string { panic("implement me") }
|
||||
func (*mockTSMFile) Read(key []byte, t int64) ([]Value, error) { panic("implement me") }
|
||||
func (*mockTSMFile) ReadAt(entry *IndexEntry, values []Value) ([]Value, error) { panic("implement me") }
|
||||
func (*mockTSMFile) Entries(key []byte) []IndexEntry { panic("implement me") }
|
||||
func (*mockTSMFile) ReadEntries(key []byte, entries *[]IndexEntry) []IndexEntry { panic("implement me") }
|
||||
func (*mockTSMFile) ContainsValue(key []byte, t int64) bool { panic("implement me") }
|
||||
func (*mockTSMFile) Contains(key []byte) bool { panic("implement me") }
|
||||
func (*mockTSMFile) OverlapsTimeRange(min, max int64) bool { panic("implement me") }
|
||||
func (*mockTSMFile) OverlapsKeyRange(min, max []byte) bool { panic("implement me") }
|
||||
func (*mockTSMFile) TimeRange() (int64, int64) { panic("implement me") }
|
||||
func (*mockTSMFile) TombstoneRange(key []byte) []TimeRange { panic("implement me") }
|
||||
func (*mockTSMFile) KeyRange() ([]byte, []byte) { panic("implement me") }
|
||||
func (*mockTSMFile) Type(key []byte) (byte, error) { panic("implement me") }
|
||||
func (*mockTSMFile) BatchDelete() BatchDeleter { panic("implement me") }
|
||||
func (*mockTSMFile) Delete(keys [][]byte) error { panic("implement me") }
|
||||
func (*mockTSMFile) DeleteRange(keys [][]byte, min, max int64) error { panic("implement me") }
|
||||
func (*mockTSMFile) HasTombstones() bool { panic("implement me") }
|
||||
func (*mockTSMFile) TombstoneFiles() []FileStat { panic("implement me") }
|
||||
func (*mockTSMFile) Close() error { panic("implement me") }
|
||||
func (*mockTSMFile) Size() uint32 { panic("implement me") }
|
||||
func (*mockTSMFile) Rename(path string) error { panic("implement me") }
|
||||
func (*mockTSMFile) Remove() error { panic("implement me") }
|
||||
func (*mockTSMFile) InUse() bool { panic("implement me") }
|
||||
func (*mockTSMFile) Ref() { panic("implement me") }
|
||||
func (*mockTSMFile) Unref() { panic("implement me") }
|
||||
func (*mockTSMFile) Stats() FileStat { panic("implement me") }
|
||||
func (*mockTSMFile) BlockIterator() *BlockIterator { panic("implement me") }
|
||||
func (*mockTSMFile) Free() error { panic("implement me") }
|
||||
func (*mockTSMFile) Path() string { panic("implement me") }
|
||||
func (*mockTSMFile) Read(key []byte, t int64) ([]Value, error) { panic("implement me") }
|
||||
func (*mockTSMFile) ReadAt(entry *IndexEntry, values []Value) ([]Value, error) { panic("implement me") }
|
||||
func (*mockTSMFile) Entries(key []byte) []IndexEntry { panic("implement me") }
|
||||
func (*mockTSMFile) ReadEntries(key []byte, entries *[]IndexEntry) []IndexEntry {
|
||||
panic("implement me")
|
||||
}
|
||||
func (*mockTSMFile) ContainsValue(key []byte, t int64) bool { panic("implement me") }
|
||||
func (*mockTSMFile) Contains(key []byte) bool { panic("implement me") }
|
||||
func (*mockTSMFile) OverlapsTimeRange(min, max int64) bool { panic("implement me") }
|
||||
func (*mockTSMFile) OverlapsKeyRange(min, max []byte) bool { panic("implement me") }
|
||||
func (*mockTSMFile) TimeRange() (int64, int64) { panic("implement me") }
|
||||
func (*mockTSMFile) TombstoneRange(key []byte) []TimeRange { panic("implement me") }
|
||||
func (*mockTSMFile) KeyRange() ([]byte, []byte) { panic("implement me") }
|
||||
func (*mockTSMFile) Type(key []byte) (byte, error) { panic("implement me") }
|
||||
func (*mockTSMFile) BatchDelete() BatchDeleter { panic("implement me") }
|
||||
func (*mockTSMFile) Delete(keys [][]byte) error { panic("implement me") }
|
||||
func (*mockTSMFile) DeleteRange(keys [][]byte, min, max int64) error { panic("implement me") }
|
||||
func (*mockTSMFile) HasTombstones() bool { panic("implement me") }
|
||||
func (*mockTSMFile) TombstoneFiles() []FileStat { panic("implement me") }
|
||||
func (*mockTSMFile) Close() error { panic("implement me") }
|
||||
func (*mockTSMFile) Size() uint32 { panic("implement me") }
|
||||
func (*mockTSMFile) Rename(path string) error { panic("implement me") }
|
||||
func (*mockTSMFile) Remove() error { panic("implement me") }
|
||||
func (*mockTSMFile) InUse() bool { panic("implement me") }
|
||||
func (*mockTSMFile) Ref() { panic("implement me") }
|
||||
func (*mockTSMFile) Unref() { panic("implement me") }
|
||||
func (*mockTSMFile) Stats() FileStat { panic("implement me") }
|
||||
func (*mockTSMFile) BlockIterator() *BlockIterator { panic("implement me") }
|
||||
func (*mockTSMFile) Free() error { panic("implement me") }
|
||||
|
||||
func (*mockTSMFile) ReadFloatBlockAt(*IndexEntry, *[]FloatValue) ([]FloatValue, error) {
|
||||
panic("implement me")
|
||||
|
|
|
@ -79,7 +79,9 @@ func benchmarkRingGetPartition(b *testing.B, r *ring, keys int) {
|
|||
}
|
||||
}
|
||||
|
||||
func BenchmarkRing_getPartition_100(b *testing.B) { benchmarkRingGetPartition(b, MustNewRing(256), 100) }
|
||||
func BenchmarkRing_getPartition_100(b *testing.B) {
|
||||
benchmarkRingGetPartition(b, MustNewRing(256), 100)
|
||||
}
|
||||
func BenchmarkRing_getPartition_1000(b *testing.B) {
|
||||
benchmarkRingGetPartition(b, MustNewRing(256), 1000)
|
||||
}
|
||||
|
|
|
@ -18,9 +18,9 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/golang/snappy"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/limiter"
|
||||
"github.com/influxdata/influxdb/v2/pkg/pool"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"bytes"
|
||||
"fmt"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import (
|
|||
"bytes"
|
||||
"sync"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import (
|
|||
"time"
|
||||
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
||||
|
|
|
@ -10,10 +10,10 @@ import (
|
|||
"sync"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/bytesutil"
|
||||
"github.com/influxdata/influxdb/v2/pkg/estimator"
|
||||
"github.com/influxdata/influxdb/v2/pkg/slices"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
|
|
@ -20,11 +20,11 @@ import (
|
|||
"unsafe"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/bytesutil"
|
||||
"github.com/influxdata/influxdb/v2/pkg/escape"
|
||||
"github.com/influxdata/influxdb/v2/pkg/estimator"
|
||||
"github.com/influxdata/influxdb/v2/pkg/estimator/hll"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
"go.uber.org/zap"
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb/index/inmem"
|
||||
)
|
||||
|
|
|
@ -9,9 +9,9 @@ import (
|
|||
"unsafe"
|
||||
|
||||
"github.com/influxdata/influxdb/v2/influxql/query"
|
||||
"github.com/influxdata/influxdb/v2/models"
|
||||
"github.com/influxdata/influxdb/v2/pkg/bytesutil"
|
||||
"github.com/influxdata/influxdb/v2/pkg/radix"
|
||||
"github.com/influxdata/influxdb/v2/v1/models"
|
||||
"github.com/influxdata/influxdb/v2/v1/tsdb"
|
||||
"github.com/influxdata/influxql"
|
||||
)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue