Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

Add TCK #278

Open
pavolloffay opened this issue Jun 4, 2018 · 4 comments
Open

Add TCK #278

pavolloffay opened this issue Jun 4, 2018 · 4 comments

Comments

@pavolloffay
Copy link
Member

Implement TCK to verify correct tracer behavior.

The motivation is for example to avoid issues like #267 (comment). For example brave-ot implements OpenTracing but SpanManager.active().close() is noop.

@yurishkuro
Copy link
Member

TCK?

@pavolloffay
Copy link
Member Author

A Technology Compatibility Kit (TCK) is a suite of tests that at least nominally checks a particular alleged implementation of a Java Specification Request (JSR) for compliance.

Test suite to verify correct tracer implementation.

@carlosalberto
Copy link
Collaborator

Guess that's something similar to the harness submodule/test we have in Python, so implementations of Tracer/ScopeManager can be verified against the expected behavior. That would definitely be handy - and also something that could help us specification-wise ;)

@codefromthecrypt
Copy link
Contributor

It would likely need to be far more specific than the harness in python or the go port which is not much more than a compile test.

Since OpenTracing doesn't provide a stable implementation, yet expects people to use unknown implementations, the TCK should be more strict like https://github.com/reactive-streams/reactive-streams-jvm/tree/master/tck

For example, it should verify things such as thread behavior. Even better to ensure the tracer doesn't block or becomes unloadable due to implementation problems. Most importantly, the features supported should be verifiable. For example, baggage, KV logging, etc.

This may be tricky for agents because very few will be using opentracing underneath, or exposing a "native" opentracer. This could imply some setup interest for example a runner that can affect the JVM launch parameters.

Above all, please engage the reactive streams TCK designers especially those who directly or indirectly support OT as they not only know how to do this, but probably their experience cost a long time to accrue.. IOTW, this should be done in a serious fashion by experts or by expert advice.

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

No branches or pull requests

4 participants