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

Re-designing the functions to calculate Metrics. #59

Closed
aswanipranjal opened this issue May 23, 2018 · 2 comments
Closed

Re-designing the functions to calculate Metrics. #59

aswanipranjal opened this issue May 23, 2018 · 2 comments

Comments

@aswanipranjal
Copy link
Contributor

Right now, the functions and classes (in metrics.py and esquery.py) that we use to calculate the metrics are complex and repetitive. They get us the results but specialising them for specific classes is too complex and code reuse is difficult to achieve.
We are going to simplify them and add more functional and easy to use chain-able functions which let us apply filters easily and give the output in a structured format.

We will try to use only elasticsearch_dsl objects directly and look at different possible methods in which these helper functions and classes can be created.

For example:
If we are counting Closed Issues in a repo, then we be able to do it by just specifying the filters that item_type="issue" or pull_request="false" and then apply the sum aggregation in the Search object created.
But right now, we have to create an object from the GithubIssuesMetrics class which inherits from the Metrics class and then use that object's functions to get the aggregation. This is rather cumbersome.

This Notebook will be the experimentation lab for this issue.

aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 12, 2018
- new_functions.py file containing the basic classes and functions
- derived_classes.py file containing the derived classes
- Readme.md describing how to use the above 2 files

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 12, 2018
- new_functions.py file which has the basic classes and functions
- derived_classes.py file which has the derived classes
- Readme.md describing how to use the above 2 files

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 24, 2018
- new_functions.py file which has the basic classes and functions
- derived_classes.py file which has the derived classes
- Readme.md describing how to use the above 2 files
- sample_metrics.ipynb describing how the classes can be used
- tests for the basic functions inside the Query class

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 26, 2018
- new_functions.py file which has the basic classes and functions
- derived_classes.py file which has the derived classes
- Readme.md describing how to use the above 2 files
- sample_metrics.ipynb describing how the classes can be used
- tests for the basic functions inside the Query class

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 26, 2018
- new_functions.py file which has the basic classes and functions
- derived_classes.py file which has the derived classes
- Readme.md describing how to use the above 2 files
- sample_metrics.ipynb describing how the classes can be used
- tests for the basic functions inside the Query class

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 27, 2018
- new_functions.py file which has the basic classes and functions
- derived_classes.py file which has the derived classes
- Readme.md describing how to use the above 2 files
- sample_metrics.ipynb describing how the classes can be used
- tests for the basic functions inside the Query class

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jun 29, 2018
- new_functions.py file which has the classes and functions
to Query and implement the metrics
- derived_classes.py file which has the derived classes:
 Issues and PullRequests
- Readme.md describing how to use the above 2 files
- sample_metrics.ipynb listing the current CHAOSS metrics as well
as GMD metrics
- tests for the basic functions inside the Query class

Addresses issues chaoss#59 and chaoss#62
aswanipranjal added a commit to aswanipranjal/grimoirelab-manuscripts that referenced this issue Jul 4, 2018
- new_functions.py: contains Query & Index classes and functions
to parse the fetched data
- derived_classes.py: contains PullRequests and Issues classes
- Readme.md describing how to use the above 2 files
- tests for the basic functions inside the Query class

Also add:
- Examples/Sample_metrics.ipynb: contains the CHAOSS and GMD
metrics that are being calculated using the new functions

Addresses issues chaoss#59 and chaoss#62
jgbarah pushed a commit that referenced this issue Jul 6, 2018
- new_functions.py: contains Query & Index classes and functions
to parse the fetched data
- derived_classes.py: contains PullRequests and Issues classes
- Readme.md describing how to use the above 2 files
- tests for the basic functions inside the Query class

Also add:
- Examples/Sample_metrics.ipynb: contains the CHAOSS and GMD
metrics that are being calculated using the new functions

Addresses issues #59 and #62
@jgbarah
Copy link
Contributor

jgbarah commented Jul 18, 2018

Can we close this issue now?

@aswanipranjal
Copy link
Contributor Author

Yes, thank you for the reminder!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants