Daniel Khan

Daniel has over 15 years experience as full stack developer, architect and technical lead in the field of web engineering proving his strong problem solving skills in hundreds of projects. He is passionate about constant learning, using new technologies and sharing his findings with others. As technology strategist, Daniel focuses on driving support for emerging technologies like Node.js and MongoDB at Dynatrace.

Daniel Khan's articles

All you need to know to really understand the Node.js Event Loop and its Metrics

Node.js is an event-based platform. This means that everything that happens in Node is the reaction to an event. A transaction passing through Node traverses a cascade of callbacks. Abstracted away from the developer, this is all handled by a library called libuv which provides a mechanism called an event loop. This event loop is maybe the most misunderstood concept of the platform. When we approached the topic of event … read more

Don’t just let Node.js take the blame

No matter how well-built your applications are, countless issues can cause performance problems, putting the platforms they are running on under scrutiny. If you’ve moved to Node.js to power your applications, you may be at risk of these issues calling your choice into question. How do you identify vulnerabilities and mitigate risk to take the focus off troubleshooting the technology and back where it belongs, on innovation? There is no … read more

How to track down CPU issues in Node.js

A running application is represented through some state stored in memory and calculations carried out by the CPU. Typically performance problems materialize in these two areas. In my last post I’ve explained garbage collection and how to hunt down memory problems in Node.js. In this blog post I’ll cover the CPU aspects of Node.js including the event loop and how to track down tasks that consume too much CPU time … read more

Understanding Garbage Collection and hunting Memory Leaks in Node.js

Whenever there is bad press coverage of Node.js, it is (typically) related to performance problems. This does not mean that Node.js is more prone to problems than other technologies – the user must simply be aware of certain things about how Node.js  works . While this technology has a rather flat learning curve, the machinery that keeps Node.js ticking is quite complex and you must understand it to preemptively avoid performance pitfalls. And if things go wrong … read more

What you need to know about Node.js 4.0.0

Now – that Node.js 4.0.0 was officially released – you may wonder what it delivers to you and if you should upgrade right away, or not. This post covers the most important changes you need to know and some key implications you may have to take into account in making your decision. … read more

WordPress Analytics and Performance Monitoring made easy

I was recently asked to provide some analytics metrics around popular blog posts and popular authors. If you are a WordPress admin you might have been asked similar questions. As we use Dynatrace UEM (User Experience Management) for analytics and performance monitoring of our WordPress instance anyway I just went forward using it. What follows in this blog is a step-by-step tutorial in case you want to do the same on … read more

The drastic effects of omitting NODE_ENV in your Express.js applications

Most developers learn best by examples, which naturally tend to simplify matters and omit things that aren’t essential for understanding. This means that the “Hello World” example, when used as starting point for an application, may be not suitable for production scenarios at all. I started using Node.js like that and I have to confess that it took me almost two years to quantify the huge performance impact of omitting a … read more

Keeping things simple with Node.js

So you just installed Node.js on your system and want to start a short “Hello world” example that renders a simple HTML page? You’ll soon find out that Node.js offers a very limited set of features out of the box. Paradoxically this is one of the keys to its success and a reason why developers love it. Wizardry and Black Magic For many years I’ve used language after language and framework after framework and learning the frameworks was the hardest … read more

Why Node.js is hitting the big time in Enterprise Markets

Seasoned developers know that every few months a new “game changing” technology comes up just to pass into oblivion soon after. In my new role as technology strategist at Dynatrace I’m often asked why I think that this isn’t the case for Node.js. In this post I will explain why Node is different and how it is already used by enterprises. … read more