Skip to content

Commit 1e417a8

Browse files
committed
changing the getter function with getter objects in instrumentation
1 parent b0de4f8 commit 1e417a8

File tree

5 files changed

+21
-15
lines changed
  • instrumentation
    • opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django
    • opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon
    • opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask
    • opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid
  • opentelemetry-api/src/opentelemetry/trace/propagation

5 files changed

+21
-15
lines changed

Diff for: instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
from opentelemetry.instrumentation.wsgi import (
2222
add_response_attributes,
2323
collect_request_attributes,
24-
get_header_from_environ,
24+
getter,
2525
)
2626
from opentelemetry.propagators import extract
2727
from opentelemetry.trace import SpanKind, get_tracer
@@ -98,7 +98,7 @@ def process_request(self, request):
9898

9999
environ = request.META
100100

101-
token = attach(extract(get_header_from_environ, environ))
101+
token = attach(extract(getter, environ))
102102

103103
tracer = get_tracer(__name__, __version__)
104104

Diff for: instrumentation/opentelemetry-instrumentation-falcon/src/opentelemetry/instrumentation/falcon/__init__.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,7 @@ def __call__(self, env, start_response):
114114

115115
start_time = time_ns()
116116

117-
token = context.attach(
118-
propagators.extract(otel_wsgi.get_header_from_environ, env)
119-
)
117+
token = context.attach(propagators.extract(otel_wsgi.getter, env))
120118
attributes = otel_wsgi.collect_request_attributes(env)
121119
span = self._tracer.start_span(
122120
otel_wsgi.get_default_span_name(env),

Diff for: instrumentation/opentelemetry-instrumentation-flask/src/opentelemetry/instrumentation/flask/__init__.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,7 @@ def _before_request():
113113
span_name = flask.request.endpoint or otel_wsgi.get_default_span_name(
114114
environ
115115
)
116-
token = context.attach(
117-
propagators.extract(otel_wsgi.get_header_from_environ, environ)
118-
)
116+
token = context.attach(propagators.extract(otel_wsgi.getter, environ))
119117

120118
tracer = trace.get_tracer(__name__, __version__)
121119

Diff for: instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/callbacks.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,7 @@ def _before_traversal(event):
6969

7070
start_time = environ.get(_ENVIRON_STARTTIME_KEY)
7171

72-
token = context.attach(
73-
propagators.extract(otel_wsgi.get_header_from_environ, environ)
74-
)
72+
token = context.attach(propagators.extract(otel_wsgi.getter, environ))
7573
tracer = trace.get_tracer(__name__, __version__)
7674

7775
if request.matched_route:

Diff for: opentelemetry-api/src/opentelemetry/trace/propagation/textmap.py

+16-4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,20 @@
2222
Setter = typing.Callable[[TextMapPropagatorT, str, str], None]
2323

2424

25+
def default_get(carrier: TextMapPropagatorT, key: str) -> typing.List[str]:
26+
return [carrier.get(key)] if carrier.get(key) else []
27+
28+
29+
def default_keys(carrier: TextMapPropagatorT) -> typing.List[str]:
30+
return list(carrier.keys())
31+
32+
33+
GetterGetFunction = typing.Callable[
34+
[TextMapPropagatorT, str], typing.List[str]
35+
]
36+
GetterKeysFunction = typing.Callable[[TextMapPropagatorT], typing.List[str]]
37+
38+
2539
class Getter:
2640
"""This class implements a Getter that enables extracting propagated
2741
fields from a carrier
@@ -30,10 +44,8 @@ class Getter:
3044

3145
def __init__(
3246
self,
33-
get=lambda carrier, key: [carrier.get(key)]
34-
if carrier.get(key)
35-
else [],
36-
keys=lambda carrier: list(carrier.keys()),
47+
get: GetterGetFunction[TextMapPropagatorT] = default_get,
48+
keys: GetterKeysFunction[TextMapPropagatorT] = default_keys,
3749
):
3850
self._get = get
3951
self._keys = keys

0 commit comments

Comments
 (0)