-
Notifications
You must be signed in to change notification settings - Fork 1
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
Investigate performance of Score Runs #270
Comments
I see two methods of collecting the required data:
I prefer the second option as it allows easy continuous evaluations although it requires more effort now. What do you think? |
We already collect this data with our Poseidon influxdb Middleware. Do you want to collect additional data? Such as the network delay or the Poseidon overhead of the Nomad Copy Files process? |
I like the idea 👍, let's have a look at Sentry's Distributed Tracing to capture the data and proceed with our evaluation. |
The Distributed Tracing on Sentry works so far and traces are associated across CodeOcean and Poseidon. However, we don't have an instrumentation for the WebSocket part in CodeOcean yet, and therefore are missing the corresponding span in Poseidon. Hence:
|
I created PR openHPI/codeocean#1536 tackling the first two aspects of my list above. |
Additionally, we want to gain insights of the span |
I've added support for the JavaScript-based Sentry library for CodeOcean; those changes have been integrated. The final step is to finish the Sentry Relay, as tracked by #370. |
We have performed our first analysis. Leading to further steps. Sentry Performance MeasurementFrom the 24th to the 28th of August.
Next stepsUntil the next analysis we want to complete the issues:
Additionally, we want to complete these issues:
|
Some score runs triggered in CodeOcean are notoriously slow and take quite some time to finish. This led to some teachers spending a lot of time combining various test cases to minimize scoring results. One of the optimizations taken is to squash all test cases into one file, don't use the linter (in Python) or don't use a testing framework at all. Especially putting all tests into one file is somewhat understandable, as in the current workflow test files get executed sequentially.
Obviously, we want to optimize our tool rather than putting more efforts on teachers to optimize their tests. Therefore, before taking any specific steps, we should get a better understanding of the score runs and actually collect some profiling data. The data could help us answer the following questions:
How much time is needed ...
Based on these numbers, we could identify the main pain points to tackle them individually.
The text was updated successfully, but these errors were encountered: