Comments (6)
https://prometheus.io/docs/instrumenting/writing_exporters/
from wakapi.
Export metrics:
- Number of users
- Number of active users
- Number of recorded heartbeats
- Total sum of recorded minutes of coding time
- Total sum of recorded minutes per OS ?
- Total sum of recorded minutes per editor ?
- Total sum of recorded minutes per language ?
Q: I'm not too experienced with Prometheus. Does anyone know, if its a good practice to export metrics like the last three from above? Obviously, exporting a metrics for every tracked project is infeasible, as the amount of projects can easily be several hundreds or thousands. OSs, editors and languages could, in theory, also be an infinite set each, however, in practice, it will probably be a manageable finite number.
from wakapi.
Moreover, this would have to be done on a per-user basis.
- Option 1: Parameterize
/metrics
endpoint with an?apiKey=
argument, so that metrics are always only scraped for a specific given user - Option 2: Include the user name as a metrics label. This way, any user could track any other user's statistics, which seems to be a bad idea.
from wakapi.
Option 1 would go well with Wakatime's convention to have /current/
in the URL path reference the currently logged in user.
wakatime_exporter implements option 1 and exports separate labels for every project, editor, etc.
from wakapi.
May also be realized as a standalone exporter, just like wakatime_exporter. In fact, when implementing #44 and #45, wakatime_exporter could be used as is.
from wakapi.
I decided not to implement an own Prometheus exporter for now, but instead rely on wakatime_exporter
as an additional, standalone tool.
from wakapi.
Related Issues (20)
- Won't bind HOT 2
- Filter dropdown empty for unknown project
- Make weeks start on Mondays
- Feature to invite users HOT 8
- File becomes a project in the summary and is empty HOT 1
- SSO integration (OIDC) HOT 2
- [BUG] Date is impossible to enter with a keyboard
- Rate limiting for sensitive endpoints
- Clean up dead user accounts for GDPR compliance HOT 7
- Category breakdown HOT 4
- new accounts HOT 2
- Docker build failing HOT 3
- /leaderboard and /projects broken for logged in users after update HOT 3
- Captcha validation for user sign-up HOT 1
- VSCode "WakaTime Error" in statusbar, does not collect stats HOT 6
- Postgres port of `aggregate_durations.sql` HOT 2
- WakaTime import downloads wrong file
- Improved user validation error messages
- category unknown HOT 1
- Use relative file paths for individual file coding time HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wakapi.