Estadísticas desde el sistema de consultas

16:12 0 Comments

El sistema de consultas es una de las novedades de Plastic 1.5. Ofrece nuevas posibilidades para crear estadísticas a medida y saber cuál es la situación del desarrollo.
Queríamos hacer el sistema de consultas lo más simple posible (siempre puedes quejarte aquí si no te gusta), y por eso decidimos crear una sintáxis tipo SQL. De este modo, teniendo en cuenta que nuestros usuarios son desarrolladores, les ofrecemos una interfaz familiar.

Imagina que quieres hacer un listado de las revisiones creadas desde ayer. En mi caso escribiría:
$ cm find revs where date “>” ‘2007/08/9’ and owner = ‘pablo’


¿Y si quisieras dar formato a toda esta información? Puedes utilizar el modificador de formato y escribir algo como:
$ cm find revs where date “>” ‘2007/08/9’ and owner=’pablo’ –format=”{date} {type} {owner} {item}#{branch}”


Puedes ver que acabo de modificar elementos en un par de ramas. También podría hacer un listado de las revisiones modificadas en una rama concreta añadiendo la condición:

and branch=’br:/main/FixBL063/SCM2199’ a la consulta anterior, como se puede ver en la siguiente captura.


Puedes ver más de los objetos de los que se puede buscar información tecleando: cm showfindobjects. En este momento se pueden buscar revisiones, ramas, changesets, enlaces y usuarios.

Por ejemplo, tecleando “cm find user” se obtienne una lista de los usuarios que tienen objetos dentro del sistema.

También se puede obtener una lista de los changesets con:
$ cm find changeset where owner='pablo' and date ">" '2007/08/01'

Ahora imagínate que quieres saber cuales son todas las ramas que has creado hasta el momento: se puede hacer con

$ cm find branch where owner=’pablo’, en mi caso.

Vale, esto tiene buena pinta para poder hacer un seguimiento de qué es lo que ocurre en el proyecto, con los cambios que alguien ha realizado, etc. Pero, ¿cómo se obtienen estadísticas?
Una de las ventajas del cm find es que puedes exportar la información con formato XML. Prueba algo como:

$ cm find revs where date ">" '2007/08/1' --xml --file=statsAgo.xml

para crear un fichero con toda la información sobre las revisiones creadas a partir de una fecha en concreto. Una vez que tengas el fichero XML puedes empezar a probar opciones con él con tu herramienta favorita.



Importé los datos generados por el cm find en Excel 2007 y entonces empecé a hacer pruebas con las pivot tables. En la nueva versión 2007 esta característica está un poco escondida: ahora está en el menú insertar en vez de en el menú de datos.

Una vez que hayas creado la tabla de los datos importados puedes empezar a agruparlos. Entonces puedes mostrar las revisiones agrupadas en ramas, incluyendo gráficos bastante curiosos.







Mostrar las revisiones agrupadas por usuario.



O incluso calcular cómo se distribuye la revisión creada en cuanto a horas (puedes descubir cosas interesantes).


O semanalmente:



Estamos trabajando en ampliar el sistema de consultas para ofrecer un modo fácil (y potente) de localizar por ejemplo integraciones. También hemos desarrollado un subsistema que llamamos "sistema avanzado de consultas" (no está oficialmente disponible pero estará en la próxima versión BL63.3) que permite buscar directamente en el esquema relacional.

Tomando el sistema de consultas como punto de partida implementaremos un nuevo módulo de Plastic (aún no hemos comenzado), para ofrecer los gráficos directamente desde la herramienta gráfica.

¡Esperamos que os haya gustado!

0 comentarios: