Operations | Monitoring | ITSM | DevOps | Cloud

Python

AppSignal Monitoring Available for Python Applications

We're happy to announce that AppSignal now offers monitoring tools for Python projects. AppSignal helps you get the most out of your Python application's monitoring metrics, with additional support for multiple Python frameworks and packages such as Django and Celery. In this article, we'll walk you through some of our core features to show you how to power up your Python application with AppSignal.

Querying Arrow tables with DataFusion in Python

InfluxDB v3 allows users to write data at a rate of 4.3 million points per second. However, an incredibly fast ingest rate like this is meaningless without the ability to query that data. Apache DataFusion is an “extensible query execution framework, written in Rust, that uses Apache Arrow as its in-memory format.” It enables 5–25x faster query responses across a broad range of query types compared to previous versions of InfluxDB that didn’t use the Apache ecosystem.

Sept 13, 2023: SF Python Meetup - API Documentation: How Sentry Designed Custom Tooling

On September 13, 2023, Sentry hosted SF Python for a developer meetup in San Francisco. In this talk, Josh Ferge, Senior Software Engineer at Sentry, shared his experiences and insights on Sentry's journey of API documentation for their Django application. He talked about the various things they’ve tried, including: Schema / Example generation using dynamic tests; Writing OpenAPI JSON manually; Django Rest Framework & autodoc tooling around it; Problems with DRF serializers & performance, leading to Sentry custom implementation of schema generation using Python typing.

Aiven Workshop: Learn Apache Kafka with Python

What's in the Workshop Recipe? Apache Kafka is the industry de-facto standard for data streaming. An open-source, scalable, highly available and reliable solution to move data across companies' departments, technologies or micro-services. In this workshop you'll learn the basics components of Apache Kafka and how to get started with data streaming using Python. We'll dive deep, with the help of some prebuilt Jupyter notebooks, on how to produce, consume and have concurrent applications reading from the same source, empowering multiple use-cases with the same streaming data.

Configuring Python StatsD Client

Building and deploying highly scalable, distributed applications in the ever-changing landscape of software development is only half the journey. The other half is monitoring your application states and instances while recording accurate metrics. There are moments when you wish to check how many resources are being consumed, how many files are under access by the specialized process, etc. These metrics provide valuable insights into our tech stack execution and management.

Python Garbage Collection: What It Is and How It Works

Python is one of the most popular programming languages and its usage continues to grow. It ranked first in the TIOBE language of the year in 2022 and 2023 due to its growth rate. Python’s ease of use and large community have made it a popular fit for data analysis, web applications, and task automation. In this post, we’ll cover: We’ll take a practical look at how you should think about garbage collection when writing your Python applications.

How to monitor Python Applications with Prometheus

Prometheus is becoming a popular tool for monitoring Python applications despite the fact that it was originally designed for single-process multi-threaded applications, rather than multi-process. Prometheus was developed in the Soundcloud environment and was inspired by Google’s Borgmon. In its original environment, Borgmon relies on straightforward methods of service discovery - where Borg can easily find all jobs running on a cluster.

Effective Logging in Threaded or Multiprocessing Python Applications

In Python development, logging is not only good practice; it is vital. Logging is critical for understanding the execution flow of an application and helps in debugging potential issues. The importance of logging for developing reliable and maintainable Python applications cannot be overstated. Python provides capabilities for running concurrent operations—either in a threaded (single process) or multiple process environment. But what implications do these different approaches have on logging?

Sending and Filtering Python Logs with OpenTelemetry

While support for logging in the OpenTelemetry Python project is listed as 'experimental,' it's completely possible to send logs from your Python application. The Opentelemetry Collector has support for numerous existing logging systems, effectively exporting log data from wherever you were sending logs currently; you can also use the filelog receiver to tail and send logs from files. The only 'experimental' portion of the Python SDK is sending logs directly from code-level instrumentation.