OpenTelemetry Java SDK
Go to file
Bogdan Drutu a395039e4f
Add default service provider for CorrelationContextManager. (#960)
Signed-off-by: Bogdan Cristian Drutu <bogdandrutu@gmail.com>
2020-03-04 10:38:31 -08:00
.circleci jmhCompile should not compile with compiler arg -Werror (#866) 2020-02-18 10:40:20 -08:00
all More gradle cleanups (#910) 2020-02-24 09:58:04 -08:00
api Add default service provider for CorrelationContextManager. (#960) 2020-03-04 10:38:31 -08:00
buildscripts Replace everywhere OpenConsensus with OpenTelemetry (#244) 2019-05-02 13:46:04 -07:00
context_prop Remove Binary format and related members. (#891) 2020-03-03 08:47:41 -05:00
contrib refactor: name method's according to return value and https://github.com/open-telemetry/opentelemetry-java/blob/master/QUICKSTART.md#tracing (#953) 2020-02-29 08:28:26 -08:00
examples/jaeger Update the gradle distro for the jaeger example. (#959) 2020-03-04 10:20:08 -08:00
exporters Very minor cleanup to change the logging exporters to use string-interpolated logging. (#954) 2020-03-02 10:26:30 -08:00
gradle/wrapper More gradle cleanups (#910) 2020-02-24 09:58:04 -08:00
opentracing_shim Remove Binary format and related members. (#891) 2020-03-03 08:47:41 -05:00
proto Switch to use pluginManagement, Use gradle plugin for jmh. (#903) 2020-02-21 10:19:51 -08:00
sdk Implement collectAll for observers, need to still install default aggregation (#952) 2020-03-04 13:13:10 -05:00
sdk_contrib Update InMemoryTracing to use builder, and limit the public API. (#947) 2020-02-28 12:44:49 -08:00
.gitignore Upgrade to Gradle 6 enabling parallel build (#731) 2020-01-06 19:59:00 -05:00
.gitmodules Set proto submodule to upstream repository (#514) 2019-08-29 09:25:08 -07:00
CODEOWNERS Add @jkwatson to CODEOWNERS (#624) 2019-10-23 09:24:26 -07:00
CONTRIBUTING.md organize build directions in docs (#537) 2019-09-17 16:26:07 -07:00
LICENSE Initial commit 2019-02-26 08:43:37 -08:00
Makefile jmhCompile should not compile with compiler arg -Werror (#866) 2020-02-18 10:40:20 -08:00
QUICKSTART.md Rename the exporter in preparation for creating one for metrics. (#950) 2020-02-28 14:05:02 -08:00
README.md Update distributedcontext to correlationcontext (#955) 2020-03-03 16:19:29 -05:00
build.gradle Add minimal benchmarks for Counter instruments (#932) 2020-02-26 09:46:55 -08:00
gradle.properties Upgrade to Gradle 6 enabling parallel build (#731) 2020-01-06 19:59:00 -05:00
gradlew Upgrade to Gradle 6 enabling parallel build (#731) 2020-01-06 19:59:00 -05:00
gradlew.bat Upgrade to Gradle 6 enabling parallel build (#731) 2020-01-06 19:59:00 -05:00
settings.gradle Switch to use pluginManagement, Use gradle plugin for jmh. (#903) 2020-02-21 10:19:51 -08:00

README.md

OpenTelemetry

Gitter chat Build Status Coverage Status Maven Central

We hold regular meetings. See details at community page.

Overview

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.
    • correlationcontext: Collection of entries in the form of 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.

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

Project setup and contribute

Please refer to the contribution guide on how to setup and contribute!

Quick Start

Please refer to the quick start guide on how use the OpenTelemetry API.

Snapshots

Snapshots based out the master branch are available for opentelemetry-api, opentelemetry-sdk and the rest of the artifacts:

Maven

  <repositories>
    <repository>
      <id>oss.sonatype.org-snapshot</id>
      <url>https://oss.jfrog.org/artifactory/oss-snapshot-local</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>io.opentelemetry</groupId>
      <artifactId>opentelemetry-api</artifactId>
      <version>0.2.0-SNAPSHOT</version>
    </dependency>
  </dependencies>

Gradle

repositories {
	maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local' }
}

dependencies {
	compile('io.opentelemetry:opentelemetry-api:0.2.0-SNAPSHOT')
}

Libraries will usually only need opentelemetry-api, while applications may want to use opentelemetry-sdk.

Release Schedule

OpenTelemetry Java is under active development. Our goal is to release an alpha version of the library by middle October 2019. This release isn't guaranteed to conform to a specific version of the specification, and future releases will not attempt to maintain backwards compatibility with the alpha release.

Component Version Target Date
Tracing API Alpha October 21 2019
Tracing SDK Alpha October 21 2019
Metrics API Alpha October 21 2019
Metrics SDK Alpha October 21 2019
Jaeger Trace Exporter Alpha October 21 2019
Zipkin Trace Exporter Alpha Unknown
Prometheus Metrics Exporter Alpha Unknown
Context Propagation Alpha October 21 2019
OpenTracing Bridge Alpha October 21 2019
OpenCensus Bridge Alpha Unknown

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!

Owners

Approvers (@open-telemetry/java-approvers):

Find more about the approver role in community repository.

Maintainers (@open-telemetry/java-maintainers):

Find more about the maintainer role in community repository.