Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Knowing When Something Has Gone Wrong
Python & Django

Knowing When Something Has Gone Wrong

Monitoring a Django application: error tracking, response time percentiles, queue depth and a business metric, with alerts on silent failures too.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Error tracking, response times, queue depth and one business metric. The expensive failures are silent, so alert on absence as well as on errors.

Silent failures cost the most

An application that is down gets noticed. One where the nightly job stopped, or email stopped sending, can run wrong for weeks.

Ask how you would find out if your application stopped sending email today. For most businesses the honest answer is a customer complaint, eventually.

Four things to watch

  1. Errors — aggregated, with context to diagnose
  2. Response times — percentiles, not averages
  3. Queue depth and failed tasks
  4. One business metric — records created, orders placed, jobs completed

The fourth catches what the others miss. If yesterday's count is zero and forty is normal, something is wrong regardless of the error log.

Percentiles, not averages

An average response time hides the slow requests. A page averaging four hundred milliseconds with a small proportion taking ten seconds is a page some users find unusable.

Watch the ninety-fifth and ninety-ninth percentile, which is where the user experience actually lives.

Route alerts to someone who can act

AlertGoes to
Application downWhoever can restart it
Error rate spikeWhoever can diagnose
Business metric at zeroThe business owner
Queue growingWhoever manages workers
Weekly summaryEveryone, for visibility

Prune the noise

An alert channel firing forty times a day is one people mute. Any alert that has fired repeatedly without anyone acting is either wrongly tuned or unnecessary.

Ten minutes a quarter keeps it meaningful, which is what makes the important alert get read.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

What error tracking should we use?

Any established service. What matters is that errors are aggregated and reach a person rather than accumulating in a log.

How do we monitor a business metric?

A daily count with an expected range, alerted when outside. Small work, disproportionate value.

Should we alert on every error?

New ones yes, known ones logged and reviewed. Alerting on everything trains people to ignore alerts.

Do we need an on-call rota?

Rarely for a business application. A morning check and sensible batching covers most situations.

Keep reading

More on Python & Django

Python & Django

An API Other Systems Can Depend On

Designing a Python API service others can depend on: validation at the boundary, consistent errors and status codes, early versioning and documentation.

Python & Django

Moving and Transforming Data Reliably

Building data pipelines in Python that cope with malformed input: restartable stages, quarantining failures, reconciling counts and alerting on absence.

Start here

Would you know if your application stopped working properly?

Not stopped — stopped working properly. That is the failure worth monitoring for.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →