* prototype for class to replace Map<String, AttributeValue) * safely copy the builder's data * add the empty constant * optimization for attributes with a single key/value * Add an iterator/iterable and some simple tests * fix animalsniffer complaint * tests for de-duping and order-independent equality, plus removal of possibly unneeded access methods. * clean up the sort&filter method a tad * replace the iterator with a foreach method * Make the Attributes parameterized by the value type. * Add basic javadoc * remove helper class; add a simple test for the builder; make the tests more robust * Add a varargs method for creating an arbitrary number of key/value pairs. * static import the check method, for consistency * Refactor to have an interface and two implementations, with some shared logic. * fix an accidental rename * really fix it for real * add a few more tests * preserve the `setAttribute` names from existing Span API * Replace the treemap sorting and filtering with a quicksort and post-filter. * remove an unneeded list. * switch to an abstract base class to remove some code duplication * Updated docs based on feedback. * Small change to use the builder for the empty implementations. |
||
---|---|---|
.circleci | ||
.github | ||
all | ||
api | ||
bom | ||
buildscripts | ||
context_prop | ||
contrib | ||
examples | ||
exporters | ||
gradle/wrapper | ||
opentracing_shim | ||
proto | ||
sdk | ||
sdk_contrib | ||
.codecov.yaml | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
QUICKSTART.md | ||
README.md | ||
RELEASING.md | ||
build.gradle | ||
gradle.properties | ||
gradlew | ||
gradlew.bat | ||
settings.gradle |
README.md
OpenTelemetry
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
andSpanContext
. - 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.
- trace: The tracing api. Includes
- 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.4.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
.
Releases
OpenTelemetry Java is under active development. Releases aren't guaranteed to conform to a specific version of the specification. Future releases will not attempt to maintain backwards compatibility with previous releases.
The latest version of the libraries were released on March 27th, 2020. See the v0.3.0 alpha release.
This is a current feature status list:
Component | Version |
---|---|
Tracing API | v0.3.0 |
Tracing SDK | v0.3.0 |
Metrics API | v0.3.0 |
Metrics SDK | v0.3.0 |
OTLP Exporter | v0.3.0 |
Jaeger Trace Exporter | v0.3.0 |
Zipkin Trace Exporter | dev |
Prometheus Metrics Exporter | dev |
Context Propagation | v0.3.0 |
OpenTracing Bridge | v0.3.0 |
OpenCensus Bridge | N/A |
See the project milestones for details on upcoming releases. The dates and features described in issues and milestones are estimates, and subject to change.
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):
- Pavol Loffay, RedHat
- Tyler Benson, DataDog
- Armin Ruech, Dynatrace
- Giovanni Liva, Dynatrace
Find more about the approver role in community repository.
Maintainers (@open-telemetry/java-maintainers):
- Bogdan Drutu, Splunk
- Carlos Alberto, LightStep
- John Watson, New Relic
Find more about the maintainer role in community repository.