Lotsa metrics + database cleanup + public dataset API
Pre-release
Pre-release
·
2338 commits
to master
since this release
The theme of this release is: metrics.
On the server side, we have (#310):
- Metrics API that returns daily, monthly, yearly summaries of various metrics,
both wrt local time filters and UTC timestamp ranges. - New metrics screen that shows trip count, distance and duration over time,
split by mode. On the server, these are aggregate metrics - on the phone,
they are individual metrics.
Thanks to @yw374cornell, we now have a new public API for pulling data from the
test phones from the server. This is the first step towards creating a public
database that can be used for power/efficiency tradeoffs. (#312, #317)
We also have several other cleanup fixes.
- Unify, extend and fix bugs in the built-in timeseries implementation
- Refactor the query that excludes test phones
- Clean up analysis timeseries code
- Fix several bugs found by running automated tests after cleanup
- Fixed local_date semantics to better match timestamp semantics
- clean up the database queries to remove obsolete collections
get_trip_new_db()
,get_place_db()
,get_section_new_db()
and
get_stop_db()
and their references. - refactor the index generation code and create a bunch of new indices for the
analysis objects - Reuse mongodb connection across multiple collection retrievals. This improves
performance and prevents exhaustion of incoming connections. - Move all logging config to the main function. Module level logging config is
bad because it can override logging configs in other modules, depending on
import order.