Recent

Author Topic: Keeping track of project statistics - timings  (Read 30520 times)

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Keeping track of project statistics - timings
« Reply #30 on: July 21, 2017, 10:48:51 am »
I am mostly using Lazarus on Raspberry Pi recently. It may not be so easy to collect "other software usage" statistics in there.
I do not see how would that differ to other Linuxes. Whenever Lazarus is not focused that can be 'Other' category, having or not having a subcategory with window title. That way it's not hard to filter out what info is not needed for internal or external stats presentation.
No, that is asking too much this is an IDE addin  not a general time tracking application. It suppose to help you understand where most of your time is spend inside the IDE. There are general time tracking application out there use one of those if you want something more.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

avra

  • Hero Member
  • *****
  • Posts: 2514
    • Additional info
Re: Keeping track of project statistics - timings
« Reply #31 on: July 21, 2017, 11:43:47 am »
It suppose to help you understand where most of your time is spend inside the IDE.
So everything outside of IDE is 'Other'. Good enough for me to make a patch that would differentiate further if needed. No one would be forced to use automated time tracking if he doesn't want to. However I am quite sure I wouldn't be the only user of such a feature.
 ::)
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

Thaddy

  • Hero Member
  • *****
  • Posts: 14164
  • Probably until I exterminate Putin.
Re: Keeping track of project statistics - timings
« Reply #32 on: July 21, 2017, 11:55:31 am »
8. What about Copyright infringement if any? Is this feature patented?

Well actually they were patented at some point by AT&T Bell Labs (metrics, 1955, before I was born 1958). But the patents expired a very long time ago and were - with hindsight - probably never valid because of prior knowledge: it is a very minor subset of statistics.

https://en.wikipedia.org/wiki/Bell_Labs More specific by Bob Prim.
« Last Edit: July 21, 2017, 11:59:14 am by Thaddy »
Specialize a type, not a var.

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Keeping track of project statistics - timings
« Reply #33 on: July 21, 2017, 12:01:47 pm »
It suppose to help you understand where most of your time is spend inside the IDE.
So everything outside of IDE is 'Other'. Good enough for me to make a patch that would differentiate further if needed. No one would be forced to use automated time tracking if he doesn't want to. However I am quite sure I wouldn't be the only user of such a feature.
 ::)
I was thinking more on the lines of Idle time but you can name it other if you wish.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Thaddy

  • Hero Member
  • *****
  • Posts: 14164
  • Probably until I exterminate Putin.
Re: Keeping track of project statistics - timings
« Reply #34 on: July 21, 2017, 12:06:22 pm »
I was thinking more on the lines of Idle time but you can name it other if you wish.
You should be thinking in terms of goals.
IDE means Integrated Development Environment. Which basically says it all: a set of functionality geared towards producing - in this case- software.
Avra is right. For a user, this integration is and should be completely opaque.
« Last Edit: July 21, 2017, 12:08:50 pm by Thaddy »
Specialize a type, not a var.

balazsszekely

  • Guest
Re: Keeping track of project statistics - timings
« Reply #35 on: July 21, 2017, 12:16:22 pm »
Ok. The skeleton is ready. Don't get too excited, this is just the beginning.

1. Install projectstatistic.lpk
2. Open the main form: Lazarus Menu-->Project-->Project statistics(the form style is StayOnTop for now)
3. Please try to click between different lazarus form(editor, designer, etc) and see what happens. Wait 10 seconds to trigger the idle.
4. Test it without a docking manager(sparta, etc...)

Feedback is welcome.

« Last Edit: July 21, 2017, 12:47:36 pm by GetMem »

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Keeping track of project statistics - timings
« Reply #36 on: July 21, 2017, 12:23:32 pm »
just a small clarification. I'm not here to dictate policy, goals, or use cases on someone else work/time. What ever is posted here is an opinion based on my guidelines of software development. And I feel strongly that by extending the app beyond the IDE we are breaking one of the basic rules, something along the lines of, only do one job and don't try to be everything for everyone. Since this is not my time or my code I can only be thankful for what ever getmem decides to share. So to avoid me getting out of line I'll simple stop repeating my self.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

ertank

  • Sr. Member
  • ****
  • Posts: 274
Re: Keeping track of project statistics - timings
« Reply #37 on: July 21, 2017, 12:31:37 pm »
Ok. The skeleton is ready. Don't get to excited is just the beginning.

1. Install projectstatistic.lpk
2. Open the main form: Lazarus Menu-->Project-->Project statistics(the form style is StayOnTop for now)
3. Please try to click between different lazarus form(editor, designer, etc) and see what happens. Wait 10 seconds to trigger the idle.
4. Test it without a docking manager(sparta, etc...)

Feedback is welcome.

How should we get the package? SVN trunk? Download link?

balazsszekely

  • Guest
Re: Keeping track of project statistics - timings
« Reply #38 on: July 21, 2017, 12:45:32 pm »
@avra, @thaddy
I'm not gonna log anything outside the IDE, it makes no sense. I mean if the user watch some p@rn between two programming session we should log in in the lps file? Wtf?  :D
Just to be clear: for now "other" means not editing and not designing.

@ertank
Attached to my previous post. Is just the skeleton, so don't get too excited.
« Last Edit: July 21, 2017, 12:47:13 pm by GetMem »

taazz

  • Hero Member
  • *****
  • Posts: 5368
Re: Keeping track of project statistics - timings
« Reply #39 on: July 21, 2017, 01:40:19 pm »
A couple of quick comments.

1) object inspector is grouped in other, it should be grouped in designer. well grain of salt and all that.
2) main menu is grouped in other as well it should not change the group use the last active group.
3) It does not recognizes at all changing to an application outside lazarus and only the time out kicks in. It has a small after effect that if your other application is not maximized every time the mouse passes over the editor it registers as editing time although lazarus is not focused.

I like the idea of registering the form name as well as long as it gets in the data, regardless of grouping.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

ertank

  • Sr. Member
  • ****
  • Posts: 274
Re: Keeping track of project statistics - timings
« Reply #40 on: July 21, 2017, 02:56:38 pm »
Ok. The skeleton is ready. Don't get too excited, this is just the beginning.

1. Install projectstatistic.lpk
2. Open the main form: Lazarus Menu-->Project-->Project statistics(the form style is StayOnTop for now)
3. Please try to click between different lazarus form(editor, designer, etc) and see what happens. Wait 10 seconds to trigger the idle.
4. Test it without a docking manager(sparta, etc...)

Feedback is welcome.

My initial feedback.

First of all thank you for this real fast design.

1- I suggest mouse move should not be considered as active. Just clicks. When I click a form or Edit window status can be active.

Reason: I am working on my editor. I stop working on it. It turns as Idle. I move my mouse to my browser and it is active again because it has to go over editor window to reach browser window. I am not doing anything on IDE though.

2- When Idle triggers, would be nice to reduce (last timing - Idle delay timing) in order to have correct calculation as 10 seconds will pile up and may even make hours overall.

Other than this, I see its operational and ready for summing up seconds :)

Thank you.

Thaddy

  • Hero Member
  • *****
  • Posts: 14164
  • Probably until I exterminate Putin.
Re: Keeping track of project statistics - timings
« Reply #41 on: July 21, 2017, 02:57:19 pm »
I'm not gonna log anything outside the IDE, it makes no sense. I mean if the user watch some <s3ns0r3d: favorite hbo series to your liking> between two programming session we should log in in the lps file? Wtf?  :D
I mean even worse... logging on the network.... In a team that is functional. I even introduced it many times... Just for code, not for web/email/private things.
« Last Edit: July 21, 2017, 02:59:06 pm by Thaddy »
Specialize a type, not a var.

balazsszekely

  • Guest
Re: Keeping track of project statistics - timings
« Reply #42 on: July 23, 2017, 08:49:22 am »
Hi all,

Thanks for the feedback and sorry for the late reply, I was out in the wild with no internet connection.

@taazz
Quote
1) object inspector is grouped in other, it should be grouped in designer. well grain of salt and all that.
Quote
2) main menu is grouped in other as well it should not change the group use the last active group.
Quote
3) It has a small after effect that if your other application is not maximized every time the mouse passes over the editor it registers as editing time although lazarus is not focused.
Fixed.


@ertank
Quote
1- I suggest mouse move should not be considered as active. Just clicks. When I click a form or Edit window status can be active.
Fixed.

Quote
2- When Idle triggers, would be nice to reduce (last timing - Idle delay timing) in order to have correct calculation as 10 seconds will pile up and may even make hours overall.
I changed to 2 seconds, it will be configurable in the future.



@Thaddy
Quote
I mean even worse... logging on the network.... In a team that is functional. I even introduced it many times... Just for code, not for web/email/private things.
Ok. Linking two or more Lazarus IDE for a team project make sense, but then you need a server and the implementation would require a lot of work. I'm not against it, but I'm not gonna implement it, at least not in the near future.

PS: As time permits, I will continue the development and report back. Thanks again for the feedback.
« Last Edit: July 23, 2017, 11:07:19 am by GetMem »

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: Keeping track of project statistics - timings
« Reply #43 on: April 24, 2018, 11:57:07 pm »
Just curious.
Is this project finished?

balazsszekely

  • Guest
Re: Keeping track of project statistics - timings
« Reply #44 on: April 25, 2018, 05:29:27 am »
Quote
Just curious.
Is this project finished?
Unfortunately no. You can find the latest version as attachment in reply #42. It shouldn't be to hard to complete though, if somebody has the free time.

PS: If sparta/anchordocking is installed, some fake form are created and it's much harder to differentiate between design time and editing time(see first post for requirement),  this is the only drawback I found. 
« Last Edit: April 25, 2018, 05:33:04 am by GetMem »

 

TinyPortal © 2005-2018