Skip to main content

An zipkin extension for Flask based on py_zipkin.

Project description

flask-zipkin

a flask zipkin extension based on py_zipkin.

Installation

pip install flask_zipkin

usage

you can simply use it as other flask extensions.

from flask_zipkin import Zipkin

zipkin = Zipkin(app, sample_rate=10)
app.config['ZIPKIN_DSN'] = "http://127.0.0.1:9411/api/v1/spans"

Advance Usage

you could gen a header to pass it to other services, the downstream service will recieve this header.

@bp.route('/')
def hello():
    headers = {}
    headers.update(zipkin.create_http_headers_for_new_span())
    r = requests.get('http://localhost:5001', headers=headers)
    return r.text

flask_zipkin will use http transport by default. You could define a transport, like:

@zipkin.transport_handler
def default_handler(self, encoded_span):
    #body = str.encode('\x0c\x00\x00\x00\x01') + encoded_span
    return requests.post(
		'your transport dsn',
        data=encoded_span,
        headers={'Content-Type': 'application/x-thrift'},
)

flask_zipkin eats all transport exception by default. You could define an exception handler, like:

@zipkin.transport_exception_handler
def default_ex_handler(self, ex):
    raise ex

and also, you could exempt some views, like:

@zipkin.exempt
@bp.route('/')
def hello():
    return 'hello world'

add key, value for your tracing record, like:

zipkin.update_tags(id=1, user_id=2)

app configs

ZIPKIN_DISABLE disable zipkin tracking if value is True

ZIPKIN_DSN http transport dsn: such as http://localhost:9411/api/v1/spans

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Zipkin-0.0.5.tar.gz (3.4 kB view details)

Uploaded Source

Built Distribution

Flask_Zipkin-0.0.5-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file Flask-Zipkin-0.0.5.tar.gz.

File metadata

  • Download URL: Flask-Zipkin-0.0.5.tar.gz
  • Upload date:
  • Size: 3.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.9

File hashes

Hashes for Flask-Zipkin-0.0.5.tar.gz
Algorithm Hash digest
SHA256 90a1052e4be7f6302e7a24709ba46c923ebd4175211ac3616b01577547406e45
MD5 7f195ac6fcca3509c183e4283b474b58
BLAKE2b-256 c0e60ada1bdf65b0bcf5110cd85b0b66cc0c911c2cb3f668df6f2ec937b521cf

See more details on using hashes here.

File details

Details for the file Flask_Zipkin-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: Flask_Zipkin-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.6.9

File hashes

Hashes for Flask_Zipkin-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9d4fd5216ce412e65468c524c909c9ebcb527ee3c21922c79b027ed218d7f175
MD5 a91565319151a2a885940ad8741f338a
BLAKE2b-256 d518d53b64c402f1c7e870020d4393c8322a06b6cb22c29faaf26c0a513d1f37

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