Git Product home page Git Product logo

datastore_timeseries's Introduction

Build Status

#Timeseries Datastore

This is a timeseries datastore for the databox

the datastore exposes a http based api on port 8080 withe following end points

Method: POST
URL: /api/reading
Parameters: Raw JSON body containing elements as follows {sensor_id: <sensor ID>, vendor_id: <vendor ID>, value:  <sensor value>}
Notes: The vendor_id and sensor_id must be valid and related entries in the databox directory in order for the reading to be accepted

Method: POST
URL: /api/reading/latest
Parameters: Raw JSON body containing elements as follows {sensor_id: <sensor ID>
Notes: will return the latest reading based on the databox wide sensor id

Method: POST
URL: /api/reading/latest
Parameters: Raw JSON body containing elements as follows {sensor_id: <sensor ID>}
Notes: will return the latest reading based on the databox wide sensor_id

Method: POST
URL: /api/reading/range
Parameters: Raw JSON body containing elements as follows {sensor_id: <sensor ID>, start: <start timestamp>, end: <end timestamp>}
Notes: will return the range of readings between start and end based on the databox wide sensor_id

TODO:

  1. Implement checking of sensor id presence within databox directory for posting sensor readings
  2. Implement checking of valid macaroon data to allow for access to latest and range data
  3. Implement aggregated range reading so for example one could specify the reslution at which to return data (assuming complicance with SLA). This needs some thinking as not all timeseries data lends itself to all types of aggregation, i.e. state on and off cannot be averaged over time, likely that sensor meta data will be needed to added to the directory which describes the types of aggregation that are supported by the sensors data stream.

datastore_timeseries's People

Contributors

toshbrown avatar jimalexc avatar jcolley729 avatar

Watchers

Richard Mortier avatar James Cloos avatar  avatar Hamed Haddadi avatar

Forkers

toshbrown

datastore_timeseries's Issues

HTTPS Api

API moving to HTTPS with cert signed by the CM

Audit log

Audit log, to recover information about accesses made to/from the store.

Log all interaction into an audit DB.

Add the /audit end points

Suggestions:

1 Make it a time series like endpoint with /latest and /since endpoints  
2 Filter by sensor ID
3 Filter by sensor type 
4 Filter by reads and writes.  

Hypercat compliance

To enable Hypercat compliance this datastore needs to implement:

A /cat endpoint that returns a valid Hypercat catalog. This must be app facing

A /register/datasource endpoint that is driver facing to enable a driver to add their sources

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.