Diseño de objetos y contadores
Un objeto de rendimiento es una entidad para la que están disponibles los datos de rendimiento. Los contadores de rendimiento definen el tipo de datos que está disponible para un objeto de rendimiento. Una aplicación puede proporcionar información para varios objetos de rendimiento. Los objetos de rendimiento pueden contener contadores de instancia única o varios contadores de instancia. Un único objeto de instancia devuelve un único conjunto de valores de contador.
Un objeto de instancia múltiple devuelve una instancia del objeto para cada aparición del objeto que controla la aplicación. Por ejemplo, una aplicación SCSI podría definir un objeto de unidad con dos contadores, como bytes leídos y bytes escritos. Cuando el consumidor consulta el objeto , el archivo DLL de rendimiento devuelve una instancia del objeto para cada unidad que controla la aplicación.
Después de decidir si el objeto admite una sola instancia o varias instancias, debe decidir el tipo de contadores que desea que proporcione el objeto. Por ejemplo, puede proporcionar valores de contador que se muestran como valores sin formato, como tasas o como porcentajes.
Para obtener una lista de tipos de contadores predefinidos entre los que debe elegir, consulte la sección Tipos de contadores del Kit de implementación de Windows Server 2003. Según el tipo de contador, puede proporcionar simplemente los datos sin procesar, o también puede que tenga que proporcionar información de tiempo y frecuencia y datos de contadores adicionales utilizados por el consumidor para calcular un valor que se puede mostrar.
El método que se usa para recopilar los datos puede ser tan sencillo como incrementar un contador cada vez que se llama a una rutina determinada en la aplicación o puede implicar cálculos que consumen mucho tiempo. Los contadores y temporizadores deben incrementarse y nunca ser borrados. Los contadores pueden encapsularse, siempre y cuando no se ajusten dos veces entre ser muestreados por el consumidor. La aplicación puede recopilar y almacenar datos durante su ejecución normal, siempre y cuando no afecte a su rendimiento.
Para algunos tipos de datos, puede ser más eficaz o adecuado recopilar los datos a petición. En esta situación, el archivo DLL de rendimiento debe comunicarse con la aplicación que se han solicitado los datos. Para los datos que son costosos de recopilar (en términos de tiempo de procesador o uso de memoria), considere la posibilidad de recopilar datos solo cuando el consumidor solicite datos costosos . Esto permite a un consumidor solicitar datos de forma rutinaria para todos los contadores que no son costosos. Los datos solo se pueden solicitar cuando sea necesario. La herramienta Rendimiento no recopila datos costosos .