I have done a few project with the Google Chart API's now [ and I am becoming addicted to the results it provides. There's nothing like a line chart to show you at a glance what is happening in a given environment, and to help you work out if the behaviour of a given environment is standard or out of bound (indicating a problem).
I have tackled the Patch Management trending requirements, but lately I have found out that I would really need to have something similar to show the Software Delivery Execution data overtime.
For example we have started deploying the R7+ agents (Core, PAtch and Inventory) to 30,000+ computers worldwide, and 4 days in the proces I would like to be able to show how fast the environment reacted and if there was any problem (as I know there were ;-).
So here's an overview of how the tool would / should work to provde the features in a simple manner:
We want to tap on the Evt_AeX_SWD_Execution table. This table holds information for a few days or weeks (depending on how many computers you have and your dataclass max rows configuration) and has the following fields of interest (using firendly name instead of the column names for simplicity):
- Computer guid
- SWD Policy Name
- Package Name
- Execution time
- Return Code
I am currently considering 2 mode of data consumption. Dynamic and Static. So lets lay down both options here. We'll decide on what to implement first at a later stage.
Much like aila2 and patch trending the static consumption would save data to file for consumption via a WebUI at a later point in time. This method has a few benefits:
- Database access is done all during one daily execution
- Static web-content is super scalable unlike database boundpages
- Data retention could allow to trak execution over a long time period (far beyond what you would get from the data table itself)
But it also has some potential downsides:
- You can't save data for all SWD Execution everyday (or can you?)
- Why save data if it's never used?
Like in the SMP console the dynamic version of this tool would connect to the database to retrieve the list of Software Delivery policies (they are not necessarily Managed Delivery, so we'll stick with the SWD term) and provide them to the WebUI. The user then selects or click on the policy he/she wishes to track and a page loads the data (execution count per hour for n days or the full table).
This is the simplest view, and most likely wil be our starting point.
I guess I'll be starting asap on this with a build of the dynamic consumer. I probably will get started with the SQL back-end to list the policies by execution count or names, and then the SQL needed to get the line graph data. But this, will be another post!