21.3. Summary

Designing an application is a series of incremental improvements. Each step will change existing components and introduce new ones. As you've seen, supporting incident investigation has introduced its own considerations for the design and the components within the solution. The tooling requirements may also cause a change to the way things are done or output. Thinking about these types of problems and design patterns will greatly enhance the application and ensure that it meets all the necessary quality characteristics. The patterns do not need to be followed verbatim because technologies change over time and implementations will differ greatly. However, the principles remain the same. As computing evolves, things will only get more complicated, so you need to ensure that you can effectively support your systems and turn around issues quickly.

The following are the key points to take away from this chapter:

  • Tracing needs to provide the relevant information for effective incident investigation. You should ensure that the trace conforms to good practices. Sloppy tracing can cause huge delays when trying to resolve issues. Tracing should also be thoroughly tested and reviewed.

  • Maintain code quality. Think about how you can improve the overall quality of the tracing while keeping the code "free" of unnecessary information and maintaining readability.

  • Link trace entries together. Consider activity-based tracing to provide better visibility of transactions through the system ...

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.