Production time debugging
and
Instrumentation

Defining Instrumentation Requirements for an Application

A One-day Workshop

Background

Defining instrumentation requirements for an application lies in the gray area between development and IT and that is why it is generally not in the specification document of a software product.
Incorporating proper instrumentation in the application, during the design and development phases, significantly increases the ability of the support team to maintain the application in the field, as well as to identify and to solve problems quickly. In addition, the support team can collect and send relevant feedback to the development team, information that will enable the developers to locate and eliminate bugs faster and better.
Incorporating instrumentation in the software, takes very little design and development effort. On the other hand, it provides enormous savings in day to day maintenance costs and significantly reduces the down time required to locate and fix the root cause of failures and crashes.
The instrumentation infrastructure is integrated in the Microsoft Windows operating systems. It is widely used by Microsoft itself in its own operating system services and in its desktop products and is open and freely available to any software developer.
This unique workshop gives an overview of all the instrumentation features of the operation system, explains what their usage and benefits are and gives the methodology and guidelines to properly define them as features in the application specification document.
The workshop is based on field experience and original material gathered from different Microsoft sources.

Target Audience

Architects, Developer Team leads, IT managers, Customer representatives, Senior developers.

Pre-requisites

Experience in writing specifications and some field experience.

Main Topics:

  • Review of all the instrumentation infrastructure and tools in Microsoft’s operating systems.
  • Event Tracing for Windows (ETW) usage, features and specifications.
  • WMI usage and features.
  • Production debugging in the field usage, features and specifications.
  • Usage, features and specifications that make the application more ‘crash friendly’.
  • Detailed design considerations about incorporating different system event logging mechanisms in the application, usage, features and specifications.
  • Performance counters in application usage, features and specifications.
  • Windows Error Reporting (WER) usage, features and specifications.
  • Configuring the OS consideration and usage, features and specifications.
  • Tips, tricks and lessons from the field.