Log macro execution time

Functions, classes, components, etc. Only high quality content.

Log macro execution time

Postby Gintaras on Fri Jun 10, 2011 7:17 am

Macro TimeKeeper help     ?
;Measures time spent in macro (or part of macro), and writes to a log file.

;EXAMPLE

#compile "__TimeKeeper"
TimeKeeper x.Begin("$desktop$\test TimeKeeper.txt" "" "test" 1)

mes "macro"

x.End("success")

Attachments
TimeKeeper.qml
(1.89 KiB) Downloaded 602 times
Gintaras
Site Admin
 
Posts: 10207
Joined: Thu Dec 19, 2002 7:36 pm
Location: Lithuania

Re: Log macro execution time

Postby Leonel on Fri Jun 10, 2011 3:45 pm

Gintaras, thanks again. Excelent product.

Regards.

Leonel.
Leonel
 
Posts: 8
Joined: Mon Nov 08, 2010 12:51 pm

Re: Log macro execution time

Postby Leonel on Mon May 14, 2012 9:29 pm

Hi Everyone, somebody know how to put in parallel execution of TimeKeepers macro to control the time expend in simultaneuos tasks (5 at least) ???

Thanks in advance.

Leonel
Leonel
 
Posts: 8
Joined: Mon Nov 08, 2010 12:51 pm

Re: Log macro execution time

Postby ken gray on Tue May 15, 2012 12:50 pm

they would all have to be functions and name the files something different.
A new blog on QM coding and automation.

The Macro Hook
User avatar
ken gray
Active Member
 
Posts: 1707
Joined: Wed Feb 19, 2003 4:27 pm
Location: Minnesota, USA

Re: Log macro execution time

Postby Leonel on Tue Nov 13, 2012 8:20 pm

Hi Gintaras, again. Thanks for the last explanations about the multitask in the time keeper function. It work well.

Now, I've some problems with some kind of task to control. I create some control of task with a countdown in seconds using type "MES t.timeout". The problem is when it task are been controlling in his countdown, it stop without a reason, others it countdown work well.

Like ever, I'll apprecciate your help. Thanks in advance.

Regards...

Leonel

PD: Some new about a new upgrade ?

The part of the code I'm usig for this is the next:

TimeKeeper x.Begin("$desktop$\test TimeKeeper.txt" plogid descr 1)

mes- "Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid

t.style="O"
t.x=coordenadax
t.y=coordenaday
if(tiempo>0) t.timeout=tiempo
t.default='Y'
i=mes("Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid t)
s.from("Dedicado a: " descr)
i=mes(s plogid t)

if(sw_comentario=1) inp- comentario "Comentario:"

x.End(comentario)
-------------------------------------------------------------------------------------------------
The complete function is:

Macro: Time Spend

Measures time spent in macro (or part of macro), and writes to a log file.

Plog Control Time

*****************************
Sólo para Llamar a Ejecutable
run "C:\Documents and Settings\lespinozaa\Mis documentos\My QM\Time Spend.exe"
ret
Comentariar para Nuevo Exe.
*****************************
function str'porinvocacion

#compile "__TimeKeeper"

str plogid descr comentario s fname fdir
int i coordenadax coordenaday tiempo sw_comentario
MES t

Para dejar mensaje en pantalla auxiliar _monitor=1 en coordenadas x,y
Parámetros

_monitor=1

Tiempo de Espera. Default =0 sin tiempo de autocerrado
tiempo=0

Ingreso de comentario. Default =1 debe ingresar comentario
sw_comentario=1

Ubicación del Mensaje
coordenadax=5
coordenaday=900

Ubicación Archivo de Menu
fdir = "$desktop$\Menus\99.- Temporales\"
fname = "Menu Time Keeper.txt"

XyMonitorToNormal(_monitor &coordenadax &coordenaday)


fname - fdir


fname.expandpath(fname)
iff-(fname) fname - "No Existe Archivo: "; mes(fname "" "!"); end

--- Selecciona donde agregar el sitio
s.getfile(fname)
str menuItems=s

if empty(porinvocacion)
MenuPopup m
m.AddItems(menuItems)
here you can add/remove/disable items depending on conditions: if(condition) m.AddItems(...).
sel m.Show()
Actividades Administrativas
case 1 inp- plogid "Actividad:" ; descr = "Tarea Administrativa"
case 2 inp- plogid "Plog ID:" ; descr = "Revisión de Plog"
case 3 plogid = "Rutinaria"; descr = "Revisión de Correo diario"; coordenadax=1300;
case 4 plogid = "Generación Informe diario de Plogs"; descr = "Informe de Plogs"
case 5 plogid = "Rutinaria"; descr = "Almuerzo Diario"; sw_comentario=0; coordenadax=1300;
case 6 plogid = "Rutinaria"; inp- descr "Capacitación en:"; coordenadax=1300;
case 7 plogid = "Conference por Revisión de Plog(s):"; inp- descr "Plog(s):"
case 8 plogid = "Conference de Coordinación"; inp- descr "Coordinar qué:"
case 9 plogid = "Especiales"; descr = "Cuenta Regresiva con Auto Cierre"; inp- tiempo "Tiempo en Minutos:"; tiempo = tiempo*60; coordenadax=850
case 10 plogid = "Especiales"; descr = "Cuenta Regresiva con Auto Cierre"; inp- tiempo "Tiempo en Horas:"; tiempo = tiempo*3600; coordenadax=850
case 11 plogid = "Especiales"; descr="Registro Inmediato sin comentario"; tiempo=1; sw_comentario=0; coordenadax=850
case 12 plogid = "Especiales"; descr="Registro Inmediato con comentario"; tiempo=1; coordenadax=850
case 13 plogid = "Rutinaria"; descr = "Inicio día..."; sw_comentario=0; comentario="Inicio de actividades."; coordenadax=1300;
case 14 plogid = "Rutinaria"; descr = "Fin día..."; sw_comentario=0; comentario="Fin del día, regreso a casa."; coordenadax=1300;
case 15 plogid = "Especiales"; descr = "Mejorando mi trabajo"; coordenadax=850
Actividades de Mantención Menú y revisión de data saliendo de la captura.
case 996 s="$desktop$\test TimeKeeper.txt"; run s; ret
case 997 s="$desktop$\Menus\99.- Temporales\Menu Time Keeper.txt"; run s; ret
case 998 mac+ getopt(itemid); ret
case 999 s="$desktop$\Menus\99.- Temporales\Ideas x Mejorar.txt"; run s; ret
case else
Se Mueve al principio para reutilizar MES t fuera del bloque
int i
MES t
t.style="O"
t.timeout=1
t.default='Y'
i=mes("No existe esa Opción" "Continuará:" t)
ret
err+
else
, plogid=porinvocacion
descr = "Revisión de Plog"


TimeKeeper x.Begin("$desktop$\test TimeKeeper.txt" plogid descr 1)

mes- "Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid

Mejorando estilo del mensaje
t.style="O"
t.x=coordenadax
t.y=coordenaday
if(tiempo>0) t.timeout=tiempo
t.default='Y'
i=mes("Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid t)
s.from("Dedicado a: " descr)
i=mes(s plogid t)

if(sw_comentario=1) inp- comentario "Comentario:"

x.End(comentario)

BEGIN PROJECT
main_function Time Spend
exe_file $my qm$\Time Spend.exe
icon <default>
manifest $qm$\default.exe.manifest
res
on_before
on_after
on_run
flags 6
end_hotkey 801
guid {B8814A32-A1DE-4C7F-AE0F-E457BFF47BA4}
END PROJECT
Leonel
 
Posts: 8
Joined: Mon Nov 08, 2010 12:51 pm


Return to QM Extensions

Who is online

Users browsing this forum: No registered users and 1 guest