High performace C++ implementation of LightStep tracing
Project description
LightStep Streaming: Our Streaming Python Tracer
The Streaming Python Tracer, is an OpenTracing tracer which sends data to LightStep Satellites.
This tracer sends data to multiple Satellites concurrently using non-blocking I/O writes. Memory is carefully managed so that spans are only copied a single time during the reporting process and streamed to Satellites as they are generated to avoid filling up memory. The Streaming Python Tracer is written in C++. There is a thin Python wrapper around this C++ core so the library can be imported just like any other Python module.
Setup
If you aren't familiar with OpenTracing or LightStep, we recommend reading up before continuing.
Before installing, make sure that you system meets these requirements:
- Linux
- Python 2.7 or >= 3.2.0 (and pip)
- opentracing PyPI Module (>=2.2.0)
To install the Streaming Python Tracer, run pip install lightstep-streaming
.
Getting Started
The beauty of OpenTracing is that all tracers follow a well-defined API. The only step which varies from tracer to tracer is the setup step when lightstep_streaming.Tracer
's constructor is called. Below is a sample program which illustrates how to create a new Tracer object using the Streaming Python Tracer. For more details on how to use a Tracer
object once it has been created, checkout the OpenTracing Python API Guide.
import lightstep_streaming
tracer = lightstep_streaming.Tracer(
component_name='[your service name]',
access_token='[your LightStep access token]',
# Use these defaults unless you know what you're doing
use_stream_recorder=True,
collector_plaintext=True,
# You can put any number of Satellite endpoints in this list and the tracer
# will rotate through them and send spans to each one.
satellite_endpoints=[{'host': 'localhost', 'port': 8360}],
# Turns off verbose logging, which is really only useful for debugging.
verbose=False
)
# Generates one span
with tracer.start_active_span('[your operation name]'):
pass
# Makes sure that the tracer has sent the span to a Satellite
tracer.flush()
A complete list of Streaming Python Tracer configuration parameters can be found in tracer_configuration.schema.json. If you are interested in peeking at the source code, this is available in the LightStep C++ Tracer repo.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file lightstep_streaming-0.14.0-cp32-abi3-manylinux1_x86_64.whl
.
File metadata
- Download URL: lightstep_streaming-0.14.0-cp32-abi3-manylinux1_x86_64.whl
- Upload date:
- Size: 994.2 kB
- Tags: CPython 3.2+
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd1e28655c6916c65886f0f494218098aa51b3dd55a879e750abc3b1d98c6f20 |
|
MD5 | 044ae3e9b7c4dcc4e0ef3192e474f2ca |
|
BLAKE2b-256 | 7504b26ef51829ad7b86cbde2c06060431abded440d2aeba4953255495039dc0 |
File details
Details for the file lightstep_streaming-0.14.0-cp27-cp27mu-manylinux1_x86_64.whl
.
File metadata
- Download URL: lightstep_streaming-0.14.0-cp27-cp27mu-manylinux1_x86_64.whl
- Upload date:
- Size: 993.9 kB
- Tags: CPython 2.7mu
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dbea42825c2bf4dc9d773f936b067e9b24dbe6dcd6e0d26bbf85b7f8605aaad |
|
MD5 | 9149f6b7d20c6f86e8b986d5fbbe31a1 |
|
BLAKE2b-256 | 88e73f1c9eafb3525a4626f9ad95ba720c0caad23309b47edfcd905ee0a6f5c2 |
File details
Details for the file lightstep_streaming-0.14.0-cp27-cp27m-manylinux1_x86_64.whl
.
File metadata
- Download URL: lightstep_streaming-0.14.0-cp27-cp27m-manylinux1_x86_64.whl
- Upload date:
- Size: 994.0 kB
- Tags: CPython 2.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/2.7.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6bd25f88a5b34ccc695fa013f72feb626483fccd063e16c9dfd4d1b6450f86e |
|
MD5 | c74997696b3c7cb058da1a88f6ee7fb6 |
|
BLAKE2b-256 | 520b4257ef28a3a4ed5f506946d1bef9c64db8e87876b58607afeda1f257e83c |