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

[Analytics] Logging system #6

Open
thisistimothychen opened this issue Jan 10, 2019 · 4 comments
Open

[Analytics] Logging system #6

thisistimothychen opened this issue Jan 10, 2019 · 4 comments
Assignees
Labels
backend Old Non-priority / older issues

Comments

@thisistimothychen
Copy link
Member

Logging system to track API calls + other info
Think about what would be helpful for (1) debugging (a) during the event or (b) during development, and (2) useful stats to promote this to other hackathons

@spiratla12
Copy link

spiratla12 commented Jan 15, 2019

Proposed Solution

Due to using EC2, we think that we can leverage AWS’s logging system to help log calls to the API. We would be focused on who is making the call, what endpoint they are hitting, and at what time (it would be helpful if more suggestions could be given as to what else we could log :)). We would use AWS and post process this information using Python. We also want to use this information to help come up with useful statistics, for example:

  • How many submissions does a challenge get
  • What challenges seem to be more popular within the hacker population
  • What companies seem to be more popular via number of submissions
  • Etc ….

Timeline

  • By January 20th - research AWS logging and start building preliminary version of logging system in Python
  • By February 15/16 - have logging system and statistics finished
  • By Feb 22/23 - Be finished testing

Questions to ask Team

  • Suggestions on what else we could log would be helpful :)
  • Is it reasonable to use AWS’s system?

@thisistimothychen
Copy link
Member Author

thisistimothychen commented Jan 15, 2019

  1. I really love the useful statistics so far, I hadn't even thought about those things :) This could be cool to create an endpoint for (e.g. /api/projects/stats) which could be shown as a visualization/summary on the Godmode dashboard so admins can see this type of info at-a-glance.
  2. Other metrics that could be useful:
    • Number of hits to a particular endpoint (use case: "how many people used the expo app in the past 5 minutes?" --> allow admin to hit an endpoint which uses query string parameters to filter the logs and aggregate the count of hits to that specific endpoint within the timestamps given) --> this use case is pretty specific, so if it's confusing lmk and I can expand more! This is one of the main features of the logging system that would be really awesome if we could get it implemented!
    • The response code for an endpoint
    • Other resopnse info for an endpoint? (this might take up too much space / might not be necessary)
  3. Can you expand on what AWS logging system you want to use and what would be required for us to use it? (Can our current infrastructure work even though we're not using anything like API Gateway? If not, what would we need to set up in order to use AWS's logging?)
  4. How will you two split up this task? Who will handle setting up the infrastructure necessary (e.g. AWS stuff)? Who will handle x or y feature?

(Update) 1-20-18

  • Infrastructure of logging system -> Japneet
  • Postprocessing -> Sandhya
  • Statistics -> both

@spiratla12
Copy link

Thanks Tim for the tips on statistics and other metrics to log! We will have a much clearer idea on the AWS stuff by the 20th, and will provide a much better answer then. We are currently in discussion on how we want to split tasks up.

@spiratla12 spiratla12 added Epic and removed Epic labels Jan 15, 2019
@spiratla12
Copy link

spiratla12 commented Feb 5, 2019

Finalized on using a log file

How we would like to go forward:
-- Add logging infrastructure to server.py; best to create a loggingAnalytics.py, and call methods from there in server.py

-- worthwhile to have a configuration file

-- postprocessing of metrics would be in loggingAnalytics.py

-- figure out what exact statistics could be useful to display to sponsors:
-- create endpoints for different statistics, which when called, would give the data (front-end : have a button to retrieve statistics)

Tasking:
Logging system with Python -> Japneet
Postprocessing of metrics-> Both
Statistics from database -> Sandhya

@spiratla12 spiratla12 removed the Epic label Feb 25, 2019
@cloudui cloudui added the Old Non-priority / older issues label Apr 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Old Non-priority / older issues
Projects
None yet
Development

No branches or pull requests

4 participants