GitHub-Time-Tracking icon indicating copy to clipboard operation
GitHub-Time-Tracking copied to clipboard

Add support for analyzing time per month

Open ghost opened this issue 11 years ago • 11 comments

Hi. I think some other views would be useful. Time spent per month (and per day and per week) and also per user. For example check http://www.r-labs.org/projects/worktime/wiki - despite the screenshots being in Asian this redmine plugin give very useful reports. The links on the left are issues and the black row in the table is per project summary. I can provide screenshots in English if you are interested in adding similar features. Regards.

ghost avatar Mar 18 '14 03:03 ghost

Thanks for the Feedback!!

For the time spent per day, week, and month how do you imagine this data to broken broken down?

For user I can see (and pretty much already have the code ready for this from the work done in GitHub-Analytics(stephenott/GitHub-Analytics)), to breakdown the number of hours a user has spent on issues per day, week, and month. Could also see this broken down for Milestones, Repos, and label selections.

If you take users out of it for a minute. What is the business question you would likely ask?

  1. How many hours have been spent on a specific issue Per Day, Week, Month, Quarter, and Year?
  2. How many hours have been spent on a specific milestone per Day, Week, Month, Quarter, and Year?
  3. How Many hours have been spent on issues related to a specific selection of labels Per Day, Week, Month, Quarter and year?

In the future I could see a need for this being based on a time period. But I cannot imagine a use case where this is needed "day 1". If you see otherwise please let me know.

StephenOTT avatar Mar 18 '14 03:03 StephenOTT

Images referenced from Post 1: https://github.com/StephenOTT/GitHub-Time-Tracking/issues/7#issue-29618457

allmember_ eachmember_

StephenOTT avatar Mar 18 '14 04:03 StephenOTT

Hi Stephen,

If you take users out of it for a minute. What is the business question you would likely ask?

  1. How many hours have been spent on a specific issue Per Day, Week, Month, Quarter, and Year?
  2. How many hours have been spent on a specific milestone per Day, Week, Month, Quarter, and Year?
  3. How Many hours have been spent on issues related to a specific selection of labels Per Day, Week, Month, Quarter and year?

Pretty much like this, but for the month/year etc. reports I would like to be able to see summary of all projects, not only per project. Imagine this scenario (which is our use case). We have a company with multiple developers which are working on multiple projects. We need to be able to get overview of how developers spend their time - every day and every week and every month. So we need view like the above screenshots for all developers or per developer. This is important for planning and budget. Check how my worktime report looks - I can see the time I spent in the month, as well the time for each project, as well the time for each task.

screen shot 2014-03-18 at 09 08 30

Also it will be very useful to be able to browse all time logs per task or per project or per milestone for one user or for all users. This way one can see the relevant comments and check what has been done, etc.

To be honest I'm not the guy using this, but we are currently relying on redmine (which I don't like) with some plugins and I want to move our project management fully to GitHub, so I'm investigating possible solutions for time tracking.

ghost avatar Mar 18 '14 07:03 ghost

What you are asking to do is not too much work. The biggest biggest problem is also around dates without any values, but as i mentioned that was resolved in GitHub-Analytics repo.

What i would like to start with is the Issues view for a Repo (:User/:Repo/issues). This will give you the same output as the view in your image above but without the user. Once that view is completed, and added the specific "user" filter will be quite easy.

I have just made some changes to the way issues time, and issues time tasks as logged to support easier reporting.

I will commit the changes very soon and provide a POC view that give the time breakdowns.

What i am likely to do is create a aggregation that is based around a single date/day. Then the query is run for each day in your time period. This will support both the user and non-user queries. it is potentially a little heavy on the number of queries, but nosql is pretty quick and from the looks of it, it will be the minimalist code needed rather than a large complex writeup.

The logic would be something like this:

  1. Generate a list of each issue for a repository (almost exactly the same as /:user/:repo/:issues.
  2. generate a table for each day/week/month/quarter/year in your time period. One column for each object(day/week/month/quarter/year).
  3. Run the Mongo aggregation for each of the object occurrences in the table.

This process will easily support filters and support user filters as well. We can also do drill downs as we move forward.

What is the most valuable view for you? I want to target the largest business value up front. So if you can define the specific view and the specific data that needs to be in that view, we can move forward. Looking at your screenshot, I am thinking its Users. Do you need to see your time breakdowns by Issue or Milestone?

StephenOTT avatar Mar 18 '14 07:03 StephenOTT

What is the most valuable view for you?

For me this stuff is not important, but I need my boss to like it ;) Most important is report per user. For example to see what work the user has done each month or week or day. Because salary is per user and when you have company you need to check what you need to pay to your devs. Next most important thing is overview per month, per week, per day - to be able to view what time has been spent overall for the time period and for particular tasks and projects for all users. This is important for task scheduling and planning and to know the overall progress.

ghost avatar Mar 18 '14 13:03 ghost

Would the format be something like this: screen shot 2014-03-18 at 1 38 38 pm

StephenOTT avatar Mar 18 '14 17:03 StephenOTT

@bobef any comments?

StephenOTT avatar Apr 13 '14 03:04 StephenOTT

Sounds amazing!

jkuchar avatar Sep 16 '14 22:09 jkuchar

jan what are your use cases?

On Tuesday, September 16, 2014, Jan Kuchař [email protected] wrote:

Sounds amazing!

— Reply to this email directly or view it on GitHub https://github.com/StephenOTT/GitHub-Time-Tracking/issues/7#issuecomment-55822234 .

StephenOTT avatar Sep 16 '14 22:09 StephenOTT

@jkuchar what are your use cases?

StephenOTT avatar Sep 17 '14 00:09 StephenOTT

I have a really simle scenario, I need once a week/month find all allocated time that had been worked (for each person). Otherwise I need to track time ouside of gitlab and that is not so convinient.

Second use case is that user is able to show all recorded time in some time interval. (just to check that he has written everything) There should be sth. like item view (shows every single tracking item (issue, comment, etc.) and sum, that shows just final number.

jkuchar avatar Sep 17 '14 06:09 jkuchar