fix(coderd): use insights for DAUs, simplify metricscache #12775
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.
This PR simplifies the DAU logic by relying on rolled up insights giving us great query performance and removing the need for caching each individual timezone.
For this fix, I opted not to refactor the WebUI requests to use
start_time=...&end_time=...
like template insights requests do. Instead I retrofitted this logic on the/daus
API endpoints using the TZ offset.I also opted to always return 60 days (2 months), just because the way this is used it doesn't make sense to return more.
In the future, we can request this data from
/insights/templates?section=interval&start_time=&end_time&interval=day
instead, this also takes care of the 60 days hardcoding.Fixes #12134
Fixes https://github.com/coder/customers/issues/384
Refs #12122