Skip to content

OpenTracing instrumentation for the asyncio Redis library

License

Notifications You must be signed in to change notification settings

zabuldon/AIORedis-Opentracing

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIORedis-OpenTracing

This package enables distributed tracing for the Python asyncio Redis library via The OpenTracing Project. It is heavily influenced by the Redis Opentracing implementation.

Installation

Run the following command:

$ pip install AIORedis-Opentracing

Getting started

Tracing a AIORedis client requires calling init_tracing() and optionally specify an OpenTracing-compatible tracer.

import aioredis
import aioredis_opentracing

# If not provided, opentracing.tracer will be used.
aioredis_opentracing.init_tracing(tracer)

redis = await aioredis.create_redis_pool('redis://localhost')
await redis.set('last_access', datetime.datetime.now())

It's possible to trace only specific pipelines:

aioredis_opentracing.init_tracing(tracer)

pipe = redis.multi_exec()
aioredis_opentracing.trace_pipeline(pipe)

# This pipeline will be executed as a single MULTI command.
pipe.set('key1', 'value1')
pipe.set('key2', 'value2')
ok1, ok2 = await pipe.execute()

When pipeline commands are executed as a transaction, these commands will be grouped under a single MULTI operation. They'll also appear as a single operation in the trace. Outside of a transaction, each command will generate a span.

About

OpenTracing instrumentation for the asyncio Redis library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%