Analytics Engine - #27
Merged
Merged
Conversation
* Move open/closed entry organization into Analyzer * Move Split generation out of DataProcessor into Split directly * Move per-entry analysis into EntryAnalysis * Add AnalysisCache to hold date-based lookups (and manage string keys better) * Keep Analyzer as the final operation and result manager * Remove DataProcessor
Codecov Report
@@ Coverage Diff @@
## master #27 +/- ##
==========================================
+ Coverage 91.46% 91.84% +0.37%
==========================================
Files 16 22 +6
Lines 1676 2010 +334
==========================================
+ Hits 1533 1846 +313
- Misses 143 164 +21
Continue to review full report at Codecov.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
totalandbyCategoryoperations to replace widget and landing screen analysisDetails
Analyzerto alias queries and hold actual analysis/caches/etcAnalysisCacheto cacheEntryAnalysisresults by day and allow fast retrievalSplitto analyze Entries over their full range and generate calendar-aligned durationsDateHelperand addTimePeriod/TimeRangefor easy to communicate rolling and fixed durationsAnalysis Details
Concerns
Calendar interface and API expectations
Calendar.current, but that made test stability tricky.AnalysisCachein actual usage will be hidden from external use. It's an implementation detail for performance.This means that there is a default calendar only when passing by relative range.