Skip to main content

barium-meal

Python Wrapper for OpenTelemetry written to scratch the itch of needing to use the same / similar code across several Google Cloud Functions and wanting to abstract away from tracing / logging so I can mix and match the two.

Some of these cloud functions are invoked via HTTP, others from Pub/Sub messages.

For Pub/Sub I have jury-rigged persisting the state of a Span to propagate between processes. To ensure that a trace that goes from function to function via pub/sub remains contiguous.

I'm sure there is a better way of doing this but this is good enough for my purposes and by putting my solution out in the wild I'm hoping to get feedback to help improve it.

For http I have used the W3C Trace Context Level1 Recommendation from 6 February 2020. I rolled my own here as I didn't find an existing Python implementation. Again if I have missed something and someone would like to put me right that would be great!

Installation

pip install barium-meal

Usage

The tests are the best guide to usage. In the interests of keeping things DRY please take a look there.

Running the tests

In a new virtual environment:

python setup.py develop
pytest

Release files for barium-meal 0.0.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for barium-meal 0.0.13
File Size Uploaded
barium-meal-0.0.13.macosx-10.15-x86_64.tar.gz 4.9 kB Details

Release files / barium-meal-0.0.13.macosx-10.15-x86_64.tar.gz

Download URL barium-meal-0.0.13.macosx-10.15-x86_64.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
813f6e6188e206fd50907a858ae2e59ebdaa9d463026ef75e3b57259f522b343
BLAKE2b-256 checksum
How to use checksums
4e99e9278b6c0ce1694fa25ebfe640f8af956e50c50b32bc0e04e4d5fcc9984f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.6
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page