29 de junio de 2016

Utilizar FileMon

Artículo original: Using FileMon 
http://www.foxpert.com/knowlbits_200703_1.htm
Autor: Christof Wollenhaupt
Traducido por: Ana María Bisbé York


FileMon es una gran utilidad si necesita depurar problemas de rendimiento en una aplicación Visual FoxPro. Luego de lanzar FileMon.EXE como un administrador, cambie el filtro a "VFP9.EXE" o al nombre de su aplicación. Ahora, cuando ejecuta su aplicación, puede ver toda la actividad del disco en su aplicación.

Uno de los patrones principales a observar es una larga lista de accesos de lectura en un único archivo DBF. Estos son usualmente búsquedas de tabla que son el resultado de consultas no optimizadas o uso frecuente de agregados como calcular sumas o contar. Cuando verifica en una máquina local, raramente encontrará demora en estas operaciones ya que su disco duro es suficientemente rápido como para leer docenas de MB en apenas un segundo. En una red compartida, sin embargo, el ancho de banda es realmente crítico.

FileMon es muy bueno ya que dice qué es lo que está mal. Sin embargo, no ayuda a relacionarlo con la línea real de código. Para lograr esto, empleé marcadores en mi aplicación Visual FoxPro. Un marcador tiene la siguiente apariencia.

=FILE("MyClass.MyMethod.BeforeScan")

Es decir, yo verifico la existencia de un archivo no existente. En FileMon esta línea produce una salida similar a la siguiente:

11:14:08.182 vfp9.exe:2776 FASTIO_QUERY_OPEN
C:\DOCUMENTS AND SETTINGS\CHRISTOF\MY
DOCUMENTS\PROJECTS\lib\MyClass.MyMethod.BeforeScan
FILE NOT FOUND Attributes: Error

Ahora yo puedo buscar mis marcadores en FileMon. Puedo confiar que todas las actividades entre dos marcadores han sido causadas por el código que hay entre los dos marcadores. Al agregar y mover marcadores puedo identificar rápidamente las líneas que provocan mayor tráfico en una aplicación.

No hay comentarios. :

Publicar un comentario