Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add active users statistics to metrics #4674

Merged
merged 7 commits into from
Sep 18, 2023
Merged

Conversation

Tymek
Copy link
Member

@Tymek Tymek commented Sep 12, 2023

About the changes

  • getActiveUsers is using multiple stores, so it is refactored into read-model
  • Refactored Instance stats service into features to co-locate related code

Closes https://linear.app/unleash/issue/UNL-230/active-users-prometheus

Important files

src/lib/features/instance-stats/getActiveUsers.ts

Discussion points

getActiveUsers is coded less class-based then previous similar read-models. In one file instead of 3 (read-model interface, fake read model, sql read model). I find types and functions way more readable, but I'm ready to refactor it to interfaces and classes if consistency is more important.

@vercel
Copy link

vercel bot commented Sep 12, 2023

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
unleash-monorepo-frontend ✅ Ready (Inspect) Visit Preview 💬 Add feedback Sep 18, 2023 0:57am
1 Ignored Deployment
Name Status Preview Comments Updated (UTC)
unleash-docs ⬜️ Ignored (Inspect) Visit Preview Sep 18, 2023 0:57am

src/lib/db/user-store.ts Outdated Show resolved Hide resolved
@Tymek
Copy link
Member Author

Tymek commented Sep 18, 2023

Performance: Average over 100 runs, all stats endpoint queries.

prior to change: 6.15ms
10 users, 30 tokens: 6.36ms
100 users, 300 tokens: 6.91ms
1000 users, 3000 tokens: 7.75ms
10000 users, 30000 tokens: 32.33ms

I didn't see any excessive memory use.

@Tymek Tymek marked this pull request as ready for review September 18, 2023 13:01
@Tymek Tymek merged commit 2c826bd into main Sep 18, 2023
15 checks passed
@Tymek Tymek deleted the feat/prometheus-active-users branch September 18, 2023 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

2 participants