Skip to content

Commit

Permalink
remove msgpack dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle-Verhoog committed Jun 8, 2020
1 parent ac34dfd commit d02932b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 8 deletions.
9 changes: 6 additions & 3 deletions ddtrace/encoding.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import json
import struct

import msgpack
try:
import msgpack
except ImportError:
pass

from .internal.logger import get_logger
from .internal._encoding import TraceMsgPackEncoder
from .internal._encoding import TraceMsgpackEncoder


log = get_logger(__name__)
Expand Down Expand Up @@ -144,4 +147,4 @@ def join_encoded(objs):
return struct.pack('>BI', 0xdd, count) + buf


Encoder = TraceMsgPackEncoder
Encoder = TraceMsgpackEncoder
8 changes: 7 additions & 1 deletion ddtrace/internal/_encoding.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -328,9 +328,15 @@ cdef class Packer(object):
return buff_to_buff(self.pk.buf, self.pk.length)


cdef class TraceMsgPackEncoder(object):
cdef class TraceMsgpackEncoder(object):
content_type = "application/msgpack"

cpdef decode(self, data):
import msgpack
if msgpack.version[:2] < (0, 6):
return msgpack.unpackb(data)
return msgpack.unpackb(data, raw=True)

cpdef encode_trace(self, trace):
return Packer().pack(trace)

Expand Down
2 changes: 0 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,9 @@ def get_exts_for(name):
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
# enum34 is an enum backport for earlier versions of python
# funcsigs backport required for vendored debtcollector
# encoding using msgpack
install_requires=[
"enum34; python_version<'3.4'",
"funcsigs>=1.0.0; python_version=='2.7'",
"msgpack>=0.5.0",
"protobuf>=3",
"intervaltree",
"tenacity>=5",
Expand Down
4 changes: 2 additions & 2 deletions tests/utils/tracer.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from ddtrace.encoding import JSONEncoder, MsgpackEncoder
from ddtrace.encoding import JSONEncoder, TraceMsgPackEncoder
from ddtrace.internal.writer import AgentWriter
from ddtrace.tracer import Tracer

Expand All @@ -15,7 +15,7 @@ def __init__(self, *args, **kwargs):
self.traces = []
self.services = {}
self.json_encoder = JSONEncoder()
self.msgpack_encoder = MsgpackEncoder()
self.msgpack_encoder = TraceMsgpackEncoder()

def write(self, spans=None, services=None):
if spans:
Expand Down

0 comments on commit d02932b

Please sign in to comment.