Node.js: Debugging and Performance Tuning

Node.js: Debugging and Performance Tuning

2h 45mIntermediate2018-07-13

Authors

Jon Peck

Jon Peck

Software Architect, Engineer, Consultant, Trainer

Course details

Node.js apps are known for their blazing-fast speed, but hard-to-find bugs and suboptimal processes can drag performance down. Isolating the problem in the stack can often grind productivity to a halt. In this course, Node.js developer Jon Peck shows how to debug and speed up your site as he walks through how to fix a complete—but flawed—rock-paper-scissors game. Jon shows how to log problems, debug issues, measure performance, implement caching, and continuously optimize your application for performance.

Learning objectives
Building a troubleshooting mindset
Why measure performance?
What's a microservice architecture?
Managing microservices with PM2
Effective logging strategies
Debugging Node.js applications
Benchmarking performance
Profiling code execution
Knowing what to optimize

Skills covered

Express.jsData Resource ManagementNode.jsJavaScript FrameworksDatabase ManagementWeb DevelopmentOpen SourceDeep Dive (X:Y)

Concepts

0. Introduction

  • 01 - The power of debugging and performance tuning
  • 02 - What you should know
  • 03 - Using challenges
  • 04 - Configuring your development environment
  • 05 - Demo application tour

1. Build a Troubleshooting Mindset

  • 06 - Finding what went wrong
  • 07 - Why measure performance
  • 08 - Documenting problems
  • 09 - When is a problem resolved

2. Introducing Microservices

  • 10 - What's a microservice architecture
  • 11 - Microservice rock, paper, scissors
  • 12 - Introducing PM2 for process management
  • 13 - Managing microservices with PM2

3. Effective Logging Strategies

  • 14 - Why and what should I log
  • 15 - Problems with Node.js console
  • 16 - Implementing Express error pages
  • 17 - Choosing a logging library
  • 18 - Adding Winston for Node logging
  • 19 - Request logging with Morgan
  • 20 - Correlating requests in logs
  • 21 - Cross-application request correlation
  • 22 - Challenge - Cross-application request IDs
  • 23 - Solution - Cross-application request IDs

4. Debugging Node.js Applications

  • 24 - Debugging isn't just logging
  • 25 - Introducing Node's built-in debugger
  • 26 - Command-line debugging with Node inspect
  • 27 - Debugging Node in Chrome DevTools
  • 28 - Debugging Node with Visual Studio Code

5. Measuring Performance

  • 29 - Benchmarking performance
  • 30 - Benchmarking with ApacheBench
  • 31 - Benchmarking code with Winston
  • 32 - Profiling code execution

Conclusion

  • 33 - Knowing what to optimize
  • 34 - Caching fundamentals
  • 35 - Next steps
80,000 Toman