Categorygithub.com/libtsdb/libtsdb-go
module
0.0.1
Repository: https://github.com/libtsdb/libtsdb-go.git
Documentation: pkg.go.dev

# README

libtsdb-go

Clients and Server implementation of multiple TSDB protocols in Go

Supported time series databases

Databaseclient writeclient readserver writeserver read
AkumuliTCP/RESPNNN
InfluxDBHTTP/LineNNN
GraphiteTCP/LineNNN
KairosDBHTTP/JSON TCP/LineNNN
Xephon-K(TODO) TCP HTTP/JSON GRPCNNN
OpenTSDBHTTP/JSON (NA)NNN
HeroicHTTP/JSON (NA)NNN

Motivation

Metrics

To be used with benchmark like xephon-b, the client (both http and tcp) return struct that meet libtsdb.Trace interface to avoid user add extra wrapper to get latency etc. http client uses net/http/httptrace and can give more detailed data.

For a single request

  • request start time
  • request end time (for http, this include reading response)
  • series, points written
  • raw size (data + meta)
  • raw meta size (series name, tags)
  • payload size

Accumulated results

  • points written
  • raw size (data + meta)
  • raw meta size (series name, tags)
  • payload size

Roadmap

  • client write
    • simple text line protocol, InfluxDB, Graphite, Akumuli
    • OpenTSDB(ish) JSON, KairosDB, Heroic, Xephon-K
      • Xephon-K no longer use JSOn, OpenTSDB and Heroic don't have handy docker images
    • GRPC, Xephon-K
    • Thrift, Gorilla
  • client read
    • InfluxDB
    • OpenTSDB(ish) JSON, KairosDB, Heroic, Xephon-K
    • Prometheus?
  • server write

License

MIT

# Packages

No description provided by the author
No description provided by the author