-
Notifications
You must be signed in to change notification settings - Fork 11
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
Resource usage and time metrics #370
Comments
Use Case: The API shall provide capabilities for visual process monitoring in the distributed compute environment. Note: This shall provide relevant information through graphs/dashboards on e.g. orchestration, data throughput, CPU workloads, etc. so that users can optimise the efficiency of their code and thus reduce the costs required when switching to bulk processing. (req. 60) |
Another solution could be custom response headers. This is probably the only option for sync processing (unless you make sync processing stateful). For batch and services, something like |
That was not clearly described: For synchronous processing, it would just be added to the log file that can be returned via the header, which is the equivalent to /logs in batch/services. Sync. processing is stateful anyway if you implement either billing (which most services will do) or return log "files" via the header. The advantage of log "files" would be that it can also do intermediate time metrics, e.g. after each process. That would certainly help to find out bottlenecks. That would be a reason against custom headers, especially as you'll often use sync processing for debugging and trying things out on smaller chunks, where you'd probably would like to get the metrics as detailed as possible. So overall, it seems like the best option would indeed be ".../logs" (batch/services) / log-header (sync). |
This is the last issue for API v1.1.0 right now that doesn't have a corresponding PR.
|
Instead of specifying a fixed unit for each metric, we could also make it self-descriptive:
see PR: #383 |
I'll try to figure out if accessing to /logs can be made user friendly enough. Maybe we can even do both, using /logs for all kinds of advanced use cases, and the same 'usage' properties inside the job metadata, where users can immediately see them? |
In the Web Editor it's implemented already with a UI. That could also be integrated into Jupyter.
That is actually what PR #383 proposes.
But that seems to be a back-end / implementation issue?! Nevertheless, should be solved in the mentioned PR. |
Apologies, I see it now indeed in the diff, so that seems reasonable. |
@jdries I understand that this is important, but I'm not sure whether this is just a general remark or you'd want something specific to be changed/added/... in the current proposal? Is the proposal unambiguous? |
Was just a general remark, no changes needed! |
Shouldn't the units of memory and network be exchanged ? |
@kempenep I don't think so, I've usually only seen those units in use. If you have more details on where this is handled differently, please let me know. |
Merged. |
Could be done via:
Could include:
These metrics can be visualized in a web interface, which should give the user an idea of scalability.
The text was updated successfully, but these errors were encountered: