OpenTracing 1.4/2.0 in MP 3.x

91 views
Skip to first unread message

Pavol Loffay

unread,
May 2, 2019, 5:56:32 AM5/2/19
to Eclipse MicroProfile
Hi,

I am starting this thread as s follow up on from meeting minutes [1] and [2].


Maybe some of you might know that OpenTracing and OpenCensus projects are going to be merged. The new project will be created and donated to CNCF. This is already in progress and the first API and implementation will be out soon. The new project will include API (like OpenTracing project) and default implementation/SDK (like OpenCensus), combining the best from both projects. The API will be slightly different although providing the same features as previous projects.

OpenTracing will provide easy migration to the new API and allow users to use the new SDK with "legacy" OpenTracing API. The migration bits will be based on OpenTracing 0.33.0, therefore we would like to update this API in MicroProfile.

MicroProfile-OpenTracing 1.3 uses (and exposes via CDI) at moment OpenTracing 0.31.0. The OpenTracing 0.33.0 removes some problematic APIs related to context propagation, so there are breaking changes. The APIs provided by  MicroProfile-OT does not contain breaking changes, however, because the OpenTracing API is exposed via CDI and can be consumed by users I think we should include this change in breaking changes release. If you think the update to 0.33.0 can be done in 3.1 please comment.



Ken Finnigan

unread,
May 2, 2019, 10:21:43 AM5/2/19
to MicroProfile
If a dependency of MP OpenTracing exposes an API that we expect developers to use in their application code, and that API changes, then it makes sense for the MP OpenTracing release to be a breaking change.

That leans towards this needing to be part of MP 3.0, which gives you a couple of weeks to have the release done

--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/microprofile/b53fa212-8f61-4b7f-8f6d-c38d8683e164%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Pavol Loffay

unread,
May 2, 2019, 2:18:47 PM5/2/19
to Eclipse MicroProfile
The full OpenTracing API is exposed via CDI and specification allows users to use it for "explicit tracing". I think we have to include it in a breaking change release to not break users.



On Thursday, May 2, 2019 at 4:21:43 PM UTC+2, Ken Finnigan wrote:
If a dependency of MP OpenTracing exposes an API that we expect developers to use in their application code, and that API changes, then it makes sense for the MP OpenTracing release to be a breaking change.

That leans towards this needing to be part of MP 3.0, which gives you a couple of weeks to have the release done

On Thu, May 2, 2019 at 5:56 AM Pavol Loffay <plo...@redhat.com> wrote:
Hi,

I am starting this thread as s follow up on from meeting minutes [1] and [2].


Maybe some of you might know that OpenTracing and OpenCensus projects are going to be merged. The new project will be created and donated to CNCF. This is already in progress and the first API and implementation will be out soon. The new project will include API (like OpenTracing project) and default implementation/SDK (like OpenCensus), combining the best from both projects. The API will be slightly different although providing the same features as previous projects.

OpenTracing will provide easy migration to the new API and allow users to use the new SDK with "legacy" OpenTracing API. The migration bits will be based on OpenTracing 0.33.0, therefore we would like to update this API in MicroProfile.

MicroProfile-OpenTracing 1.3 uses (and exposes via CDI) at moment OpenTracing 0.31.0. The OpenTracing 0.33.0 removes some problematic APIs related to context propagation, so there are breaking changes. The APIs provided by  MicroProfile-OT does not contain breaking changes, however, because the OpenTracing API is exposed via CDI and can be consumed by users I think we should include this change in breaking changes release. If you think the update to 0.33.0 can be done in 3.1 please comment.



--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microp...@googlegroups.com.

Ken Finnigan

unread,
May 2, 2019, 2:20:11 PM5/2/19
to MicroProfile
I would agree.

Are you able to get an MP OT 2.0 done in the next 2 weeks?

To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.

To post to this group, send email to microp...@googlegroups.com.

Emily Jiang

unread,
May 2, 2019, 3:06:24 PM5/2/19
to Eclipse MicroProfile
I would hold back MP OT 2.0 release instead of rushing in to release 0.33. Why don't wait for the merge of OT and OC to happen first, which will be much clearer as far as the direction is concerned. If you think the Open Tracing 0.33 will go stale, why should we rush in to grab it. I heard Jaeger or ZipKin has not implemented the new APIs. Correct me if I am wrong.

We should not rush to a release because the next major release train will come next year. If this is the concern, we could propose to have October release as the major release. We should revisit our release plan if new requirements come. Open API 2.0, Fault Tolerance 2.0 are in the pipeline.

With this, I will vote -1 to include OT 2.0.

My 2 cents.
Emily

Kevin Sutter

unread,
May 2, 2019, 3:27:28 PM5/2/19
to Eclipse MicroProfile
Question...  Where is the 0.33 version of the io.opentracing API?  When I look at the maven repo, I only see 0.32, which was released in March 2019.  When and where is the 0.33 version of the API?

Also, wouldn't the eventual integration with OpenCensus cause breaking changes as well?  I'd hate to create two back-to-back breaking API changes for OpenTracing and the Platform specs...

It just feels like we're rushing this a bit.  As we talked about on the Hangout this week (and Emily pointed out below), there is no rule that we can't have another breaking API release before next June...  It's a community decision that would have to be discussed.  But, we could entertain either Oct 2019 or Feb 2020.  Maybe the plans for the merge with OpenCensus would be more concrete by then?

Thanks,
Kevin

alasdair....@gmail.com

unread,
May 2, 2019, 3:54:05 PM5/2/19
to Eclipse MicroProfile
The urgency on this one seems to be that Open Tracing API has breaking changes and therefore updating the Open Tracing API version needs to be aligned with a major release of MicroProfile, but MP Open Tracing 1.1 made breaking changes by going from 0.30 to 0.31 without forcing a major version change on MicroProfile. The original discussion on breaking changes affecting the MicroProfile version predate that change so we didn't think it was an issue back then, so why now?

From what I can tell from github the Open Tracing 0.33 release was perhaps the 2-3 days ago, hasn't been released to Maven Central and from this chain it seems it isn't implemented by anyone. That makes me very concerned about getting good validation that it can be implemented.

Given the OpenTracing/OpenCensus work going on I'd prefer to wait until we see how those integrate and going from 0.31 to the new API in one jump rather than rushing out a new release of MicroProfile at the last minute on the basis that the API might be identical to 0.33 which is so new it hasn't had the shrink wrapping removed from the display copy. My expectation was that MP OpenTracing would effectively go away to be replaced by whatever the merged thing ends up being called, perhaps that is a misunderstanding of what is going on, but it suggests to me a lot is about to change making me really reluctant to rushing out new versions at the 11th hour.

Alasdair

Pavol Loffay

unread,
May 3, 2019, 4:29:38 AM5/3/19
to Eclipse MicroProfile
OpenTracing 0.33.0 will be released on Monday 6th May. Compared to 0.32.0 it removes methods which were deprecated in 0.32.0. This is a major simplification related to in-process context propagation which was causing issues mainly in not native implementations like brave-opentracing. It offers a cleaner and simpler approach for context propagation.


OpenTracing and OpenCensus merger is already happening. The plan is to move these projects to maintenance by KubeCon San Diego November 18 2019.

Here are some references if you want to follow up on this. There is also Monthy OTSC call happening this Friday.


I agree this change is a bit rushy, I am fine with postponing the release if we could release before Jun 2020. Otherwise, we will not have an easy migration path to the new tracing architecture by June 2020. We will have to also maintain 0.31.0 tracer implementations for a long time.



On Thursday, May 2, 2019 at 9:54:05 PM UTC+2, alasdair....@gmail.com wrote:
The urgency on this one seems to be that Open Tracing API has breaking changes and therefore updating the Open Tracing API version needs to be aligned with a major release of MicroProfile, but MP Open Tracing 1.1 made breaking changes by going from 0.30 to 0.31 without forcing a major version change on MicroProfile. The original discussion on breaking changes affecting the MicroProfile version predate that change so we didn't think it was an issue back then, so why now?

I think it was not a good decision as it can cause breaking changes for users. So why to repeat it? If the community is fine with it I will not complain.

 

From what I can tell from github the Open Tracing 0.33 release was perhaps the 2-3 days ago, hasn't been released to Maven Central and from this chain it seems it isn't implemented by anyone. That makes me very concerned about getting good validation that it can be implemented.

Given the OpenTracing/OpenCensus work going on I'd prefer to wait until we see how those integrate and going from 0.31 to the new API in one jump rather than rushing out a new release of MicroProfile at the last minute on the basis that the API might be identical to 0.33 which is so new it hasn't had the shrink wrapping removed from the display copy. My expectation was that MP OpenTracing would effectively go away to be replaced by whatever the merged thing ends up being called, perhaps that is a misunderstanding of what is going on, but it suggests to me a lot is about to change making me really reluctant to rushing out new versions at the 11th hour.

Alasdair

On Thursday, 2 May 2019 15:27:28 UTC-4, Kevin Sutter wrote:
Question...  Where is the 0.33 version of the io.opentracing API?  When I look at the maven repo, I only see 0.32, which was released in March 2019.  When and where is the 0.33 version of the API?

Also, wouldn't the eventual integration with OpenCensus cause breaking changes as well?  I'd hate to create two back-to-back breaking API changes for OpenTracing and the Platform specs...

It should not 0.33.0 removes problematic methods.

Kevin Sutter

unread,
May 3, 2019, 9:27:24 AM5/3/19
to Eclipse MicroProfile
Thanks, Pavol, for the background information on the 0.33 release.  At least I was looking in the right place, it just wasn't there yet...  :-)

Does it make any sense to continue the original plan of moving to the 0.32 release of the API?  Just a suggestion in response to your issue with staying on 0.31 for a longer time...

Or, would it be better to just start initiating the MP OpenTracing 2.0 effort with the move to 0.33 either in the Fall 2019 or Spring 2020?  Question:  Is this 0.33 release the final release for the OpenTracing API?  And, after that, the effort will be moved to the merged OpenTracing/OpenCensus project?

Thanks,
Kevin

Felix Wong

unread,
May 3, 2019, 2:08:52 PM5/3/19
to Eclipse MicroProfile
Should we wait for the dust to settle for the merge of OpenTracing and OpenCensus and create a new MicroProfile project for OpenTelemetry?  This way we don't need to worry about breaking API changes.  Customers will just need to migrate from MicroProfile OpenTracing 1.3 (based on OpenTracing 0.31) to the new OpenTelemetry API directly.

Ken Finnigan

unread,
May 3, 2019, 4:32:43 PM5/3/19
to MicroProfile
Pavol, If MP OT updated to OpenTracing 0.32, are there breaking changes in that release?

If not, maybe the best short term option is releasing MP OT 1.4 depending on OpenTracing 0.32. As Kevin mentioned, to move off the older 0.31 version.

On Fri, May 3, 2019 at 2:08 PM Felix Wong <fmhwo...@gmail.com> wrote:
Should we wait for the dust to settle for the merge of OpenTracing and OpenCensus and create a new MicroProfile project for OpenTelemetry?  This way we don't need to worry about breaking API changes.  Customers will just need to migrate from MicroProfile OpenTracing 1.3 (based on OpenTracing 0.31) to the new OpenTelemetry API directly.

--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.
To post to this group, send email to microp...@googlegroups.com.

Pavol Loffay

unread,
May 6, 2019, 8:28:46 AM5/6/19
to Eclipse MicroProfile

> Question:  Is this 0.33 release the final release for the OpenTracing API?  And, after that, the effort will be moved to the merged OpenTracing/OpenCensus project?

The 0.33.0 *should be the final version. The following effort is moving towards OpenTelemetry project (OpenTracing and OpenCensus merger). The OpenTracing API should be moved to the archive mode once OpenTelemetry is released. 6th November OpenTracing and OpenCensus will be sunsetted. The roadmap is explained here https://medium.com/opentracing/a-roadmap-to-convergence-b074e5815289.

* As part of the OpenTracing project we want to provide a bridge to allow use OpenTracing API with OpenTelemetry. It might be released as 0.33.1 or as a separate lib.


On Friday, May 3, 2019 at 10:32:43 PM UTC+2, Ken Finnigan wrote:
Pavol, If MP OT updated to OpenTracing 0.32, are there breaking changes in that release?

If not, maybe the best short term option is releasing MP OT 1.4 depending on OpenTracing 0.32. As Kevin mentioned, to move off the older 0.31 version.

This would help from the maintenance and user migration standpoint. 0.31.0 and 0.32.0 are almost identical. 0.32.0 deprecates the problematic context propagation methods [1]. There is only one breaking change in inject/extract API. This API is mostly used by framework instrumentations and not typical users.


 

On Fri, May 3, 2019 at 2:08 PM Felix Wong <fmhwo...@gmail.com> wrote:
Should we wait for the dust to settle for the merge of OpenTracing and OpenCensus and create a new MicroProfile project for OpenTelemetry?  This way we don't need to worry about breaking API changes.  Customers will just need to migrate from MicroProfile OpenTracing 1.3 (based on OpenTracing 0.31) to the new OpenTelemetry API directly.

I am not sure if creating a new MP spec for the new project will be the ideal outcome. I would lean more towards an easier migration. There will be a couple of options on the table: 

1. exposing both APIs at the same time, while deprecating OpenTracing
2. define our own API. e.g to avoid breaking changes in the upstream, we could still offer a bridge for folks who want to use the upstream tracing API/instrumentations.
3. creating a new project and exposing only OpenTelemetry APIs

The OpenTelemetry has also metrics API and tags/baggage/context propagation. We should also think about these aspects when the migration will be relevant.

 

--
You received this message because you are subscribed to the Google Groups "Eclipse MicroProfile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microp...@googlegroups.com.

Pavol Loffay

unread,
May 6, 2019, 12:06:14 PM5/6/19
to Eclipse MicroProfile
We have just had a meeting with Felix. Felix expressed objections on including MP-OpenTracing 2.0 (with OpenTracing 0.32.0) into MP 3.0 as there are no additional features customers could benefit from. Although, this would give customers more time to migrate away from deprecated APIs.


We started thinking about migration to OpenTelemetry. The next step will be updating OpenTracing API which contains bridge to OpenTelemetry so users could send data to new tracing service (OpenTelemetry agent+collector).

Ken Finnigan

unread,
May 7, 2019, 8:05:36 AM5/7/19
to MicroProfile
Pavol,

Can you summarise what, if anything, will be done? From the thread it sounds like there won't be an MP OT update for MP 3.0, but wanted to confirm.

Ken

To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.

To post to this group, send email to microp...@googlegroups.com.

Pavol Loffay

unread,
May 8, 2019, 3:43:56 AM5/8/19
to Eclipse MicroProfile


On Tuesday, May 7, 2019 at 2:05:36 PM UTC+2, Ken Finnigan wrote:
Pavol,

Can you summarise what, if anything, will be done? From the thread it sounds like there won't be an MP OT update for MP 3.0, but wanted to confirm.

Ken

On Mon, May 6, 2019 at 12:06 PM Pavol Loffay <plo...@redhat.com> wrote:
We have just had a meeting with Felix. Felix expressed objections on including MP-OpenTracing 2.0 (with OpenTracing 0.32.0) into MP 3.0 as there are no additional features customers could benefit from. Although, this would give customers more time to migrate away from deprecated APIs.

As indicated in my previous email the next MicroProfile-OpenTracing release (2.0) will not be included in MP 3.0. We would like to include in the next breaking changes release preferably sooner than the next year June 2020.

 

Alasdair Nottingham

unread,
May 8, 2019, 8:27:18 AM5/8/19
to 'Gunnar Morling' via Eclipse MicroProfile
I still don’t see what the point is in having an Open Tracing 2.0 given I understood it was being superceded by Open Telemetry. I think it would make more sense to have an MP OpenTelemetry to reflect the new merger and to move forward with the first release of the merged thing. Personally I think I’d stick with MP Open Tracing 1.3 I’d stick with that until MP Open Telemetry came along before moving to that. I just don’t see the value in having ever having this. 

Alasdair

To unsubscribe from this group and stop receiving emails from it, send an email to microprofile...@googlegroups.com.

To post to this group, send email to microp...@googlegroups.com.

Pavol Loffay

unread,
May 10, 2019, 8:44:19 AM5/10/19
to Eclipse MicroProfile
We should provide migration capabilities based on the current spec to the new tracing architecture provided by OpenTelemetry.

Creation of the new project depends on how we look at this MP-OT. Is it just a "wrapper" for an upstream project or does it provide a unique (tracing) capability for the platform? I would say it should provide a capability rather than being just a wrapper. 

I don't like that we directly depend on other APIs, but at the same time in tracing world we should offer users extensibility so they can wire-up any instrumentation from upstream.


Alasdair

ali al

unread,
Sep 18, 2019, 4:23:18 AM9/18/19
to Eclipse MicroProfile
Hello;

My questions are based on the specification at master branch of github.

1) Item 3.1: Just JAX-RS (ok REST-API :) ) is supported. MP picked up JAX-RS to utilize in  its core programming model. JAX-RS is not the only "end point" in a micro service solution. Adding WEBSOCKET for example ( will it require big spect efford, i think what is done for JAX-RS can be greatly used for other end points). Since providing this part is the responsibility of  run time, there is no coding efford, no  portability problem. What else (for now) do i expect as an application developer (for marketing guys, you will  have more customer).
2) Item3.2. What is the overlap between metrics ( and healt check, perhaps circuit breaker and bulkhead ops ) and open tracing application level events? Well defined seperation is a great asset for me as a developer.
3) What is out of band wire protocol btw a microservice and a tracer (trace collection system)?

Thanks a lot in advance
Ali



10 Mayıs 2019 Cuma 15:44:19 UTC+3 tarihinde Pavol Loffay yazdı:
Reply all
Reply to author
Forward
0 new messages