Skip to content

Latest commit

 

History

History
82 lines (64 loc) · 2.41 KB

README.md

File metadata and controls

82 lines (64 loc) · 2.41 KB

kai

KairosDB Erlang Client

⚠️ WIP. Do not use yet.

Roadmap / planned features:

  1. Inserting metrics:
  • pool of raw tcp clients (aka telnet API)
  • schedules ELB-friendly "ping", prevents corporate firewalls from killing idle connections
  1. Retreiving metrics and aggregations:
  1. pre-aggregation facility

  2. benchmarks / load-testing tools

Detailed implementation status

  • Configuration

    • Telnet port
    • Telnet host
    • Pool size
    • Ping interval
    • REST API port
    • REST API host
  • Pool of telnet clients

    • Insert data points
    • Query version
    • Auto-reconnect
      • Proper back-off on connection errors (currently each connection is delayed to prevent reconnections at the same time)
    • ELB friendly keep-alive for erlang node-cassandra
    • ELB friendly keep-alive for kairos-cassandra
  • REST API (adding data points is not planned, there is no good reason to do it within the scope of this client)

    • custom response wrappers
      • delete data points
      • delete metric
      • list metric names
      • list tag names
      • list tag values
      • query metrics
        • query builder api - stable (improvements pending)
        • validate input as much as possible
        • aggregates:
          • avg
          • sum
          • dev
          • div
          • histogram
          • least_squares
          • max
          • min
          • rate
        • tags support
        • group_by support
          • tags
          • time
          • value
        • exclude_tags
        • limit
        • order
  • Pre-aggregation (TBD)

  • Load-testing / spammers (TBD)

Credits

Authors

Adam Rutkowski [email protected]

Łukasz Biedrycki [email protected]

Special thanks

Thanks to Mahesh Paolini-Subramanya and Ubiquiti Networks for letting us making it an open source project.