I recently wrote two articles on Python application monitoring with Prometheus:
- Monitoring Your Synchronous Python Web Applications Using Prometheus
- Monitoring Your Asynchronous Python Web Applications Using Prometheus
The demos can be found in the python-prometheus-demo repository.
Also checkout aiohttp-prometheus.
Distributed tracing is the idea of tracing a network request as it travels through your services, as it would be in a microservices based architecture. The primary reason you may want to do is to troubleshoot or monitor the latency of a request as it travels through the different services …
Using QueueLogger with Python JSON Logger
When logging from multiple processes (via multiprocessing module), using QueueHandler is one approach with Python 2.
I presented at the PyCon 2016 Education Summit on "Doing Math with Python" day before yesterday and a lightning talk yesterday. This is the first time, I prepared a slide deck using Jupyter Notebook + Reveal.js. I was pleased with the content creation process and the end result. So, here …
Let's say you have some Python application code which connects to Amazon S3 which retrieves the keys in a bucket. Very likely, the application would be using boto and the code would like this:
import boto def get_s3_conn(): return boto.connect_s3('<aws-access-key', '<aws-secret-key>') def list_keys(): s3_conn = get_s3_conn() b = s3_conn.get_bucket …
In Python, when you need to create a temporary file with a filename associated to it on disk, NamedTemporaryFile function in the tempfile module is the goto function. Here are some use cases that I think one might use it for.
Case #1: You simply need a named empty temporary …
Updated: Fixed typo in the last paragraph.
Today, I was curious to see this behavior of Mock() objects when using mock:
>>> from mock import Mock >>> m = Mock() >>> m.i_dont_exist <Mock name='mock.i_dont_exist' id='139841609578768'> >>> m.i_dont_exist() <Mock name='mock.i_dont_exist()' id='139841609106896'>
The above is expected, since I have …
I have until the last few months (of my ~4 years of working with Python) always worked without virtualenv for all my Python projects. Why? I think I found the whole idea of having to do the following two steps before I work on something cumbersome:
- Remember the exact virtualenv …