OpenTelemetry Java SDK
Go to file
Armin Ruech 36f80e1fdc Change DistributedContextSdk.Builder to use current dctx as implicit parent (#439)
* Change DistributedContextSdk.Builder to use current DistributedContext as implicit parent if none is provided explicitly

* Change DistributedContext.setNoParent to prevent inheriting an implicit context

* Clarify doc for DistributedContext.setNoParent

* Disallow null for DistributedContext.setParent
2019-06-27 14:20:54 -07:00
all Add an all gradle module that reports coverage and builds all javadoc. (#266) 2019-05-10 22:42:33 -07:00
api Change DistributedContextSdk.Builder to use current dctx as implicit parent (#439) 2019-06-27 14:20:54 -07:00
buildscripts Replace everywhere OpenConsensus with OpenTelemetry (#244) 2019-05-02 13:46:04 -07:00
contrib Use static methods instead of variables. (#379) 2019-06-05 16:34:53 -07:00
gradle/wrapper Update to gradle 5.3 (#137) 2019-04-17 13:49:43 -07:00
opentracing-shim OT Shim: Add a super basic InMemoryTracer. (#415) 2019-06-21 16:45:34 +02:00
sdk Change DistributedContextSdk.Builder to use current dctx as implicit parent (#439) 2019-06-27 14:20:54 -07:00
.gitignore Update gitignore and include TagMap[Builder]. 2019-03-28 13:11:33 -07:00
.travis.yml Add an all gradle module that reports coverage and builds all javadoc. (#266) 2019-05-10 22:42:33 -07:00
CODEOWNERS Updating according to the list in community repo (#363) 2019-05-31 09:03:09 -07:00
CONTRIBUTING.md Remove old javadoc files to make sure deleted classes are removed. (#239) 2019-05-03 13:14:47 -07:00
LICENSE Initial commit 2019-02-26 08:43:37 -08:00
README.md Update readme to reflect the new status of the project (#265) 2019-05-10 16:55:16 -04:00
build.gradle Fail the build on warnings with '-Werror'. (#417) 2019-06-19 20:00:41 -07:00
gradlew Setup gradle, checkstyle, errorprone, google-java-format, jmh and first two artifacts context and api. 2019-02-26 10:17:30 -08:00
gradlew.bat Setup gradle, checkstyle, errorprone, google-java-format, jmh and first two artifacts context and api. 2019-02-26 10:17:30 -08:00
settings.gradle Remove ocshim. We will replace in the OpenCensus directly. (#341) 2019-05-23 18:45:45 +02:00

README.md

OpenTelemetry

Gitter chat Build Status

OpenTelemetry is a working name of a combined OpenCensus and OpenTracing project.

This project contains the following top level components:

  • api: The OpenTelemetry API.
    • trace: The tracing api. Includes Tracer, Span and SpanContext.
    • tags: Key-value pairs of data that can be propagated to provide contextual information.
    • context: In-process and inter-process propagation layer.
    • metrics: Metrics layer.
  • sdk: The reference implementation complying to the OpenTelemetry API.
  • OpenTracing shim: A bridge layer from OpenTelemetry to the OpenTracing API.
  • OpenCensus shim: A bridge layer from OpenTelemetry to the OpenCensus API.

We would love to hear from the larger community: please provide feedback proactively.

Plan

Please review the roadmap here.

In the coming months we plan to merge the OpenCensus and OpenTracing projects. The technical committee will drive the merge effort. Weve identified areas that require deeper discussion and areas that merely require alignment around terminology and usage patterns.

We have a three-step plan for the project merge:

  1. spike of merged interfaces,
  2. beta release of new project binaries, and
  3. kicking off the work towards a 1.0 release.

Spike of merged interfaces

Spike API merge will happen in a separate repository, focused on Java specifically. The main goal of the spike is to make sure that we have a clear path forward, and that there will be no unforeseen technical issues blocking the merge of the projects (while staying true to our declared goals for the merge).

As a result of the spike we plan to produce:

  • Alpha version of a merged interface in new repository.
  • Rough port of OpenCensus implementation as an implementation of choice for this API.
  • Rough OpenTracing bridge to new interface.
  • Supplemental documentation and design documents

We expect this spike will take us a few weeks.

Beta release of a new project

Once we have cleared out the path - we plan to initiate a transition of active contribution and discussions from OpenCensus and OpenTracing to the new project. We will

  • Clean up OpenCensus into official SDK of new project
  • Release an official OpenTracing bridge to new Interface

We will minimize the duration of this transition so that users can switch to the new API as seamlessly as possible, and contributors can quickly ensure that their work is compatible with future versions. We will also encourage all contributors to start working in the new project once the merger announced. So there will be no time of duplicative contributions.

Kick off the work towards 1.0

After beta release we will encourage customers and tracing vendors to start using the new project, providing feedback as they go. So we can ensure a high quality v1.0 for the merged project:

  • We will allow ourselves to break implementations, but not people using the public Interfaces.
  • Additions (into interfaces for instance) will involve a best-effort attempt at backwards compatibility (again, for implementations callers of the public APIs should not be negatively affected by these additions).

Summary

We plan to merge projects and pave the path for future improvements as a unified community of tracing vendors, users and library authors who wants apps be managed better. We are open to feedback and suggestions from all of you!