RE: [vfp] OT: Plastic SCM 7 lento al comprobar cambios en el workspace

116 views
Skip to first unread message
Message has been deleted

Augusto Ortiz

unread,
Aug 12, 2018, 10:04:30 AM8/12/18
to publice...@googlegroups.com

Gracias por compartirlo, lo voy a probar

Saludos

Augusto

 

De: Carton Jeston
Enviado: domingo, 12 de agosto de 2018 10:26
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] OT: Plastic SCM 7 lento al comprobar cambios en el workspace

 

Desde que me cambie de plastic 5.6 al 7, he tenido problemas de rendimento cada vez que compruebo los cambios en el workspace. Lo que tardaba segundos, se han vuelto minutos.

 

Viendo una solucion en el propio foro de plastic, que dice ser un problema con algunos antivirus que baja el rendimiento, he editado PLASTIC.LOG.CONF que esta dentro del PLASTICSCM\CLIENT\ (haciendo copia previa) e insertando el codigo en verde:

 

<log4net>
<appender name="FileAppender" type="log4net.Appender.FileAppender">
</appender>

<appender name="FileAppender" type="log4net.Appender.FileAppender">
    <file value="${LOCALAPPDATA}\plastic4\logs\plastic.relevant.log.txt" />.........


Mas abajo hay mas detalles, incluso dice modificar otros archivos CONF pero no los tenia y me ha funcionado igual.

 

un saludo

 

 

Thanks to Wolfram we found an issue in a log setting we changed in 7.0. The client log is set to 

 

lockingModel type="log4net.Appender.FileAppender+MinimalLock

 

Which is making some antivirus to go nuts and incredibly downgrade performance.

 

We are going to change it in the official release.

 

If you find this issue, you can edit your plastic.log.conf, or cm.log.conf and modify it to be like

 

appender name="FileAppender" type="log4net.Appender.FileAppender"

 

Carton Jeston

unread,
Aug 12, 2018, 12:40:42 PM8/12/18
to Comunidad de Visual Foxpro en Español
He borrado el mensaje inicial porque veo que habia informacion incorrecta o confusa de la fuente...

Desde que me cambie de plastic 5.6 al 7, he tenido problemas de rendimento cada vez que compruebo los cambios en el workspace. Lo que tardaba segundos, se han vuelto minutos.

Viendo una solucion en el propio foro de plastic, que dice ser un problema con algunos antivirus que baja el rendimiento, he editado PLASTIC.LOG.CONF que esta dentro del PLASTICSCM\CLIENT\ (haciendo copia previa), ademas de GLUON.CONF y MERGETOOL.LOG.CONF.

Hay que buscar:

lockingModel type="log4net.Appender.FileAppender+MinimalLock"


[Bug] 7.0.16.2179
Windows GUI and Gluon for Windows: Detected a performance downgrade in the pending changes view due to an interference of Windows Defender antivirus with the log file that Plastic GUI applications write.
This problem happens since release 7.0.16.2068. Now we have minimized the issue by updating the log configuration files for Plastic GUI, Gluon and Mergetool applications, removing the "MinimalLock" locking model.

Lo cierto es que no tengo el minimalLock y vuelve a andar de pena, seguramente tenga que liberar archivos de la carpeta workspace, pero antes de eso tenia muchos mas e iba mejor.

La informacion es un tanto confusa y posiblemente solo elimine una de las causas de la lentitud. Si alguien lo prueba y saca alguna conclusion que lo ponga por aqui...

Carton Jeston

unread,
Aug 12, 2018, 12:47:36 PM8/12/18
to Comunidad de Visual Foxpro en Español
Cuando cargo el calculo de cambiados tarda mucho la primera vez, después al estar cacheados en memoria tarda poco mas de 10 segundos al refrescar.

Lo que si me sale es un mensaje bajo del todo:

El calculo de cambiados tardo demasiados

y un enlace a Notas de rendimiento que no me llega a ningun sitio.

Carton Jeston

unread,
Aug 12, 2018, 1:03:01 PM8/12/18
to Comunidad de Visual Foxpro en Español
Siguiendo con mas trucos... puede que alguno me funcione alguna vez....


con la consola de comandos en tu workspace:

cm update . --forced

Fuerza a comprobar la integridad de fecha y demas de los archivos, que podrian confundir a plastic.

Carton Jeston

unread,
Aug 12, 2018, 4:52:05 PM8/12/18
to Comunidad de Visual Foxpro en Español
Revisando toda la configuracion, he visto que en las opciones de  cambios pendientes, si deshabilito RENOMBRADOS MOVIDOS LOCALES, tarda un segundo en vez de diez en refrescar.

Como indica la pantalla, las opciones con asterisco (*) pueden provocar lentitud en un workspace de gran tamaño. Lo que no se si es conveniente desactivar esta opcion porque me da la impresion de que bajo seguridad, de hecho no voy a cambiarla hasta que usuarios mas expertos se pronuncien :-)

El resto de opciones creo que son tal y como las recomendo Fernando en su tutorial.


y aqui como llegar a la opcion:

lentitud plastic.png


De todas formas me pondre en contacto con plastic, ya que la opcion de comprobar borrado no ralentiza nada, sin embargo renombrados o movidos tarda diez veces mas.

Carton Jeston

unread,
Aug 14, 2018, 5:25:42 AM8/14/18
to Comunidad de Visual Foxpro en Español


Este es un error curioso que el mensaje me sale de esta forma. A otros compañeros no les pasa...


error plastic 2.png


Y lo importante, he visto que en algun momento la lista de elementos ignorados en el workspace se borro y la consecuencia es que miles de archivos que deberian omitirse, estaban como privados. Recomiendo revisar de nuevo si os va lento por si resulta ser eso.

Tambien probe activar windows search por si mejoraba de algun modo el rendimiento de la comparacion, pero va igual, asi que ahorraos el paso :-)

un saludo

Fernando D. Bozzo

unread,
Aug 14, 2018, 6:07:24 AM8/14/18
to Comunidad de Visual Foxpro en Español
Hola!

He visto esto y decidí dejar algún que otro tip, ya que desde que publiqué la primera configuración de Plastic he cambiado algunas prácticas respecto del manejo de archivos para tener algo más de velocidad, ya que sí, hay veces que la cosa se pone lenta.

Es importante tener en cuenta que cualquier operación de control o verificación sobre los archivos implica leer del disco y según el tipo de comparación incluso puede implicar leer contenido de archivos completos (peor caso), por lo que aquí dejo los tips:


VISTA DE CAMBIOS PENDIENTES - Opciones

* Buscar renombrados/movidos locales
Lo tengo DISABLED porque tengo como norma realizar cualquier renombrado de archivo o movimiento entre directorios directamente desde la interfaz de Plastic. Es una opción con bastante impacto en la velocidad de escaneo del disco.
Esta opción solo conviene tenerla activada quienes quieran seguir pudiendo renombrar o mover archivos desde fuera de Plastic, por ejemplo con el explorador de archivos o desde dentro de VFP, pero recomiendo desactivarla y hacer todo esto desde Plastic, así se evitan escaneos innecesarios.


* Buscar elementos borrados localmente
Lo tengo DISABLED porque tengo como norma realizarlas operaciones de borrado de archivos desde la interfaz de Plastic.
Realmente tanto esto como lo anterior no cuesta nada acostumbrarse a hacerlo desde Plastic, y ayuda a la velocidad.


El resto, como puse en la Guía está ok.


PREFERENCIAS - Otras Opciones

Sigo usando la misma configuración de la Guía. La única opción que me llama la atención y que no probé todavía es la de marcar "Ejecutar Actualizar rápido", que podría ser interesante.



Saludos! :D
 

Carton Jeston

unread,
Aug 14, 2018, 12:43:22 PM8/14/18
to Comunidad de Visual Foxpro en Español
Hola fernando,

Como ya comente antes, la opcion de mover/renombrar es la que da problemas, borrar no se aprecia ralentización ninguna.

Tambien alguna cosa rara como que carpetas y archivos que tenia en ignorados, volvieron a estar en privado, ya no se si coincidio con la migracion de plastic o fue otra causa pero fue en el mismo lapso de tiempo. Miles de archivos inutiles en privado dan fe de ello :-)

La opcion de actualizar rapido tambien llamo mi atencion pero... ¿rapido quiere decir menos seguro? Asi que de momento la dejo en paz...Pone entre parentesis (no actualizar si el changeset cargado esta al dia).

Sin embargo en preferencias de cambios pendientes esta autoactualizar al recibir el foco, si te va rapido el refresco, cuando tocas la pestaña te actualiza la pantalla automaticamente. Ya veremos si resulta o no una ventaja.

Me parece mas comodo como tu dices, adaptarse a deshabilitar estas opciones que me quedaban con el asterisco, que plastic la catalogan como de acceso lento al disco, para que funcione practicamente al instante sin preocuparme de cuantos archivos tengo en la carpeta.

Ahora otra cuestion, ¿hay alguna herramienta aparte de algun creador de instalador que lea el proyecto y lo comprima o haga una copia limpia en otro lado?. Me explico, tienes toneladas de basura en tu carpeta del proyecto, mala gestion de residuos durante decadas, pero lo que importa es el contenido del proyecto, incluidos y excluidos, para copiar lo esencial.
No tiene porque ser perfecto, pero si una ayuda para cribar el maximo de archivos superfluos. Tambien se puede abrir el proyecto como dbf para rastrear aunque igual se tarda menos a mano...

un saludo

Fernando D. Bozzo

unread,
Aug 14, 2018, 2:55:40 PM8/14/18
to publice...@googlegroups.com
Para lo que decís de dejar solo lo del proyecto y "limpiar" el resto hay una solución muy simple:

1) Copiar el directorio del proyecto en otro sitio (o hacer un zip con todo)

2) Borrar todos los archivos del directorio del proyecto (menos las tablas y el directorio .plastic)

3) Forzar la actualización del workspace en el changeset actual

Y con eso te quedás solamente con lo de Plastic y las tablas, lo demás lo tenés zipeado por si te interesa recuperar algo.

Saludos!


Carton Jeston

unread,
Aug 14, 2018, 6:57:54 PM8/14/18
to Comunidad de Visual Foxpro en Español
Pues si Fernando, ya lo tengo hecho aunque he tenido que hacer muchos ajustes manuales, me ha costado mucho menos de los esperado y lo he normalizado todo.

Esto es con plastic, aunque yo me referia a una rutina independiente que leyera el proyecto y copiara su contenido a otra carpeta, aun evitaria que hubiese mas basura. ¿existe algo asi?.... aunque ahora no me hace falta :-D

He comprobado que el ignore.conf que es donde guarda la lista de ignorados se habia quedado en blanco, quizas durante la migracion o vete a saber tu, y me cargaba cosas en el workspace que no debia. Aun asi despues de la limpieza profunda, va rapido hasta con el renombrar/mover activo. Eso si, voy a empezar a trabajar borrando y cambiando el nombre desde plastic.

He preferido activar la opcion de que se vean los archivos ignorados y asi tenerlos controlados visualmente.

Y la opcion de actualizar rapido no es lo que parece, yo lo interpreto que si el changeset esta al dia, no lo actualiza y con eso ahorra un poco de tiempo.

un saludo

Fernando D. Bozzo

unread,
Aug 14, 2018, 8:43:52 PM8/14/18
to publice...@googlegroups.com
Ok, creo que entiendo lo que querés hacer.

Si te interesa bajarte todo el contenido de un changeset, o sea, los archivos actualizados hasta un changeset en particular de forma que lo puedas automarizar (o semi-automatizar), lo podés hacer desde la ventana de comandos DOS con el comando "cm" de Plastic (si no te lo reconoce, agrega la ruta al directorio "client" de Plastic donde está cm.exe en el Path de Windows):

Ej: Bajar el cs:1457 del repositorio MIREPO en un directorio específico


cm diff cs:0@MIREPO cs:1457@MIREPO --download="c:\el-directorio-que-quieras"



Respecto de la lista de archivos ignorados, realmente no tiene mucho sentido crear una lista de ignorados para luego ignorar la propia lista. Eso justamente es para no confundir los archivos importantes del control de código con el resto, que siempre los podés ver con el explorador de Windows o demás file managers.


Saludos!




Carton Jeston

unread,
Aug 15, 2018, 1:50:46 PM8/15/18
to Comunidad de Visual Foxpro en Español
No era eso lo que queria decir, nada que ver con plastic o control de codigo. Eso si, es un comando muy util y ya me he hecho un bat para tenerlo siempre a mano:

>mirepo.bat
cm diff cs:0@MIREPO cs:%1@MIREPO --download="c:\mirepo"

Desde luego que es util, incluso se podria copiar en la carpeta de la nube tipo dropbox o mil cosas.

Lo de la lista de ignorados, la uso cuando tengo elementos que son necesarios para el programa (por ejemplo, un banco de imagenes de fotos de articulos) y no quiero que esten en privado ralentizando a plastic. Lo que me paso es que en la migracion o en un evento durante esos dias, se borro la lista de ignorados y no me di cuenta que miles de archivos ignorados estaban como privados :-D

Y a lo que me referia, era si habia algun programa que copiase todo el contenido del proyecto en otra carpeta, excluyendo asi todos los archivos superfluos y dejando una copia limpìa a falta de cuatro cosas que puedan salir. Es lo que tu usas para generar el pj2 y es algo tan facil como:

use miproyecto.pjx
recorrer el campo NAME
copiar ese archivo y crear estructura carpetas a la nueva ubicaciono generar un bat con copy's con el resultado
fin

Hay algun detalle mas cuando tienes elementos en carpetas absolutas tipo c:\ o ..\ hay que hacer un poco mas de magia o si encuentra un FRX copiar tambien su FRX correspondiente.

Con este codigo copia el contenido necesario del proyecto a un cursor. No hace falta decir que los backups nunca sobran.

SET DELETED ON
proyecto
="a.pjx"
SELECT LEFT
(name,254) as name,type FROM &proyecto INTO CURSOR cur_pjx
USE IN
1
BROWSE
CLOSE DATABASES

Con esto ya veo las dependencias, si tengo algún elemento que apunta fuera  de la carpeta del workspace, lo meto dentro (me gusta la portabilidad), etc. Si al copiarlo a otra carpeta y al abrir con fox me dice que no encuentra algo que necesita para funcionar pero no necesita control (una dll, un texto, o lo que sea) lo meto dentro del proyecto como excluido para que a la proxima lo tenga en cuenta para la copia.

No se si me he explicado con claridad, no es nada complicado pero antes de hacer algo asi no me gustaria inventar la rueda otra vez :-D
Reply all
Reply to author
Forward
0 new messages