The Secret Diary of Han, Aged 0x29

Archive for June 2003

Reporting build and install instructions

Prerequisites for Reporting

  • Visual Studio.Net 2003
  • Visual Source Safe 6.0d
  • Web Services Enhancements (WSE) Service pack 1


  • Get latest on the Reporting and RRD projects in Source Safe
  • Build RRD. This creates rrd.dll. Place this DLL in the PATH
  • Configure IIS so that the following extensions go to the ASP.NET worker process
    • .html
    • .xml
    • .gif
    • .png

    In order to do this go to IISAdmin, Reporting virtual directory, Properties, Directory tab, Configuration button, Mappings tab. Make sure the above extensions have the same executable path as .aspx. Also make sure that “check that file exists” is unchecked

  • Edit the web.config file in the Reporting project, so that the appSettings ComponentCache.ConnectionString property has a valid connectionstring for the reporting SQL database. This can be either a copy of db-server’s database on your own machine, or a direct connection to that db-server’s database. Also make sure that Rrd.Directory is pointing at the location of the rrd database files. These can be on your machine, or an assigned drive letter on the reporting server.
  • Optionally, add the UrlRewriter dll (from the reporting project) to the GAC.
  • Modify the web.config in the ReportingPortal directory such that the AppSetting ReportingPortalBaseUrl has the base URL of the reporting service to use, e.g. http://localhost/reporting/.

Written by Han

June 11, 2003 at 18:34

Posted in Uncategorized

Decent defaults in graphs

Graphs now have decent defaults for legends and y-axis label. The GraphCreator generates these defaults if, and only if, the legend and yLabel values are not present in the GraphDefinition. This means that a user can always override default values in the graph URL (or the graphDefinition), by just specifying value for the ylabel and leg<plotno> attributes.

The ylabel default is created as follows:
The streams in the graph are scanned for yTitle, yUnit and yQuantity. These are specified in the stream’s measurement type. The format of the yLabel is then

yTitle | yQuantity "(" yUnit ")"

. A common yTitle is preferred over a common yQuantity if both are found. If no common yTitle or YQuantity are found, only the yUnit is displayed. If no common yUnit is found, it is skipped too

The legends are created using this recipe:
The streams of a plot are scanned for MeasurementType, yQuantiy, address, component class and component instance. Only common attributes are displayed in the legend in the following format:

address class instance - measurementType.Description | measurementType.Name | yQuantity.

Additionally, if there are multiple streams in the plot, the legend is prepended with Operation ” of (” streams.Count “)”

The plot type gets a default of LINE2. It is possible to specify a plot type for all plots (using type=LINE1) or specify different types for different plots (using type1=LINE1&type2=LINE3, etc).

Finally, the consolidation operation for a plot, which is either Sum or Average, gets a default value based on the new isRatio attribute of a measurement type. Ratio’s (e.g. % CPU Usage) are averaged, whereas non-ratio’s (like request/sec) are summed by default.

Written by Han

June 11, 2003 at 18:15

Posted in Uncategorized

Reporting, where to create default titles

Where to fabricate default title, y-axis text and legends?

– Consolidator?
– GraphDefinition / Plot ?
– UrlCreator ?
– GraphCreator ?

– End-user should be in control
– Sensible defaults
– Don’t burden URL with long defaults
– Should be able to distinguish between defaults and overrides

1. In consolidator?
Burdens URL’s with defaults

2. In GraphDefinition / Plot?
Cannot distinguish between defaults and overrides

3. UrlCreator?
Burdens URLs with long defaults

4. GraphCreator?
Only creates default if nothing set
This means a user can override
Does not burden URL’s, since applied at the end of the graph creation flow

GraphCreator it is, for everything that will be a part of the generated graph. However, the graph title is displayed in HTML, as RRD doesn’t handle multibyte characters. Therefore the graph title will be handled in the Consolidator. It not being part of the generated graph means that it won’t be a part of the graph URL, so it won’t burden the URL.

Written by Han

June 9, 2003 at 07:12

Posted in Uncategorized