-
Notifications
You must be signed in to change notification settings - Fork 493
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
Metrics APIs: Dataverses, Datasets, Files #4527
Comments
Today I stubbed out some code at fa8b601 |
In order to make this a little more real, I created a repo at https://github.com/IQSS/metrics.dataverse.org to start switching the front end code from pulling data from miniverse to pulling data from an installation of Dataverse. For now that installation of Dataverse is my server at https://dev1.dataverse.org running c62e7bb. I started with what I suspect is the easiest endpoint to migrate, which is called "Dataverses by Category". Below you can see https://dataverse.org/metrics on the left and my implementation from the new repo above on the right. As I migrate the other five metrics over, they'll appear in the version on the right: I guess I'll add a todo list. There are 6 metrics to implement:
From the perspective of Swagger, these are the 6 from https://services.dataverse.harvard.edu/static/swagger-ui/index.html?url=/miniverse/metrics/v1/swagger.yaml |
Discussed with @pdurbin (and got a demo!). Adding the six endpoints above to the Dataverse application is the correct scope of this issue. There are some other endpoints that are interesting (bytes used, for example), but we can develop iteratively. We'll work on an updated aggregator/reporting application in later issue, but we want to get these initial endpoints into a release sooner instead of later. |
I just chatted with @dlmurphy and it sounds like he and @jggautier may have already written some of the remaining queries we need as part of #4169. I can, of course, also refer to the miniverse code and maybe even run miniverse on my laptop to have it show me the raw SQL queries. The miniverse code seems to use the Django ORM, which is an abstraction. |
Conflicts (methods added in same location in file): src/main/java/edu/harvard/iq/dataverse/api/Admin.java
There were minor merge conflicts (methods added in the same place in Admin.java) so I just resolved them in 6cdad11 |
OK, generally works well but found a few items:
|
Caching issue should be fixed with latest commit |
(sorry for the delay in this comment) @kcondon - @matthew-a-dunlap volunteered to take on the remaining issues in standup. I left it assigned to you in case you wanted to test the fixes in parallel, but moving it back to development is OK too. |
Removed concat usage Added correct datasetsBySubject query Updated docs on default metrics timeout
While fixing the issues found during QA, a few extra issues were found and resolved:
All but one of the queries were touched during these changes, and they all should probably be re-tested. |
Following the discussion in #4478, we decided to add some new metrics endpoints to Dataverse based on the model that's current provided by Miniverse:
https://services.dataverse.harvard.edu/static/swagger-ui/index.html?url=/miniverse/metrics/v1/swagger.yaml
Let's estimate this as a group (all three endpoints) and if the estimate comes back high we can discuss breaking it up.
The text was updated successfully, but these errors were encountered: