This Week in Open Source: August 28, 2026
NestJS v12 ships native observability via @nestjs/observe, Oban unifies config, Phoenix switches JSON libraries, and Symfony patches three branches.
NestJS v12 ships native observability via @nestjs/observe, Oban unifies config, Phoenix switches JSON libraries, and Symfony patches three branches.
Starlette has an open PR to add native OTel spans. Here's what that means if you run Starlette or FastAPI with an APM tool.
Rails batches schema reads, node-mysql2 lands 3-6x perf wins, OpenAI Python SDK hits v3.0.0, and Starlette proposes native OTel tracing.
When wrapping resources in Singleton objects, understanding the lifecycle behavior of both the underlying resource and the calling code is key. Django loves to close logging handlers frequently during its boot cycle. Debugging log handlers is its own special kind of fun; read on for the schadenfreude.
Scout Senior Developer Quinn walks us through adding FastMCP instrumentation to our Python agent. The Scout MCP server enables Scout users to query their Scout agent about application performance so that the agent can make decisions and fix issues based on that data.
What N+1 queries are, why they slow down your application, and how to detect and fix them in Rails, Django, and Elixir. Includes code examples, detection tools, and monitoring strategies.
During the course of execution, software programs accumulate several data objects that serve no purpose in the program and need to be let go. If not dealt with, they can keep eating up memory and...
Comparing the best Python error monitoring tools in 2026 for Django, Flask, and FastAPI. Honest reviews of Scout Monitoring, Sentry, Bugsnag, Rollbar, AppSignal, and Datadog.
The N+1 Queries Problem is a perennial database performance issue. It affects many ORM’s and custom SQL code, and Django’s ORM is not immune either. In this post, we’ll examine what the N+1 Queries Problem looks like in Django, some tools for fixing it, and most importantly some tools for ...
In Python, Lambda functions are rare compared to “normal” functions, and occasionally misunderstood or overused. In this article we’ll cover what Lambda functions are, how to use them, and how they compare with normal functions and other alternatives. We’ll also touch on the history of lambda functions, such as where ...
A stack is an abstract data type that stores a collection of elements with more strictly defined insertion and deletion rules.
Web frameworks are powerful tools. They abstract the common aspects of building web sites and APIs and allow us to build richer, more stable applications with less effort. A broad range of web frameworks is available to us in Python. Some are proven favorites with large ecosystems and communities. Others ...
A Python decorator wraps a target function with another wrapper function. This wrapper function can add any behavior you might want. For example, it can track execution times, redefine how the wrapped function runs, or modify return values. As a concrete example, the standard library’s functools.lru_cache() decorator wraps a target ...
Go Fast: Getting Started with Sanic for Python Tired of waiting for sluggish HTTP requests to complete before your backend code can proceed with other things? Sanic is an asynchronous web framework in Python, that is built to be fast. In a world where Flask and Django are the most ...
This article is a continuation of Part I (A comprehensive guide to migrating from Python 2(Legacy Python) to Python 3) which details the changes, improvements in Python 3 and why they are important. This rest of the article details automated tools, strategies and role of testing in the migration from ...
A tutorial on getting started with Flask, Python's most popular web application framework.
In this article, we'll be comparing the features and performances of two server-side programming languages; Python and Java. The intent is to provide enough knowledge to make an informed decision about which language to pick for your use-case when faced with such a situation.
In this blog post, we'll be going through two server-side scripting languages; Python and Ruby with focus on comparing the performance and other factors that might help you in deciding which language to pick over the other for your web application.
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?
Optimizing performance in Python What does "Optimizing" code mean anyway? The term "optimization" can apply to a broad level of metrics. But two general metrics of most interest are; CPU performance...
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: ...
We launched our Python agent a few months ago, supporting Python 3.4+.
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 ...
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.
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.
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 ...
Prior to releasing our Python Performance Monitoring agent, we took a look at the Python ecosystem to see how Scout can compliment the existing landscape. What follows is a summary of our internal report. The Python ecosystem has a wealth of monitoring tools. That said, making sense of each tool's ...
A transaction trace is a GPS system for web performance: it paints a rich picture of the flow of a web request through your code. So, why doesn't everybody trace? I believe there are two reasons: Complex instrumentation : Adding in-app tracing instrumentation is more involved than calling logger.info() for ...