Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve opentracing #499

Open
hardbyte opened this issue Feb 11, 2020 · 5 comments
Open

Improve opentracing #499

hardbyte opened this issue Feb 11, 2020 · 5 comments
Assignees

Comments

@hardbyte
Copy link
Collaborator

Misc issues when trialing jaeger tracing.

  1. I've seen the warning "invalid parent span" for the following tasks at various times (not always):
  • entityservice.tasks.solver.solver_task,
  • entityservice.tasks.mark_run_complete.mark_run_complete and
  • entityservice.tasks.run.prerun_check
  • entityservice.tasks.comparing.compute_filter_similarity

image

  1. Aggregate comparisons task doesn't include project or run id information:

image

  1. Uploading CLKS don't seem to be linked to the worker task that handles the uploaded data:

image

@hardbyte
Copy link
Collaborator Author

We might not be initializing the tracer correctly due to the WSGI forking - https://github.com/jaegertracing/jaeger-client-python#wsgi-multi-processing-fork2

@hardbyte
Copy link
Collaborator Author

More nice to haves:

  • we could show which deployment the service is from - e.g. a feature branch, or helm release.
  • we could link our client tools too - we can in theory trace by injecting HTTP_HEADERS from the request side too.

@hardbyte
Copy link
Collaborator Author

hardbyte commented Mar 9, 2020

During debugging I note that the parent_span of our tasks have an uber-trace-id

@wilko77
Copy link
Collaborator

wilko77 commented May 28, 2020

opentracing-instrumentation natively supports celery since release 3.1. That might help...

@hardbyte
Copy link
Collaborator Author

I've been using opentelemetry, exporting to jaeger on another project. These are the dependencies I'm using:

jaeger-client = "^4.3.0"
opentelemetry-api = "^0.17b0"
opentelemetry-sdk = "^0.17b0"
opentelemetry-instrumentation = "^0.17b0"
opentelemetry-instrumentation-flask = "^0.17b0"
opentelemetry-instrumentation-celery = "^0.17b0"
opentelemetry-instrumentation-sqlalchemy = "^0.17b0"
opentelemetry-exporter-jaeger = "^0.17b0"
opentelemetry-instrumentation-redis = "^0.17b0"
opentelemetry-instrumentation-psycopg2 = "^0.17b0"
opentelemetry-instrumentation-requests = "^0.17b0"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants