Skip to content

Commit b75109b

Browse files
committed
[doc][db] Add KairosDB, OpenTSDB, Heroic, Druid
- KaiorsDB, OpenTSDB, Heroic protocol are all quite similar - [ ] TODO: Heroic write seems can only write one series at a time - Druid is pretty simialr to InfluxDB, dimension is tags, metrics are fields - [ ] TODO: it does not have detailed doc for its HTTP API ... - remove influxdb/model.go - add libtsdbpb, though it might change ...
1 parent 3481b2e commit b75109b

21 files changed

+1851
-42
lines changed

.editorconfig

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# top-most EditorConfig file
2+
root = true
3+
4+
[*.{md}]
5+
indent_style = space
6+
indent_size = 2
7+
8+
[Makefile]
9+
indent_style = tab

doc/database/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Required list in readme
44

55
- status: active|dead
66
- repo: https://github.com/some/tsdb
7+
- website: https://some.tsdb.com
78
- company: The TSDB Corp.
89

910
Required files for describing each databases, they will be merged into [awesome-time-series-database](https://github.com/xephonhq/awesome-time-series-database) eventually

doc/database/druid/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Druid
2+
3+
- repo: https://github.com/druid-io/druid
4+
- website: http://druid.io/

doc/database/druid/docker.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Docker
2+
3+
- https://github.com/druid-io/docker-druid

doc/database/druid/model.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Model
2+
3+
- [ ] TODO: its dimension is tags, metrics is like InfluxDB's fields

doc/database/druid/protocol.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Protocol
2+
3+
- http://druid.io/docs/0.11.0/ingestion/data-formats.html
4+
5+
## Write HTTP
6+
7+
- [ ] TODO: http://localhost:8200/v1/post/metrics it suggest using its own client, no doc for public api?
8+
9+
````json
10+
{"timestamp": "2013-08-31T01:02:33Z", "page": "Gypsy Danger", "language" : "en", "user" : "nuclear", "unpatrolled" : "true", "newPage" : "true", "robot": "false", "anonymous": "false", "namespace":"article", "continent":"North America", "country":"United States", "region":"Bay Area", "city":"San Francisco", "added": 57, "deleted": 200, "delta": -143}
11+
````

doc/database/heroic/README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Heroic
22

3-
https://github.com/spotify/heroic
3+
- oss: true
4+
- repo: https://github.com/spotify/heroic
5+
- website: https://spotify.github.io/heroic
6+
- company: heroic
47

58
## Ref
69

doc/database/heroic/model.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Model
2+
3+
- https://spotify.github.io/heroic/#!/docs/data_model
4+
- Point `[<timestamp>, <value>]` like KairosDB
5+
- timestamp, milliseconds
6+
- value, float64
7+
- Event `[<timestamp>, {<payload>}]` **experimental**

doc/database/heroic/protocol.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Protocol
2+
3+
## Write HTTP
4+
5+
- https://spotify.github.io/heroic/#!/docs/api/post-write
6+
- very similar to KairosDB
7+
- [ ] TODO: only one series in one request?
8+
9+
````json
10+
{
11+
"series": {"key": "foo", "tags": {"site": "lon", "host": "www.example.com"}},
12+
"data": {"type": "points", "data": [[1300000000000, 42.0], [1300001000000, 84.0]]}
13+
}
14+
````

doc/database/hitsdb/README.md

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# HiTSDB
2+
3+
- status: active
4+
- oss: false
5+
- repo:
6+
- website: https://cn.aliyun.com/product/hitsdb
7+
- company: aliyun
8+
- protocols:
9+
- opentsdb
10+
- clients:
11+
- https://github.com/aliyun/HiTSDB-Client

doc/database/kairosdb/README.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# KairosDB
2+
3+
- status: active
4+
- repo: https://github.com/kairosdb/kairosdb
5+
- website: https://kairosdb.github.io/

doc/database/kairosdb/build.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Build
2+

doc/database/kairosdb/docker.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Docker
2+
3+
- [official docker support for Kairosdb?](https://github.com/kairosdb/kairosdb/issues/288)

doc/database/kairosdb/protocol.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Protocol
2+
3+
## Write Telnet
4+
5+
## Write HTTP
6+
7+
- it has to form for points
8+
- `[1359788400000, 123]` first is ts in **milliseconds**
9+
- `{"timestamp": 1359786400000, "value": 321}` should be from OpenTSDB
10+
- https://kairosdb.github.io/docs/build/html/restapi/AddDataPoints.html
11+
12+
````json
13+
[
14+
{
15+
"name": "archive_file_tracked",
16+
"datapoints": [[1359788400000, 123], [1359788300000, 13.2], [1359788410000, 23.1]],
17+
"tags": {
18+
"host": "server1",
19+
"data_center": "DC1"
20+
},
21+
"ttl": 300
22+
},
23+
{
24+
"name": "archive_file_search",
25+
"timestamp": 1359786400000,
26+
"value": 321,
27+
"tags": {
28+
"host": "server2"
29+
}
30+
}
31+
]
32+
````

doc/database/opentsdb/README.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,6 @@
11
# OpenTSDB
22

3+
- status: active
4+
- repo: https://github.com/OpenTSDB/opentsdb
5+
- website: http://opentsdb.net/
6+
- company: Yahoo!

doc/database/opentsdb/protocol.md

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Protocol
2+
3+
## Write Telnet
4+
5+
6+
7+
## Write HTTP
8+
9+
````json
10+
{
11+
"metric": "sys.cpu.nice",
12+
"timestamp": 1346846400,
13+
"value": 18,
14+
"tags": {
15+
"host": "web01",
16+
"dc": "lga"
17+
}
18+
}
19+
````

libtsdb/common/influxdb/encoder.go

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package influxdb
2+
3+
type Encoder struct {
4+
buf []byte
5+
}
6+
7+
func (e *Encoder) MarshalPointIntTagged() {
8+
9+
}
+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package influxdb

libtsdb/common/influxdb/model.go

-41
This file was deleted.

0 commit comments

Comments
 (0)