Skip to content
This repository has been archived by the owner on Aug 23, 2023. It is now read-only.

Commit

Permalink
Merge pull request #738 from grafana/rebrand
Browse files Browse the repository at this point in the history
rebrand. raintank -> GrafanaLabs
  • Loading branch information
Dieterbe authored Sep 29, 2017
2 parents cc75ba6 + 1bfc10b commit 16afc92
Show file tree
Hide file tree
Showing 170 changed files with 433 additions and 433 deletions.
66 changes: 33 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![Circle CI](https://circleci.com/gh/raintank/metrictank.svg?style=shield)](https://circleci.com/gh/raintank/metrictank)
[![Go Report Card](https://goreportcard.com/badge/github.com/raintank/metrictank)](https://goreportcard.com/report/github.com/raintank/metrictank)
[![GoDoc](https://godoc.org/github.com/raintank/metrictank?status.svg)](https://godoc.org/github.com/raintank/metrictank)
[![Circle CI](https://circleci.com/gh/grafana/metrictank.svg?style=shield)](https://circleci.com/gh/grafana/metrictank)
[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/metrictank)](https://goreportcard.com/report/github.com/grafana/metrictank)
[![GoDoc](https://godoc.org/github.com/grafana/metrictank?status.svg)](https://godoc.org/github.com/grafana/metrictank)


## introduction
Expand All @@ -12,26 +12,26 @@ as well as data chunking to lower the load on cassandra. Graphite users are fir

## status

While [raintank](http://raintank.io) has been running metrictank in production since december 2015, there are still plenty of kinks to work out
While [GrafanaLabs](http://grafana.com) has been running metrictank in production since december 2015, there are still plenty of kinks to work out
and bugs to fix. It should be considered an *alpha* project.

## limitations

* no performance/availability isolation between tenants per instance. (only data isolation)
* clustering is basic: statically defined peers, master promotions are manual, etc. See [clustering](https://github.com/raintank/metrictank/blob/master/docs/clustering.md) for more.
* clustering is basic: statically defined peers, master promotions are manual, etc. See [clustering](https://github.com/grafana/metrictank/blob/master/docs/clustering.md) for more.
* minimum computation locality: we move the data from storage to processing code, which is both metrictank and graphite.
* the datastructures can use performance engineering. [A Go GC issue may occassionally inflate response times](https://github.com/golang/go/issues/14812).
* the native input protocol is inefficient. Should not send all metadata with each point.
* we use metrics2.0 in native input protocol and indexes, but [barely do anything with it yet](https://github.com/raintank/metrictank/blob/master/docs/tags.md).
* we use metrics2.0 in native input protocol and indexes, but [barely do anything with it yet](https://github.com/grafana/metrictank/blob/master/docs/tags.md).
* for any series you can't write points that are earlier than previously written points. (unless you restart MT)

## interesting design characteristics (feature or limitation.. up to you)

* upgrades / process restarts requires running multiple instances (potentially only for the duration of the maintenance) and re-assigning the primary role.
Otherwise data loss of current chunks will be incurred. See [operations guide](https://github.com/raintank/metrictank/blob/master/docs/operations.md)
Otherwise data loss of current chunks will be incurred. See [operations guide](https://github.com/grafana/metrictank/blob/master/docs/operations.md)
* only float64 values. Ints and bools currently stored as floats (works quite well due to the gorilla compression),
No text support.
* only uint32 unix timestamps in second resolution. For higher resolution, consider [streaming directly to grafana](https://blog.raintank.io/using-grafana-with-intels-snap-for-ad-hoc-metric-exploration/)
* only uint32 unix timestamps in second resolution. For higher resolution, consider [streaming directly to grafana](https://grafana.com/blog/2016/03/31/using-grafana-with-intels-snap-for-ad-hoc-metric-exploration/)
* no data locality: doesn't seem needed yet to put related series together.

## main features
Expand All @@ -40,7 +40,7 @@ Otherwise data loss of current chunks will be incurred. See [operations guide](
* graphite is a first class citizen. As of graphite-1.0.1, metrictank can be used as a graphite CLUSTER_SERVER.
* accurate, flexible rollups by storing min/max/sum/count (which also gives us average).
So we can do consolidation (combined runtime+archived) accurately and correctly,
[unlike most other graphite backends like whisper](https://blog.raintank.io/25-graphite-grafana-and-statsd-gotchas/#runtime.consolidation)
[unlike most other graphite backends like whisper](https://grafana.com/blog/2016/03/03/25-graphite-grafana-and-statsd-gotchas/#runtime.consolidation)
* metrictank acts as a writeback RAM cache for recent data.
* flexible tenancy: can be used as single tenant or multi tenant. Selected data can be shared across all tenants.
* input options: carbon, metrics2.0, kafka. (soon: json or msgpack over http)
Expand All @@ -51,39 +51,39 @@ So we can do consolidation (combined runtime+archived) accurately and correctly,

### installation, configuration and operation.

* [Overview](https://github.com/raintank/metrictank/blob/master/docs/overview.md)
* [Quick start using docker](https://github.com/raintank/metrictank/blob/master/docs/quick-start-docker.md)
* [Installation guides](https://github.com/raintank/metrictank/blob/master/docs/installation.md)
* [Configuration](https://github.com/raintank/metrictank/blob/master/docs/config.md)
* [Memory server](https://github.com/raintank/metrictank/blob/master/docs/memory-server.md)
* [Compression tips](https://github.com/raintank/metrictank/blob/master/docs/compression-tips.md)
* [Cassandra](https://github.com/raintank/metrictank/blob/master/docs/cassandra.md)
* [Kafka](https://github.com/raintank/metrictank/blob/master/docs/kafka.md)
* [Inputs](https://github.com/raintank/metrictank/blob/master/docs/inputs.md)
* [Metrics](https://github.com/raintank/metrictank/blob/master/docs/metrics.md)
* [Operations](https://github.com/raintank/metrictank/blob/master/docs/operations.md)
* [Tools](https://github.com/raintank/metrictank/blob/master/docs/tools.md)
* [Overview](https://github.com/grafana/metrictank/blob/master/docs/overview.md)
* [Quick start using docker](https://github.com/grafana/metrictank/blob/master/docs/quick-start-docker.md)
* [Installation guides](https://github.com/grafana/metrictank/blob/master/docs/installation.md)
* [Configuration](https://github.com/grafana/metrictank/blob/master/docs/config.md)
* [Memory server](https://github.com/grafana/metrictank/blob/master/docs/memory-server.md)
* [Compression tips](https://github.com/grafana/metrictank/blob/master/docs/compression-tips.md)
* [Cassandra](https://github.com/grafana/metrictank/blob/master/docs/cassandra.md)
* [Kafka](https://github.com/grafana/metrictank/blob/master/docs/kafka.md)
* [Inputs](https://github.com/grafana/metrictank/blob/master/docs/inputs.md)
* [Metrics](https://github.com/grafana/metrictank/blob/master/docs/metrics.md)
* [Operations](https://github.com/grafana/metrictank/blob/master/docs/operations.md)
* [Tools](https://github.com/grafana/metrictank/blob/master/docs/tools.md)

### features in-depth

* [Clustering](https://github.com/raintank/metrictank/blob/master/docs/clustering.md)
* [Consolidation](https://github.com/raintank/metrictank/blob/master/docs/consolidation.md)
* [Multi-tenancy](https://github.com/raintank/metrictank/blob/master/docs/multi-tenancy.md)
* [HTTP api](https://github.com/raintank/metrictank/blob/master/docs/http-api.md)
* [Graphite](https://github.com/raintank/metrictank/blob/master/docs/graphite.md)
* [Metadata](https://github.com/raintank/metrictank/blob/master/docs/metadata.md)
* [Tags](https://github.com/raintank/metrictank/blob/master/docs/tags.md)
* [Clustering](https://github.com/grafana/metrictank/blob/master/docs/clustering.md)
* [Consolidation](https://github.com/grafana/metrictank/blob/master/docs/consolidation.md)
* [Multi-tenancy](https://github.com/grafana/metrictank/blob/master/docs/multi-tenancy.md)
* [HTTP api](https://github.com/grafana/metrictank/blob/master/docs/http-api.md)
* [Graphite](https://github.com/grafana/metrictank/blob/master/docs/graphite.md)
* [Metadata](https://github.com/grafana/metrictank/blob/master/docs/metadata.md)
* [Tags](https://github.com/grafana/metrictank/blob/master/docs/tags.md)

### Other

* [Development](https://github.com/raintank/metrictank/blob/master/docs/development.md)
* [Community](https://github.com/raintank/metrictank/blob/master/docs/community.md)
* [Roadmap](https://github.com/raintank/metrictank/blob/master/docs/roadmap.md)
* [Faq](https://github.com/raintank/metrictank/blob/master/docs/faq.md)
* [Development](https://github.com/grafana/metrictank/blob/master/docs/development.md)
* [Community](https://github.com/grafana/metrictank/blob/master/docs/community.md)
* [Roadmap](https://github.com/grafana/metrictank/blob/master/docs/roadmap.md)
* [Faq](https://github.com/grafana/metrictank/blob/master/docs/faq.md)

## Releases and versioning

* [releases and changelog](https://github.com/raintank/metrictank/releases)
* [releases and changelog](https://github.com/grafana/metrictank/releases)
* we aim to keep `master` stable and vet code before merging to master
* We're pre-1.0 but adopt semver for our `0.MAJOR.MINOR` format. The rules are simple:
* MAJOR version for incompatible API or functionality changes
Expand Down
8 changes: 4 additions & 4 deletions api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import (

_ "net/http/pprof"

"github.com/grafana/metrictank/idx"
"github.com/grafana/metrictank/mdata"
"github.com/grafana/metrictank/mdata/cache"
"github.com/grafana/metrictank/stats"
opentracing "github.com/opentracing/opentracing-go"
"github.com/raintank/metrictank/idx"
"github.com/raintank/metrictank/mdata"
"github.com/raintank/metrictank/mdata/cache"
"github.com/raintank/metrictank/stats"
"github.com/raintank/worldping-api/pkg/log"
"gopkg.in/macaron.v1"
)
Expand Down
8 changes: 4 additions & 4 deletions api/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import (
"net/http"
"strconv"

"github.com/raintank/metrictank/api/middleware"
"github.com/raintank/metrictank/api/models"
"github.com/raintank/metrictank/api/response"
"github.com/raintank/metrictank/cluster"
"github.com/grafana/metrictank/api/middleware"
"github.com/grafana/metrictank/api/models"
"github.com/grafana/metrictank/api/response"
"github.com/grafana/metrictank/cluster"
"github.com/raintank/worldping-api/pkg/log"
"github.com/tinylib/msgp/msgp"
)
Expand Down
12 changes: 6 additions & 6 deletions api/dataprocessor.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ import (
"sync"
"time"

"github.com/grafana/metrictank/api/models"
"github.com/grafana/metrictank/consolidation"
"github.com/grafana/metrictank/mdata"
"github.com/grafana/metrictank/mdata/chunk"
"github.com/grafana/metrictank/tracing"
"github.com/grafana/metrictank/util"
opentracing "github.com/opentracing/opentracing-go"
tags "github.com/opentracing/opentracing-go/ext"
"github.com/raintank/metrictank/api/models"
"github.com/raintank/metrictank/consolidation"
"github.com/raintank/metrictank/mdata"
"github.com/raintank/metrictank/mdata/chunk"
"github.com/raintank/metrictank/tracing"
"github.com/raintank/metrictank/util"
"github.com/raintank/worldping-api/pkg/log"
"gopkg.in/raintank/schema.v1"
)
Expand Down
18 changes: 9 additions & 9 deletions api/dataprocessor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import (
"testing"
"time"

"github.com/raintank/metrictank/api/models"
"github.com/raintank/metrictank/cluster"
"github.com/raintank/metrictank/conf"
"github.com/raintank/metrictank/consolidation"
"github.com/raintank/metrictank/mdata"
"github.com/raintank/metrictank/mdata/cache"
"github.com/raintank/metrictank/mdata/cache/accnt"
"github.com/raintank/metrictank/mdata/chunk"
"github.com/raintank/metrictank/test"
"github.com/grafana/metrictank/api/models"
"github.com/grafana/metrictank/cluster"
"github.com/grafana/metrictank/conf"
"github.com/grafana/metrictank/consolidation"
"github.com/grafana/metrictank/mdata"
"github.com/grafana/metrictank/mdata/cache"
"github.com/grafana/metrictank/mdata/cache/accnt"
"github.com/grafana/metrictank/mdata/chunk"
"github.com/grafana/metrictank/test"
"gopkg.in/raintank/schema.v1"
)

Expand Down
22 changes: 11 additions & 11 deletions api/graphite.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,20 @@ import (

macaron "gopkg.in/macaron.v1"

"github.com/grafana/metrictank/api/middleware"
"github.com/grafana/metrictank/api/models"
"github.com/grafana/metrictank/api/response"
"github.com/grafana/metrictank/cluster"
"github.com/grafana/metrictank/consolidation"
"github.com/grafana/metrictank/expr"
"github.com/grafana/metrictank/idx"
"github.com/grafana/metrictank/mdata"
"github.com/grafana/metrictank/stats"
"github.com/grafana/metrictank/tracing"
"github.com/grafana/metrictank/util"
opentracing "github.com/opentracing/opentracing-go"
tags "github.com/opentracing/opentracing-go/ext"
"github.com/raintank/dur"
"github.com/raintank/metrictank/api/middleware"
"github.com/raintank/metrictank/api/models"
"github.com/raintank/metrictank/api/response"
"github.com/raintank/metrictank/cluster"
"github.com/raintank/metrictank/consolidation"
"github.com/raintank/metrictank/expr"
"github.com/raintank/metrictank/idx"
"github.com/raintank/metrictank/mdata"
"github.com/raintank/metrictank/stats"
"github.com/raintank/metrictank/tracing"
"github.com/raintank/metrictank/util"
"github.com/raintank/worldping-api/pkg/log"
)

Expand Down
2 changes: 1 addition & 1 deletion api/graphite_proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"net/url"
"sync"

"github.com/raintank/metrictank/stats"
"github.com/grafana/metrictank/stats"
)

var proxyStats graphiteProxyStats
Expand Down
2 changes: 1 addition & 1 deletion api/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package api
import (
"sync"

"github.com/raintank/metrictank/expr"
"github.com/grafana/metrictank/expr"
"gopkg.in/raintank/schema.v1"
)

Expand Down
2 changes: 1 addition & 1 deletion api/middleware/cluster.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package middleware

import (
"github.com/raintank/metrictank/cluster"
"github.com/grafana/metrictank/cluster"
macaron "gopkg.in/macaron.v1"
)

Expand Down
2 changes: 1 addition & 1 deletion api/middleware/stats.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"sync"
"time"

"github.com/raintank/metrictank/stats"
"github.com/grafana/metrictank/stats"
"gopkg.in/macaron.v1"
)

Expand Down
2 changes: 1 addition & 1 deletion api/middleware/tracer.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import (
"errors"
"net/http"

"github.com/grafana/metrictank/tracing"
opentracing "github.com/opentracing/opentracing-go"
"github.com/opentracing/opentracing-go/ext"
"github.com/raintank/metrictank/tracing"
"gopkg.in/macaron.v1"
)

Expand Down
2 changes: 1 addition & 1 deletion api/models/cluster.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package models

import (
"github.com/raintank/metrictank/idx"
"github.com/grafana/metrictank/idx"
)

//go:generate msgp
Expand Down
6 changes: 3 additions & 3 deletions api/models/cluster_gen.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package models
// DO NOT EDIT

import (
"github.com/raintank/metrictank/idx"
"github.com/grafana/metrictank/idx"
"github.com/tinylib/msgp/msgp"
)

Expand Down Expand Up @@ -167,7 +167,7 @@ func (z *IndexFindResp) DecodeMsg(dc *msgp.Reader) (err error) {
if z.Nodes == nil && zlqf > 0 {
z.Nodes = make(map[string][]idx.Node, zlqf)
} else if len(z.Nodes) > 0 {
for key, _ := range z.Nodes {
for key := range z.Nodes {
delete(z.Nodes, key)
}
}
Expand Down Expand Up @@ -283,7 +283,7 @@ func (z *IndexFindResp) UnmarshalMsg(bts []byte) (o []byte, err error) {
if z.Nodes == nil && zjfb > 0 {
z.Nodes = make(map[string][]idx.Node, zjfb)
} else if len(z.Nodes) > 0 {
for key, _ := range z.Nodes {
for key := range z.Nodes {
delete(z.Nodes, key)
}
}
Expand Down
2 changes: 1 addition & 1 deletion api/models/graphite.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import (
"strconv"

"github.com/go-macaron/binding"
"github.com/grafana/metrictank/idx"
pickle "github.com/kisielk/og-rek"
"github.com/raintank/metrictank/idx"
"gopkg.in/macaron.v1"
)

Expand Down
2 changes: 1 addition & 1 deletion api/models/graphite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"encoding/json"
"testing"

"github.com/raintank/metrictank/idx"
"github.com/grafana/metrictank/idx"
)

func TestGraphiteNames(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion api/models/node.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package models

import (
"github.com/grafana/metrictank/cluster"
opentracing "github.com/opentracing/opentracing-go"
"github.com/raintank/metrictank/cluster"
)

type NodeStatus struct {
Expand Down
6 changes: 3 additions & 3 deletions api/models/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package models
import (
"fmt"

"github.com/grafana/metrictank/cluster"
"github.com/grafana/metrictank/consolidation"
"github.com/grafana/metrictank/util"
opentracing "github.com/opentracing/opentracing-go"
"github.com/opentracing/opentracing-go/log"
"github.com/raintank/metrictank/cluster"
"github.com/raintank/metrictank/consolidation"
"github.com/raintank/metrictank/util"
)

type Req struct {
Expand Down
2 changes: 1 addition & 1 deletion api/models/series.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"math"
"strconv"

"github.com/grafana/metrictank/consolidation"
pickle "github.com/kisielk/og-rek"
"github.com/raintank/metrictank/consolidation"
"gopkg.in/raintank/schema.v1"
)

Expand Down
10 changes: 5 additions & 5 deletions api/query_engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package api
import (
"math"

"github.com/raintank/metrictank/api/models"
"github.com/raintank/metrictank/api/response"
"github.com/raintank/metrictank/mdata"
"github.com/raintank/metrictank/stats"
"github.com/raintank/metrictank/util"
"github.com/grafana/metrictank/api/models"
"github.com/grafana/metrictank/api/response"
"github.com/grafana/metrictank/mdata"
"github.com/grafana/metrictank/stats"
"github.com/grafana/metrictank/util"
)

var (
Expand Down
8 changes: 4 additions & 4 deletions api/query_engine_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import (
"regexp"
"testing"

"github.com/raintank/metrictank/api/models"
"github.com/raintank/metrictank/conf"
"github.com/raintank/metrictank/consolidation"
"github.com/raintank/metrictank/mdata"
"github.com/grafana/metrictank/api/models"
"github.com/grafana/metrictank/conf"
"github.com/grafana/metrictank/consolidation"
"github.com/grafana/metrictank/mdata"
)

// testAlign verifies the aligment of the given requests, given the retentions (one or more patterns, one or more retentions each)
Expand Down
Loading

0 comments on commit 16afc92

Please sign in to comment.