Skip to content

grafana/dskit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Grafana Dskit

This library contains utilities that are useful for building distributed services, including:

  • Exponential backoff for retries.
  • A common cache API, implemented for Memcached and Redis.
  • Hedging, sending extra duplicate requests to improve the chance that one succeeds.
  • A common key-value API, implemented for Consul, Etcd and Memberlist.
  • RPC middlewares, for metrics, logging, etc.
  • A services model, to manage start-up and shut-down.

Current state

This library is used at scale in production at Grafana Labs. A number of packages were collected here from database-related projects:

Go version compatibility

This library aims to support at least the two latest Go minor releases.

Contributing

If you're interested in contributing to this project:

License

Apache 2.0 License