From 9555401d28cf1bbc7b41819f95b93eaae476cfab Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 14:23:49 -0700 Subject: [PATCH 01/13] updated milestones --- milestones-original.md | 190 +++++++++++++++++++++++++++++++++++++++++ milestones.md | 175 +++++++++++++------------------------ 2 files changed, 251 insertions(+), 114 deletions(-) create mode 100644 milestones-original.md diff --git a/milestones-original.md b/milestones-original.md new file mode 100644 index 00000000000..1bd17e93423 --- /dev/null +++ b/milestones-original.md @@ -0,0 +1,190 @@ +# OpenTelemetry: A Roadmap to Convergence + +This document covers the initial milestones for the project. Each repository in +OpenTelemetry project need to adjust milestones to this plan based on +project-specific estimations. + +For each language, we want to quickly achieve parity with existing OpenTracing +and OpenCensus implementations. For languages which have both an OpenTracing and +OpenCensus implementation, we would like to achieve parity in OpenTelemetry by +**September, 2019**, and sunset the existing OpenTracing and OpenCensus projects +by **November, 2019**. + +## Switching to OpenTelemetry + +Parity can be defined as the following features: + +- A set of interfaces which implement the OpenTelemetry specification in a given + programming language. +- An SDK implementing OpenTelemetry specification. +- Backwards compatibility with OpenTracing and OpenCensus. +- Metadata helpers for recording common operations defined in the OpenTelemetry + [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md). +- Tests which provide evidence of interoperability. +- Benchmarks which provide evidence of expected resource utilization. +- Documentation and getting started guide. + +## Milestones + +With OpenTelemetry we strive for consistency and unification. It is important +for users of OpenTelemetry to get the same look and feel of APIs and consistent +data collection across all languages. Consistency is achieved thru the +specifications and cross-language test cases. + +As OpenTracing and OpenCensus projects converge we write specifications the same +time as we develop libraries. + +### TL;DR; + +Milestones for Java and cross-language specification: + +- End of June: + - [basic SDK implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/2) + in Java. + - API feedback issues triage done. +- Mid July: + - [exporters implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/3) + in Java. + - [basic SDK specs](https://github.com/open-telemetry/opentelemetry-specification/milestone/3) + complete. + - [first API revision](https://github.com/open-telemetry/opentelemetry-specification/milestone/2) + documented. +- Mid August: + - [extended SDK documented](https://github.com/open-telemetry/opentelemetry-specification/milestone/4). + - [second API revision](https://github.com/open-telemetry/opentelemetry-specification/milestone/5) + documented. +- End of August: + - [extended SDK implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/4) + and stabilized in Java. + - Java SDK is production ready +- Mid September (or after end-user validation): + - API is revised +- End of September (or after end-user validation): + - Version 1.0 is declared. + +### Current status + +**API proposal**: + +- [Done in Java](https://github.com/open-telemetry/opentelemetry-java/milestone/1) +- API proposal [documented](https://github.com/open-telemetry/opentelemetry-specification/milestone/1) + in specs + +**SDK proposal**: + +- Basic telemetry pipeline for traces complete +- On track to finish by the **end of the month** in limited scope +- Specification work for SDK hasn’t been started + +### Finish SDK proposal + +We are limiting scope for SDK proposal work (roughly) to the following areas: + +- Spans pipeline: + - SpanBuilder interceptors interface + - Built-in samplers (percentage sampler). + - SpanProcessor interface and implementations: + - Default and built-in processors + - Simple processor + - Batching processors + - Block when the queue is full processor + - Exporter interface + - Reporting raw SpanData +- Distributed context + - Basic implementation +- Metrics + - Metrics aggregation implementation + - MetricProducer interface + +[**Java +implementation**](https://github.com/open-telemetry/opentelemetry-java/milestone/2). +In the limited scope we are working towards completing the SDK proposal in Java +by end of this month. + +[**Specifications +writing**](https://github.com/open-telemetry/opentelemetry-specification/milestone/3). +We can start writing specs for SDK now. Realistically we need two weeks after +java implementation complete to document all aspects of SDK. + +### Basic exporters + +As part of OpenTelemetry we committed to deliver three basic exporters - Zipkin, +Jaeger and Prometheus. + +Both - documentation and java implementation of those exporters is planned to be +completed in two weeks after SDK proposal in Java is done - **12th of July.** + +Tracking this work in +[Java](https://github.com/open-telemetry/opentelemetry-java/milestone/3). + +### Iterating on API + +As proposed API was released we start getting feedback on it. The plan is to +triage feedback in three milestones: + +[**API revision +07-2019**](https://github.com/open-telemetry/opentelemetry-specification/milestone/2) +**(target - mid July). Proposed API cleanup.** + +- Easy fixes - renamings, polishing, removing unnecessary API surface +- Add missing features - adding histograms and forgotten getters +- Issues that quickly getting agreement. For example, adding component for tracer + +This milestone is for the fast clean up of a proposed API. + +**API revision 08-2019 (target - mid August). API Complete.** + +- All issues not included into the first milestone + +**API revision 09-2019 (target - mid September). API v1.0.** + +- Reserved for the issues received as a result of an end user feedback + +**Future:** + +- Feature requests that we can postpone to after stable version +- New telemetry sources support + +### Extending the SDK + +Once basic SDK is complete in Java we will switch to the specs first approach on +advancing its feature set. + +Example of scope for extended SDK: + +1. OTSvc protocol and implementation +2. Add missing features + 1. More SpanProcessors. Example: non blocking queue processor with telemetry drop + 2. More samplers. Example - rate limiting sampler, etc. + 3. Histograms – API and SDK + 4. Metrics filters and processors + 5. etc. +3. Discussions like + 1. Native (POJO) object vs. Proto-generated object with proto dependency in + SDK +4. Tracestate manipulation callbacks +5. Other + +First iteration of SDK feedback – **mid August** we have specs, **End of +August** – first iteration of Java SDK complete. + +### Getting to release + +By mid August the Java basic SDK will be complete and we will begin +stabilization work. Also OpenCensus can be switched to the OpenTelemetry SDK. As +well as instrumentation adapters can be implemented. So we will have early +adopters. + +By early September we committed to provide a production ready full-featured +OpenTelemetry SDK in Java. End user feedback is one the critical force to make +the API and SDK right. Thus we don’t plan to release **1.0** release and call it +**0.9**. As OpenTelemetry was built based on two mature SDKs we do not expect +major changes after September. However, as with any big projects, we anticipate +some issues with the new API and SDKs. + +Depending on users engagement we hope to get to the 1.0 as early as the end of +September. + +Note, as specification work delayed other languages may not have production +ready SDK in early September. Milestones have to be set individually in every +language. diff --git a/milestones.md b/milestones.md index 1bd17e93423..12d84a31e40 100644 --- a/milestones.md +++ b/milestones.md @@ -1,14 +1,19 @@ # OpenTelemetry: A Roadmap to Convergence -This document covers the initial milestones for the project. Each repository in +This document covers the milestones for the project. Each repository in OpenTelemetry project need to adjust milestones to this plan based on -project-specific estimations. +project-specific estimates. For each language, we want to quickly achieve parity with existing OpenTracing and OpenCensus implementations. For languages which have both an OpenTracing and OpenCensus implementation, we would like to achieve parity in OpenTelemetry by -**September, 2019**, and sunset the existing OpenTracing and OpenCensus projects -by **November, 2019**. +**first quarter of 2020**, and sunset the existing OpenTracing and OpenCensus +projects in the **second quarter of 2020**. + +Original plans of sunsetting older SDKs in **November, 2019** was changed as we +discovered a lot of unaccounted work and production testing will be delayed by +holidays season. We are still committed to deliver high quality previews of +languages SDKs in **2019**. ## Switching to OpenTelemetry @@ -17,9 +22,9 @@ Parity can be defined as the following features: - A set of interfaces which implement the OpenTelemetry specification in a given programming language. - An SDK implementing OpenTelemetry specification. -- Backwards compatibility with OpenTracing and OpenCensus. -- Metadata helpers for recording common operations defined in the OpenTelemetry - [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md). +- Backwards compatibility with OpenTracing and OpenCensus via bridges. +- Metadata helpers or other means for recording common operations defined in the + OpenTelemetry [semantic conventions](specification/data-semantic-conventions.md). - Tests which provide evidence of interoperability. - Benchmarks which provide evidence of expected resource utilization. - Documentation and getting started guide. @@ -34,53 +39,38 @@ specifications and cross-language test cases. As OpenTracing and OpenCensus projects converge we write specifications the same time as we develop libraries. -### TL;DR; - -Milestones for Java and cross-language specification: - -- End of June: - - [basic SDK implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/2) - in Java. - - API feedback issues triage done. -- Mid July: - - [exporters implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/3) - in Java. - - [basic SDK specs](https://github.com/open-telemetry/opentelemetry-specification/milestone/3) - complete. - - [first API revision](https://github.com/open-telemetry/opentelemetry-specification/milestone/2) - documented. -- Mid August: - - [extended SDK documented](https://github.com/open-telemetry/opentelemetry-specification/milestone/4). - - [second API revision](https://github.com/open-telemetry/opentelemetry-specification/milestone/5) - documented. -- End of August: - - [extended SDK implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/4) - and stabilized in Java. - - Java SDK is production ready -- Mid September (or after end-user validation): - - API is revised -- End of September (or after end-user validation): - - Version 1.0 is declared. - -### Current status - -**API proposal**: - -- [Done in Java](https://github.com/open-telemetry/opentelemetry-java/milestone/1) -- API proposal [documented](https://github.com/open-telemetry/opentelemetry-specification/milestone/1) - in specs - -**SDK proposal**: +### Alpha release -- Basic telemetry pipeline for traces complete -- On track to finish by the **end of the month** in limited scope -- Specification work for SDK hasn’t been started +The spirit of this release is to have a demo-able product that anybody can start +playing with and start implementing instrumentation adaptors and data collectors +for various scenarios. + +As part of this release we ask to implement Tracing and Metrics exporters so it +will be easy to visualize the scenarios. For Tracing - either Jaeger or Zipkin +can be selected, for Metrics - Prometheus. + +#### API specs for Alpha release + +OpenTelemetry [API +Proposal](https://github.com/open-telemetry/opentelemetry-specification/milestone/1) +received a lot of feedback. As part of an Alpha release there will be a few +major areas of improvement - change for out of band span reporting API and +the merged pre-aggregated and non-aggregated metrics API. There are other +changes as well. -### Finish SDK proposal +API is expected to be changed for the Beta milestone. The big improvements in +works are initialization and configuring logic. -We are limiting scope for SDK proposal work (roughly) to the following areas: +**Proposed deadline:** API specs complete by 9/27 -- Spans pipeline: +#### SDK specs for Alpha release + +There were no formal SDK proposal. So this milestone will define SDK data +structures and public methods for the first time. + +In scope of SDK Alpha release are: + +- Basic telemetry pipeline for traces complete - SpanBuilder interceptors interface - Built-in samplers (percentage sampler). - SpanProcessor interface and implementations: @@ -89,88 +79,45 @@ We are limiting scope for SDK proposal work (roughly) to the following areas: - Batching processors - Block when the queue is full processor - Exporter interface - - Reporting raw SpanData - Distributed context - Basic implementation - Metrics - Metrics aggregation implementation - - MetricProducer interface - -[**Java -implementation**](https://github.com/open-telemetry/opentelemetry-java/milestone/2). -In the limited scope we are working towards completing the SDK proposal in Java -by end of this month. - -[**Specifications -writing**](https://github.com/open-telemetry/opentelemetry-specification/milestone/3). -We can start writing specs for SDK now. Realistically we need two weeks after -java implementation complete to document all aspects of SDK. - -### Basic exporters - -As part of OpenTelemetry we committed to deliver three basic exporters - Zipkin, -Jaeger and Prometheus. - -Both - documentation and java implementation of those exporters is planned to be -completed in two weeks after SDK proposal in Java is done - **12th of July.** - -Tracking this work in -[Java](https://github.com/open-telemetry/opentelemetry-java/milestone/3). - -### Iterating on API - -As proposed API was released we start getting feedback on it. The plan is to -triage feedback in three milestones: - -[**API revision -07-2019**](https://github.com/open-telemetry/opentelemetry-specification/milestone/2) -**(target - mid July). Proposed API cleanup.** - -- Easy fixes - renamings, polishing, removing unnecessary API surface -- Add missing features - adding histograms and forgotten getters -- Issues that quickly getting agreement. For example, adding component for tracer - -This milestone is for the fast clean up of a proposed API. + - Metrics exporting interface -**API revision 08-2019 (target - mid August). API Complete.** +Also in scope: -- All issues not included into the first milestone +- Jaeger and/or Zipkin exporter +- Prometheus exporter +- Proto definition and optionally - OpenTelemetry Agent exporter -**API revision 09-2019 (target - mid September). API v1.0.** +**Proposed deadline:** SDK specs complete by 10/4 -- Reserved for the issues received as a result of an end user feedback +### Alpha release validation -**Future:** +Languages will ship alpha releases shortly after specification will be complete. +The main purpose of this release is to start implementing data collectors and +use API and SDK for the user scenarios. This will ensure validation of concepts +and public surface. -- Feature requests that we can postpone to after stable version -- New telemetry sources support +Note, we DO expect changes in APIs for the beta release. -### Extending the SDK +### Beta release -Once basic SDK is complete in Java we will switch to the specs first approach on -advancing its feature set. +The spirit of beta release is to deliver a product with the stable, almost the +release candidate level of APIs and interfaces. -Example of scope for extended SDK: +After the beta release of language SDKs we do expect that languages public +surface may change, but we do not expect any major changes in conceptual level +in specifications. -1. OTSvc protocol and implementation -2. Add missing features - 1. More SpanProcessors. Example: non blocking queue processor with telemetry drop - 2. More samplers. Example - rate limiting sampler, etc. - 3. Histograms – API and SDK - 4. Metrics filters and processors - 5. etc. -3. Discussions like - 1. Native (POJO) object vs. Proto-generated object with proto dependency in - SDK -4. Tracestate manipulation callbacks -5. Other +**Porposed deadline**: Specification complete by Nov 15th. -First iteration of SDK feedback – **mid August** we have specs, **End of -August** – first iteration of Java SDK complete. +**Details of this release to be added later.** ### Getting to release -By mid August the Java basic SDK will be complete and we will begin +By end of year mid August the Java basic SDK will be complete and we will begin stabilization work. Also OpenCensus can be switched to the OpenTelemetry SDK. As well as instrumentation adapters can be implemented. So we will have early adopters. From a6bb71636ec30d928925dc73598256954e33680d Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 14:28:36 -0700 Subject: [PATCH 02/13] removed original document to avoid the confusion --- milestones-original.md | 190 ----------------------------------------- 1 file changed, 190 deletions(-) delete mode 100644 milestones-original.md diff --git a/milestones-original.md b/milestones-original.md deleted file mode 100644 index 1bd17e93423..00000000000 --- a/milestones-original.md +++ /dev/null @@ -1,190 +0,0 @@ -# OpenTelemetry: A Roadmap to Convergence - -This document covers the initial milestones for the project. Each repository in -OpenTelemetry project need to adjust milestones to this plan based on -project-specific estimations. - -For each language, we want to quickly achieve parity with existing OpenTracing -and OpenCensus implementations. For languages which have both an OpenTracing and -OpenCensus implementation, we would like to achieve parity in OpenTelemetry by -**September, 2019**, and sunset the existing OpenTracing and OpenCensus projects -by **November, 2019**. - -## Switching to OpenTelemetry - -Parity can be defined as the following features: - -- A set of interfaces which implement the OpenTelemetry specification in a given - programming language. -- An SDK implementing OpenTelemetry specification. -- Backwards compatibility with OpenTracing and OpenCensus. -- Metadata helpers for recording common operations defined in the OpenTelemetry - [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md). -- Tests which provide evidence of interoperability. -- Benchmarks which provide evidence of expected resource utilization. -- Documentation and getting started guide. - -## Milestones - -With OpenTelemetry we strive for consistency and unification. It is important -for users of OpenTelemetry to get the same look and feel of APIs and consistent -data collection across all languages. Consistency is achieved thru the -specifications and cross-language test cases. - -As OpenTracing and OpenCensus projects converge we write specifications the same -time as we develop libraries. - -### TL;DR; - -Milestones for Java and cross-language specification: - -- End of June: - - [basic SDK implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/2) - in Java. - - API feedback issues triage done. -- Mid July: - - [exporters implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/3) - in Java. - - [basic SDK specs](https://github.com/open-telemetry/opentelemetry-specification/milestone/3) - complete. - - [first API revision](https://github.com/open-telemetry/opentelemetry-specification/milestone/2) - documented. -- Mid August: - - [extended SDK documented](https://github.com/open-telemetry/opentelemetry-specification/milestone/4). - - [second API revision](https://github.com/open-telemetry/opentelemetry-specification/milestone/5) - documented. -- End of August: - - [extended SDK implemented](https://github.com/open-telemetry/opentelemetry-java/milestone/4) - and stabilized in Java. - - Java SDK is production ready -- Mid September (or after end-user validation): - - API is revised -- End of September (or after end-user validation): - - Version 1.0 is declared. - -### Current status - -**API proposal**: - -- [Done in Java](https://github.com/open-telemetry/opentelemetry-java/milestone/1) -- API proposal [documented](https://github.com/open-telemetry/opentelemetry-specification/milestone/1) - in specs - -**SDK proposal**: - -- Basic telemetry pipeline for traces complete -- On track to finish by the **end of the month** in limited scope -- Specification work for SDK hasn’t been started - -### Finish SDK proposal - -We are limiting scope for SDK proposal work (roughly) to the following areas: - -- Spans pipeline: - - SpanBuilder interceptors interface - - Built-in samplers (percentage sampler). - - SpanProcessor interface and implementations: - - Default and built-in processors - - Simple processor - - Batching processors - - Block when the queue is full processor - - Exporter interface - - Reporting raw SpanData -- Distributed context - - Basic implementation -- Metrics - - Metrics aggregation implementation - - MetricProducer interface - -[**Java -implementation**](https://github.com/open-telemetry/opentelemetry-java/milestone/2). -In the limited scope we are working towards completing the SDK proposal in Java -by end of this month. - -[**Specifications -writing**](https://github.com/open-telemetry/opentelemetry-specification/milestone/3). -We can start writing specs for SDK now. Realistically we need two weeks after -java implementation complete to document all aspects of SDK. - -### Basic exporters - -As part of OpenTelemetry we committed to deliver three basic exporters - Zipkin, -Jaeger and Prometheus. - -Both - documentation and java implementation of those exporters is planned to be -completed in two weeks after SDK proposal in Java is done - **12th of July.** - -Tracking this work in -[Java](https://github.com/open-telemetry/opentelemetry-java/milestone/3). - -### Iterating on API - -As proposed API was released we start getting feedback on it. The plan is to -triage feedback in three milestones: - -[**API revision -07-2019**](https://github.com/open-telemetry/opentelemetry-specification/milestone/2) -**(target - mid July). Proposed API cleanup.** - -- Easy fixes - renamings, polishing, removing unnecessary API surface -- Add missing features - adding histograms and forgotten getters -- Issues that quickly getting agreement. For example, adding component for tracer - -This milestone is for the fast clean up of a proposed API. - -**API revision 08-2019 (target - mid August). API Complete.** - -- All issues not included into the first milestone - -**API revision 09-2019 (target - mid September). API v1.0.** - -- Reserved for the issues received as a result of an end user feedback - -**Future:** - -- Feature requests that we can postpone to after stable version -- New telemetry sources support - -### Extending the SDK - -Once basic SDK is complete in Java we will switch to the specs first approach on -advancing its feature set. - -Example of scope for extended SDK: - -1. OTSvc protocol and implementation -2. Add missing features - 1. More SpanProcessors. Example: non blocking queue processor with telemetry drop - 2. More samplers. Example - rate limiting sampler, etc. - 3. Histograms – API and SDK - 4. Metrics filters and processors - 5. etc. -3. Discussions like - 1. Native (POJO) object vs. Proto-generated object with proto dependency in - SDK -4. Tracestate manipulation callbacks -5. Other - -First iteration of SDK feedback – **mid August** we have specs, **End of -August** – first iteration of Java SDK complete. - -### Getting to release - -By mid August the Java basic SDK will be complete and we will begin -stabilization work. Also OpenCensus can be switched to the OpenTelemetry SDK. As -well as instrumentation adapters can be implemented. So we will have early -adopters. - -By early September we committed to provide a production ready full-featured -OpenTelemetry SDK in Java. End user feedback is one the critical force to make -the API and SDK right. Thus we don’t plan to release **1.0** release and call it -**0.9**. As OpenTelemetry was built based on two mature SDKs we do not expect -major changes after September. However, as with any big projects, we anticipate -some issues with the new API and SDKs. - -Depending on users engagement we hope to get to the 1.0 as early as the end of -September. - -Note, as specification work delayed other languages may not have production -ready SDK in early September. Milestones have to be set individually in every -language. From c979fc03c6c56d4d2d135f23e4b247a476841ec8 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 14:49:21 -0700 Subject: [PATCH 03/13] Update milestones.md Co-Authored-By: Yang Song --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index 12d84a31e40..c7c7eb131c0 100644 --- a/milestones.md +++ b/milestones.md @@ -89,7 +89,7 @@ Also in scope: - Jaeger and/or Zipkin exporter - Prometheus exporter -- Proto definition and optionally - OpenTelemetry Agent exporter +- Proto definition and optionally - OpenTelemetry Collector exporter **Proposed deadline:** SDK specs complete by 10/4 From e7953d2a129f1e78f0360360567afe0d9fe08c31 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 14:49:28 -0700 Subject: [PATCH 04/13] Update milestones.md Co-Authored-By: Yang Song --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index c7c7eb131c0..b147a32d77f 100644 --- a/milestones.md +++ b/milestones.md @@ -117,7 +117,7 @@ in specifications. ### Getting to release -By end of year mid August the Java basic SDK will be complete and we will begin +By end of year the basic language SDKs will be complete and we will begin stabilization work. Also OpenCensus can be switched to the OpenTelemetry SDK. As well as instrumentation adapters can be implemented. So we will have early adopters. From ced3d7d91b70f4d730145acc9af7f9bd72bc7112 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 14:49:35 -0700 Subject: [PATCH 05/13] Update milestones.md Co-Authored-By: Austin Parker --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index b147a32d77f..cd1b1d6513f 100644 --- a/milestones.md +++ b/milestones.md @@ -111,7 +111,7 @@ After the beta release of language SDKs we do expect that languages public surface may change, but we do not expect any major changes in conceptual level in specifications. -**Porposed deadline**: Specification complete by Nov 15th. +**Proposed deadline**: Specification complete by Nov 15th. **Details of this release to be added later.** From ebf52242fcb9beecfffacd491d8c2f2d404d85a2 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 15:33:33 -0700 Subject: [PATCH 06/13] some milestone derlivrable updates --- milestones.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/milestones.md b/milestones.md index cd1b1d6513f..b32e8d06faa 100644 --- a/milestones.md +++ b/milestones.md @@ -71,25 +71,26 @@ structures and public methods for the first time. In scope of SDK Alpha release are: - Basic telemetry pipeline for traces complete - - SpanBuilder interceptors interface - Built-in samplers (percentage sampler). - SpanProcessor interface and implementations: - Default and built-in processors - - Simple processor - - Batching processors - - Block when the queue is full processor + - Batching processors with the options to block when the queue is full + processor - Exporter interface - Distributed context - Basic implementation - Metrics - - Metrics aggregation implementation + - Metrics processor - Metrics exporting interface + - Default and built-in processors + - Aggregation processor + - Metrics aggregation implementation Also in scope: - Jaeger and/or Zipkin exporter - Prometheus exporter -- Proto definition and optionally - OpenTelemetry Collector exporter +- Proto definition and optionally - OpenTelemetry collector exporter **Proposed deadline:** SDK specs complete by 10/4 @@ -111,13 +112,13 @@ After the beta release of language SDKs we do expect that languages public surface may change, but we do not expect any major changes in conceptual level in specifications. -**Proposed deadline**: Specification complete by Nov 15th. +**Porposed deadline**: Specification complete by Nov 15th. **Details of this release to be added later.** ### Getting to release -By end of year the basic language SDKs will be complete and we will begin +By end of year mid August the Java basic SDK will be complete and we will begin stabilization work. Also OpenCensus can be switched to the OpenTelemetry SDK. As well as instrumentation adapters can be implemented. So we will have early adopters. From d85dd01a2c7683bb6e72e663a0c6b988f8456664 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 16:02:47 -0700 Subject: [PATCH 07/13] milestones update after the mueeting --- milestones.md | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/milestones.md b/milestones.md index b32e8d06faa..493b365f223 100644 --- a/milestones.md +++ b/milestones.md @@ -4,6 +4,9 @@ This document covers the milestones for the project. Each repository in OpenTelemetry project need to adjust milestones to this plan based on project-specific estimates. +It is recommended to align language versions to the spec versions they +implement. + For each language, we want to quickly achieve parity with existing OpenTracing and OpenCensus implementations. For languages which have both an OpenTracing and OpenCensus implementation, we would like to achieve parity in OpenTelemetry by @@ -39,7 +42,11 @@ specifications and cross-language test cases. As OpenTracing and OpenCensus projects converge we write specifications the same time as we develop libraries. -### Alpha release +We will refer to [API +Proposal](https://github.com/open-telemetry/opentelemetry-specification/milestone/1) +Alpha v0.1 release. + +### Alpha v0.2 The spirit of this release is to have a demo-able product that anybody can start playing with and start implementing instrumentation adaptors and data collectors @@ -49,21 +56,20 @@ As part of this release we ask to implement Tracing and Metrics exporters so it will be easy to visualize the scenarios. For Tracing - either Jaeger or Zipkin can be selected, for Metrics - Prometheus. -#### API specs for Alpha release +**Proposed deadline:** Alpha v0.2 specs complete by 10/4 -OpenTelemetry [API -Proposal](https://github.com/open-telemetry/opentelemetry-specification/milestone/1) -received a lot of feedback. As part of an Alpha release there will be a few -major areas of improvement - change for out of band span reporting API and +#### API specs for Alpha v0.2 + +Alpha v0.1 received a lot of feedback. As part of an Alpha release there will be +a few major areas of improvement - change for out of band span reporting API and the merged pre-aggregated and non-aggregated metrics API. There are other changes as well. -API is expected to be changed for the Beta milestone. The big improvements in -works are initialization and configuring logic. - -**Proposed deadline:** API specs complete by 9/27 +We already plan for the next iteraion and we know that API is expected to be +changed for the Alpha v0.3 milestone. The big improvements in works are +initialization and configuring logic as well as context propagation detachment. -#### SDK specs for Alpha release +#### SDK specs for Alpha v0.2 There were no formal SDK proposal. So this milestone will define SDK data structures and public methods for the first time. @@ -92,18 +98,16 @@ Also in scope: - Prometheus exporter - Proto definition and optionally - OpenTelemetry collector exporter -**Proposed deadline:** SDK specs complete by 10/4 - -### Alpha release validation +### Alpha v0.2 release validation Languages will ship alpha releases shortly after specification will be complete. The main purpose of this release is to start implementing data collectors and use API and SDK for the user scenarios. This will ensure validation of concepts and public surface. -Note, we DO expect changes in APIs for the beta release. +Note, we DO expect changes in APIs for the Alpha v0.3 release. -### Beta release +### Alpha v0.3 release The spirit of beta release is to deliver a product with the stable, almost the release candidate level of APIs and interfaces. @@ -114,7 +118,15 @@ in specifications. **Porposed deadline**: Specification complete by Nov 15th. -**Details of this release to be added later.** +In scope of SDK Alpha v0.2 release are: + +- Collector support for Otel protocol +- Otel exporters +Required Spec RFCs for Alpha v0.2: +- Global Init +- Context (separate baggage, renaming, etc) +- Protocol +- Semantic Conventions ### Getting to release From f7555eeeb2c63f9dcbb38f87bd62cffa97f9c19f Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 23:07:44 -0700 Subject: [PATCH 08/13] Update milestones.md Co-Authored-By: Austin Parker --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index 493b365f223..79947d0d195 100644 --- a/milestones.md +++ b/milestones.md @@ -116,7 +116,7 @@ After the beta release of language SDKs we do expect that languages public surface may change, but we do not expect any major changes in conceptual level in specifications. -**Porposed deadline**: Specification complete by Nov 15th. +**Proposed deadline**: Specification complete by Nov 15th. In scope of SDK Alpha v0.2 release are: From 95fbe53cc33fbeb8a069238f467a064819eb863c Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 23:07:52 -0700 Subject: [PATCH 09/13] Update milestones.md Co-Authored-By: Yang Song --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index 79947d0d195..461acdf7d3e 100644 --- a/milestones.md +++ b/milestones.md @@ -118,7 +118,7 @@ in specifications. **Proposed deadline**: Specification complete by Nov 15th. -In scope of SDK Alpha v0.2 release are: +In scope of SDK Alpha v0.3 release are: - Collector support for Otel protocol - Otel exporters From 206b33671528306ff7c4a80be411dce4fed72360 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 23:08:08 -0700 Subject: [PATCH 10/13] Update milestones.md Co-Authored-By: Yang Song --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index 461acdf7d3e..7a842e4e479 100644 --- a/milestones.md +++ b/milestones.md @@ -122,7 +122,7 @@ In scope of SDK Alpha v0.3 release are: - Collector support for Otel protocol - Otel exporters -Required Spec RFCs for Alpha v0.2: +Required Spec RFCs for Alpha v0.3: - Global Init - Context (separate baggage, renaming, etc) - Protocol From e4d171012e4270bc0b1098c07f7b7962b90544f1 Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 23:08:15 -0700 Subject: [PATCH 11/13] Update milestones.md Co-Authored-By: Yang Song --- milestones.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/milestones.md b/milestones.md index 7a842e4e479..e59b4829048 100644 --- a/milestones.md +++ b/milestones.md @@ -130,7 +130,7 @@ Required Spec RFCs for Alpha v0.3: ### Getting to release -By end of year mid August the Java basic SDK will be complete and we will begin +By end of year the basic language SDKs will be complete and we will begin stabilization work. Also OpenCensus can be switched to the OpenTelemetry SDK. As well as instrumentation adapters can be implemented. So we will have early adopters. From abd4479ddeb78458d8d42c950e0c268234c871ae Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Wed, 25 Sep 2019 23:09:03 -0700 Subject: [PATCH 12/13] otel->Opentelemetry --- milestones.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/milestones.md b/milestones.md index 493b365f223..b50b4846513 100644 --- a/milestones.md +++ b/milestones.md @@ -96,7 +96,6 @@ Also in scope: - Jaeger and/or Zipkin exporter - Prometheus exporter -- Proto definition and optionally - OpenTelemetry collector exporter ### Alpha v0.2 release validation @@ -120,13 +119,15 @@ in specifications. In scope of SDK Alpha v0.2 release are: -- Collector support for Otel protocol -- Otel exporters +- Collector support for OpenTelemetry protocol +- OpenTelemetry exporters + Required Spec RFCs for Alpha v0.2: -- Global Init -- Context (separate baggage, renaming, etc) -- Protocol -- Semantic Conventions + +- Global Init +- Context (separate baggage, renaming, etc) +- Protocol +- Semantic Conventions ### Getting to release From 115a8dcada37d0756a4f1261536ac1c603f15bba Mon Sep 17 00:00:00 2001 From: Sergey Kanzhelev Date: Fri, 27 Sep 2019 11:28:20 -0700 Subject: [PATCH 13/13] addressed more feedback --- milestones.md | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/milestones.md b/milestones.md index 2c4d536529f..243258e15f9 100644 --- a/milestones.md +++ b/milestones.md @@ -65,7 +65,7 @@ a few major areas of improvement - change for out of band span reporting API and the merged pre-aggregated and non-aggregated metrics API. There are other changes as well. -We already plan for the next iteraion and we know that API is expected to be +We already plan for the next iteration and we know that API is expected to be changed for the Alpha v0.3 milestone. The big improvements in works are initialization and configuring logic as well as context propagation detachment. @@ -76,22 +76,22 @@ structures and public methods for the first time. In scope of SDK Alpha release are: -- Basic telemetry pipeline for traces complete +- Tracing - Built-in samplers (percentage sampler). - - SpanProcessor interface and implementations: - - Default and built-in processors - - Batching processors with the options to block when the queue is full - processor + - SpanProcessor interface + - Batching SpanProcessor - Exporter interface -- Distributed context - - Basic implementation + - Jaeger and/or Zipkin exporter +- Context Propagation + - In-process propagation + - Inject and Extract + - DistributedContext - Metrics - - Metrics processor - - Metrics exporting interface - - Default and built-in processors - - Aggregation processor - - Metrics aggregation implementation - + - MetricsProcessor interface + - Aggregation MetricsProcessor + - Exporter interface + - Prometheus Exporter + Also in scope: - Jaeger and/or Zipkin exporter @@ -108,10 +108,10 @@ Note, we DO expect changes in APIs for the Alpha v0.3 release. ### Alpha v0.3 release -The spirit of beta release is to deliver a product with the stable, almost the +The spirit of v0.3 release is to deliver a product with the stable, almost the release candidate level of APIs and interfaces. -After the beta release of language SDKs we do expect that languages public +After the v0.3 release of language SDKs we do expect that languages public surface may change, but we do not expect any major changes in conceptual level in specifications. @@ -119,8 +119,7 @@ in specifications. In scope of SDK Alpha v0.3 release are: -- Collector support for OpenTelemetry protocol -- OpenTelemetry exporters +- Finalize the OpenTelemetry protocol Required Spec RFCs for Alpha v0.3: @@ -129,6 +128,13 @@ Required Spec RFCs for Alpha v0.3: - Protocol - Semantic Conventions +### Alpha v0.4 release + +Collector support for OpenTelemetry protocol will be implemented by this time +and languages SDKs will implement OpenTelemetry collector exporter. + +**Proposed deadline**: end of year 2019 + ### Getting to release By end of year the basic language SDKs will be complete and we will begin