OpenCensus Runtime Context
Project description
The OpenCensus Runtime Context provides in-process context propagation. By default, thread local storage is used for Python 2.7, 3.4 and 3.5; contextvars is used for Python >= 3.6, which provides asyncio support.
Installation
This library is installed by default with opencensus, there is no need to install it explicitly.
Usage
In most cases context propagation happens automatically within a process, following the control flow of threads and asynchronous coroutines. The runtime context is a dictionary stored in a context variable when available, and in thread local storage otherwise.
There are cases where you may want to propagate the context explicitly:
Explicit Thread Creation
from threading import Thread
from opencensus.common.runtime_context import RuntimeContext
def work(name):
# here you will get the context from the parent thread
print(RuntimeContext)
thread = Thread(
# propagate context explicitly
target=RuntimeContext.with_current_context(work),
args=('foobar',),
)
thread.start()
thread.join()
Thread Pool
from multiprocessing.dummy import Pool as ThreadPool
from opencensus.common.runtime_context import RuntimeContext
def work(name):
# here you will get the context from the parent thread
print(RuntimeContext)
pool = ThreadPool(2)
# propagate context explicitly
pool.map(RuntimeContext.with_current_context(work), [
'bear',
'cat',
'dog',
'horse',
'rabbit',
])
pool.close()
pool.join()
References
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for opencensus-context-0.2.dev0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10ab2bc631a72257018e49e3e4b81e6c117c0cfb2f28d4b52b3c7da722d3042c |
|
MD5 | 73ba3cb41ac0504201abe4c97d373214 |
|
BLAKE2b-256 | f53e676c048bc92b27937d497e82374d3bbd6fe5c9df5a6d2d97674103c6ef36 |
Hashes for opencensus_context-0.2.dev0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d09c98c1be6f99364bc8571f74665bae216538f2e9f85084740e1649c867b0 |
|
MD5 | ec716b9c45644747d248a58bd843ea59 |
|
BLAKE2b-256 | 7dd892ec4bd2c362618035f4011e2cd37dcea69c0e90c751d88263e7fa3804d7 |