Skip to content

Commit 47e3ed9

Browse files
authored
[core] Remove sending of service info (#811)
* [core] remove all service sending code * fix tests asserting on services * remove unused import * remove final references to Tracer._services * fix missing pop_services assertion * remove unused import * Update ddtrace/tracer.py
1 parent f16f4f4 commit 47e3ed9

File tree

34 files changed

+35
-303
lines changed

34 files changed

+35
-303
lines changed

ddtrace/api.py

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# project
88
from .encoding import get_encoder, JSONEncoder
99
from .compat import httplib, PYTHON_VERSION, PYTHON_INTERPRETER, get_connection_response
10+
from .utils.deprecation import deprecated
1011

1112

1213
log = logging.getLogger(__name__)
@@ -159,23 +160,9 @@ def send_traces(self, traces):
159160
log.debug("reported %d traces in %.5fs", len(traces), time.time() - start)
160161
return response
161162

162-
def send_services(self, services):
163-
if not services:
164-
return
165-
s = {}
166-
for service in services:
167-
s.update(service)
168-
data = self._encoder.encode_services(s)
169-
response = self._put(self._services, data)
170-
171-
# the API endpoint is not available so we should downgrade the connection and re-try the call
172-
if response.status in [404, 415] and self._fallback:
173-
log.debug('calling endpoint "%s" but received %s; downgrading API', self._services, response.status)
174-
self._downgrade()
175-
return self.send_services(services)
176-
177-
log.debug("reported %d services", len(services))
178-
return response
163+
@deprecated(message='Sending services to the API is no longer necessary', version='1.0.0')
164+
def send_services(self, *args, **kwargs):
165+
return
179166

180167
def _put(self, endpoint, data, count=0):
181168
conn = httplib.HTTPConnection(self.hostname, self.port)

ddtrace/contrib/aiohttp/middlewares.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,6 @@ def trace_app(app, tracer, service='aiohttp-web'):
123123
# the tracer must work with asynchronous Context propagation
124124
tracer.configure(context_provider=context_provider)
125125

126-
# configure the current service
127-
tracer.set_service_info(
128-
service=service,
129-
app='aiohttp',
130-
app_type=AppTypes.web,
131-
)
132-
133126
# add the async tracer middleware as a first middleware
134127
# and be sure that the on_prepare signal is the last one
135128
app.middlewares.insert(0, trace_middleware)

ddtrace/contrib/bottle/trace.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
# stdlib
55
import ddtrace
6-
from ddtrace.ext import http, AppTypes
6+
from ddtrace.ext import http
77

88
# project
99
from ...constants import EVENT_SAMPLE_RATE_KEY
@@ -21,11 +21,6 @@ def __init__(self, service='bottle', tracer=None, distributed_tracing=None):
2121
self.service = service
2222
self.tracer = tracer or ddtrace.tracer
2323
self.distributed_tracing = distributed_tracing
24-
self.tracer.set_service_info(
25-
service=service,
26-
app='bottle',
27-
app_type=AppTypes.web,
28-
)
2924

3025
def apply(self, callback, route):
3126

ddtrace/contrib/django/apps.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
from .templates import patch_template
1111
from .middleware import insert_exception_middleware, insert_trace_middleware
1212

13-
from ...ext import AppTypes
14-
15-
1613
log = logging.getLogger(__name__)
1714

1815

@@ -39,13 +36,6 @@ def ready(self):
3936
tracer.writer.api.hostname = settings.AGENT_HOSTNAME
4037
tracer.writer.api.port = settings.AGENT_PORT
4138

42-
# define the service details
43-
tracer.set_service_info(
44-
app='django',
45-
app_type=AppTypes.web,
46-
service=settings.DEFAULT_SERVICE,
47-
)
48-
4939
if settings.AUTO_INSTRUMENT:
5040
# trace Django internals
5141
insert_trace_middleware()

ddtrace/contrib/django/db.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
# project
77
from ...ext import sql as sqlx
8-
from ...ext import AppTypes
98

109
from .conf import settings
1110
from ..dbapi import TracedCursor as DbApiTracedCursor
@@ -63,11 +62,6 @@ def cursor():
6362
'django.db.vendor': vendor,
6463
'django.db.alias': alias,
6564
}
66-
tracer.set_service_info(
67-
service=service,
68-
app=prefix,
69-
app_type=AppTypes.db,
70-
)
7165

7266
pin = Pin(service, tags=tags, tracer=tracer, app=prefix)
7367
return DbApiTracedCursor(conn._datadog_original_cursor(), pin)

ddtrace/contrib/elasticsearch/transport.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from ...utils.deprecation import deprecated
88
from ...compat import urlencode
9-
from ...ext import AppTypes, http, elasticsearch as metadata
9+
from ...ext import http, elasticsearch as metadata
1010

1111
DEFAULT_SERVICE = 'elasticsearch'
1212
SPAN_TYPE = 'elasticsearch'
@@ -15,12 +15,6 @@
1515
@deprecated(message='Use patching instead (see the docs).', version='1.0.0')
1616
def get_traced_transport(datadog_tracer, datadog_service=DEFAULT_SERVICE):
1717

18-
datadog_tracer.set_service_info(
19-
service=datadog_service,
20-
app=SPAN_TYPE,
21-
app_type=AppTypes.db,
22-
)
23-
2418
class TracedTransport(elasticsearch.Transport):
2519
""" Extend elasticseach transport layer to allow Datadog
2620
tracer to catch any performed request.

ddtrace/contrib/falcon/middleware.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
from ...compat import iteritems
88
from ...constants import EVENT_SAMPLE_RATE_KEY
9-
from ...ext import AppTypes
109
from ...settings import config
1110

1211

@@ -18,13 +17,6 @@ def __init__(self, tracer, service="falcon", distributed_tracing=False):
1817
self.service = service
1918
self._distributed_tracing = distributed_tracing
2019

21-
# configure Falcon service
22-
self.tracer.set_service_info(
23-
app='falcon',
24-
app_type=AppTypes.web,
25-
service=service,
26-
)
27-
2820
def process_request(self, req, resp):
2921
if self._distributed_tracing:
3022
# Falcon uppercases all header names.

ddtrace/contrib/flask/middleware.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import logging
22

33
from ... import compat
4-
from ...ext import http, errors, AppTypes
4+
from ...ext import http, errors
55
from ...propagation.http import HTTPPropagator
66
from ...utils.deprecation import deprecated
77

@@ -37,12 +37,6 @@ def __init__(self, app, tracer, service="flask", use_signals=True, distributed_t
3737
return
3838
setattr(app, '__dd_instrumentation', True)
3939

40-
self.app._tracer.set_service_info(
41-
service=service,
42-
app="flask",
43-
app_type=AppTypes.web,
44-
)
45-
4640
# Install hooks which time requests.
4741
self.app.before_request(self._before_request)
4842
self.app.after_request(self._after_request)

ddtrace/contrib/flask_cache/tracers.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77

88
# project
99
from .utils import _extract_conn_tags, _resource_from_cache_prefix
10-
from ...ext import AppTypes
1110

1211
# 3rd party
1312
from flask.ext.cache import Cache
@@ -29,13 +28,6 @@ def get_traced_cache(ddtracer, service=DEFAULT_SERVICE, meta=None):
2928
Return a traced Cache object that behaves exactly as the ``flask.ext.cache.Cache class``
3029
"""
3130

32-
# set the Tracer info
33-
ddtracer.set_service_info(
34-
app="flask",
35-
app_type=AppTypes.cache,
36-
service=service,
37-
)
38-
3931
class TracedCache(Cache):
4032
"""
4133
Traced cache backend that monitors any operations done by flask_cache. Observed actions are:

ddtrace/contrib/mongoengine/trace.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
# project
66
import ddtrace
7-
from ddtrace.ext import AppTypes, mongo as mongox
7+
from ddtrace.ext import mongo as mongox
88
from ddtrace.contrib.pymongo.client import TracedMongoClient
99

1010

@@ -26,12 +26,6 @@ def __call__(self, *args, **kwargs):
2626
# mongoengine uses pymongo internally, so we can just piggyback on the
2727
# existing pymongo integration and make sure that the connections it
2828
# uses internally are traced.
29-
30-
pin.tracer.set_service_info(
31-
service=pin.service,
32-
app=mongox.TYPE,
33-
app_type=AppTypes.db,
34-
)
3529
client = TracedMongoClient(client)
3630
ddtrace.Pin(service=pin.service, tracer=pin.tracer).onto(client)
3731

0 commit comments

Comments
 (0)