Skip to main content

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

File details

Details for the file lightstep_streaming-0.13.0-cp32-abi3-manylinux1_x86_64.whl.

File metadata

  • Download URL: lightstep_streaming-0.13.0-cp32-abi3-manylinux1_x86_64.whl
  • Upload date:
  • Size: 990.0 kB
  • Tags: CPython 3.2+
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/2.7.17

File hashes

Hashes for lightstep_streaming-0.13.0-cp32-abi3-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1e99f0f9f41173afa56d5b26605c8a74ce90a40bbe723bcc194f8e09d0547909
MD5 3c8fe9d8584bfb41cb4610b80c66aeb2
BLAKE2b-256 c63e6c2f30be312b0f62e301eb1939141396130dcba73bcadc544257817ecdb7

See more details on using hashes here.

File details

Details for the file lightstep_streaming-0.13.0-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for lightstep_streaming-0.13.0-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cc79fff9827e29219169e11138c5963f27f0c0e044447faf16934357d08f548b
MD5 c70d3dad1185ba0507508dc3e33500ec
BLAKE2b-256 eb706e1b256cbb04216c6aa878b9d582e9464aee55a0d4b5a00e5423139570e0

See more details on using hashes here.

File details

Details for the file lightstep_streaming-0.13.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for lightstep_streaming-0.13.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 38bd73cf797848c85bcc0e53220ad8eede4ea6faff958cc358d4a54fc817d875
MD5 b7d7e0a3d9b41b2e2ed8fd57529a9f05
BLAKE2b-256 71f2310d9eaef0ca73543b3b2cab074018568a0e701a91def3e471e8117a10d9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page