A Comprehensive Guide to migrating from Python 2(Legacy) to Python 3

Python powers many applications we use day-to-day like Reddit, Instagram, Dropbox, Spotify and so on. Adoption of Python 3 has been a subject of debate in the Python community for long. While Python 3 has been out for more than a decade now, but there wasn’t much incentive to migrate from the stable Python 2.7 in the earlier releases, but with its end of life in January 2020 it’s high time to migrate. Read more

Memory Management in Python

Memory management in python: Yes, you heard it right “memory management in python”. You must be thinking: why do I need to manage the memory in any high-level language like python? Read more

Python Protocol Buffers

Protocol Buffers are a way to encode data before transportation, which efficiently shrinks data blocks and therefore increases speed when sending it. It abstracts data into a language-and  platform-neutral format. Read more

Identifying bottlenecks and optimizing performance in a Python codebase

In this post, we will walk through various techniques that can be used to identify the performance bottlenecks in your python codebase and optimize them. Read more

Is your Django app slow? Think like a data scientist, not an engineer

I'm an engineer by trade. I rely on intuition when investigating a slow Django app. I've solved a lot of performance issues over the years and the short cuts my brain takes often work. However, intuition can fail. It can fail hard in complex Django apps with many layers (ex: ... Read more

Monitor a Django app with Scout

Scout makes monitoring the performance of Django apps affordable and approachable in just a couple of lines of code. Read more

Monitoring Django apps on Heroku

I don't know of an easier way to deploy a Django app than letting Heroku do the work. That said, how do you stay on top of your app's performance, errors, and stability post-launch? Running an app on Heroku is a blissful experience, but it presents some monitoring challenges that ... Read more

Django Application Monitoring (APM) with StatsD

This post covers instrumenting a Django app with StatsD. StatsD is logging for metrics and is the missing swiss army knife in your measurement toolbelt. Read more

Finding and fixing N+1 queries in Django apps

The Django ORM makes it easy to fetch data, but there's a downside: it's easy to write inefficient queries as the number of records in your database grows. Read more

Why put Rust in our Python Monitoring agent?

Prior to adding Python performance monitoring , we'd written monitoring agents for Ruby and Elixir . Our Ruby and Elixir agents had duplicated much of their code between them, and we didn't want to add a third copy of the agent-plumbing code. The overlapping code included things like JSON payload ... Read more

Start your free 14-day trial today.
No credit card needed.