Clone wiki

TraceabilityV2 / Home

#Traceability V2 This library is designed with the goal of generating trace code which will allow us to extract highly detailed data from a running service.

Since all of the data is captured, we are able to trace not only what functions are called, but also see how each value is transformed as it passes through the system. This amount of data is useful for not only gathering forensic data, but for general troubleshooting and even debugging as well.

Note: this wiki provides a high level view of the libraries it discusses. However, I have created an example solution that uses Traceability: SortingV2. This example solution shows how to use many of the features of Traceability.

For a tutorial showing how to to add Traceability to a class library, please see my Traceability Tutorial

##Table of Contents

###Change Log

2019 Feb 19 Release 2.3.0

  • Generators may now use qualified names to create new classes.
  • Verify refactored and improved.
  • Verify now uses SkipMap to indicate members to ignore.
  • FileWriter replaces TraceFileGenerator
  • FileWriter will return error messages if a generator is unable to generate code.

2019 Feb 13 Release 2.2.1

  • namespaces are automatically extracted during code generation, and added to the generated code.

2019 Feb 11 Release 2.2.0

  • Added automatic code generation to build factories.
  • Added automated code generation to build trace factories.

2019 Feb 08 Release 2.1.0

  • ITracer.RemoveFuction() has been removed. If we want to ignore data, then it should be skipped via writing a formatter parser that skips the specific node.
  • TraceNode.Parameters is now a dictionary.
  • ref and out parameters now add a new entry to the parameter dictionary after the nase method is called.
  • The new parameter entry will have the parameter's name with "_out" appended to it.

2019 Feb 06 Release 2.0.1

  • Improved support for tracing generic classes
  • Example trace file generation added to the unit tests

2019 Jan 28 Release 2.0.0

  • Heavy rewrite
  • Trace code generation no longer requires T4 files
  • Trace code generation may be done in only a few lines of code
  • ITracer interface simplified
  • Formatters improved to use more dependency injection