Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions examples/microservice_requests/main.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from examples.microservice_requests import ms

app = ms.create_app()

if __name__ == '__main__':
Expand Down
2 changes: 1 addition & 1 deletion pyms/flask/services/requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ def insert_trace_headers(headers: dict) -> dict:

try:
headers = inject_span_in_headers(headers)
except Exception as ex:
except Exception as ex: # pragma: no cover
logger.debug("Tracer error {}".format(ex))
return headers

Expand Down
28 changes: 15 additions & 13 deletions pyms/flask/services/tracer.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import logging

import opentracing
from flask import current_app, request
from flask import current_app, request, has_request_context
from jaeger_client.metrics.prometheus import PrometheusMetricsFactory
from opentracing_instrumentation import get_current_span

Expand All @@ -19,18 +19,20 @@


def inject_span_in_headers(headers):
# FLASK https://github.com/opentracing-contrib/python-flask
tracer = current_app.tracer
# Add traces
span = None
if tracer:
span = tracer.get_span(request=request)
if not span: # pragma: no cover
span = get_current_span()
if not span:
span = tracer.tracer.start_span()
context = span.context if span else None
tracer.tracer.inject(context, opentracing.Format.HTTP_HEADERS, headers)
if has_request_context():
# FLASK https://github.com/opentracing-contrib/python-flask
tracer = current_app.tracer if getattr(current_app, "tracer") else None
# Add traces
span = None
current_app.app_context()
if tracer:
span = tracer.get_span(request=request)
if not span: # pragma: no cover
span = get_current_span()
if not span:
span = tracer.tracer.start_span()
context = span.context if span else None
tracer.tracer.inject(context, opentracing.Format.HTTP_HEADERS, headers)
return headers


Expand Down
4 changes: 2 additions & 2 deletions pyms/logger/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ def add_fields(self, log_record, record, message_dict):
log_record["trace"] = headers.get('X-B3-TraceId', "")
log_record["span"] = headers.get('X-B3-SpanId', "")
log_record["parent"] = headers.get('X-B3-ParentSpanId', "")
except Exception as ex:
logger.error("Tracer error {}".format(ex))
except Exception as ex: # pragma: no cover
logger.error("Tracer error: {}".format(ex))

def add_service_name(self, project_name):
self.service_name = project_name.lower()