Thanks to visit codestin.com
Credit goes to github.com

Skip to content

W3C TraceContext compliance #197

Closed
Closed
@reyang

Description

@reyang

We have an initial implementation of TraceContext and it has some issues.

The following code would get 30 test failures according to the latest W3C Distributed Tracing Validation Service:

import flask
import json
import requests

from opentelemetry import trace
from opentelemetry.ext import http_requests
from opentelemetry.ext.wsgi import OpenTelemetryMiddleware
from opentelemetry.sdk.trace import Tracer
from opentelemetry.sdk.trace.export import (
    ConsoleSpanExporter,
    SimpleExportSpanProcessor,
)

trace.set_preferred_tracer_implementation(lambda T: Tracer())

http_requests.enable(trace.tracer())
span_processor = SimpleExportSpanProcessor(ConsoleSpanExporter())
trace.tracer().add_span_processor(span_processor)

app = flask.Flask(__name__)
app.wsgi_app = OpenTelemetryMiddleware(app.wsgi_app)

@app.route("/", methods=["POST"])
def hello():
    for action in flask.request.json:
        requests.post(
            url=action["url"],
            data=json.dumps(action["arguments"]),
            headers={
                "Accept": "application/json",
                "Content-Type": "application/json; charset=utf-8",
            },
            timeout=5.0,
        )
    return "hello"

if __name__ == "__main__":
    app.run(debug=True)
    span_processor.shutdown()

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpriority:p1Issues that should be resolved in the upcoming release (except for zero-day hotfix release)

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions