The Chronology Project
Introduction
This repository contains three loosely coupled projects:
-
Kronos is a time series storage engine that allows you to store and retrieve timestamped JSON blobs from various backends (e.g., Cassandra, S3). It's a way friendlier logging API than your filesystem.
-
Metis is a HTTP compute service over streams of data stored in Kronos. It's currently implemented as a thin wrapper around the Spark data processing engine.
-
Jia is a visualization, dashboarding, and data exploration tool. It can speak with Kronos and Metis. It answers questions for humans, rather than just developers.
Get running in 5 minutes
Each of these projects has a "Get running in 5 minutes" section. If you can't get started with one of these systems in five minutes, contact us and we'll make sure you can!
Contributing
You're contributing to this project by using it, so thanks!
If you run into any issues with code or documentation, please file an issue and we'll jump in as soon as we can.
Testing
If you contribute code, run the appropriate runtests.py
in each
subproject directory, and please add some tests for your new
contribution.
Minimal style guide
We generally stick to PEP8 for our coding style with the exception of using 2-space tabs. Be sure to indent with spaces and wrap at 79 characters.
Submitting code
Note: we're currently working through the fact that only repository owners can follow these directions. As a temporary measure, use edX's rebase instructions to contribute to this repository.
Before making a contribution, create a new branch off of master:
git pull origin master
git checkout -b feature-branch
Edit your code and commit it, and then push it back to github:
git push origin feature-branch
Submit a pull request, and await a code review. Once a
reviewer comments 'LGTM' (looks good to me), bring the code into
master with the following command (from your feature-branch
):
./push_branch.sh <commit message>
Many many thanks for contributing!