Coder Social home page Coder Social logo

wangzlei / aws-otel-java-instrumentation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws-observability/aws-otel-java-instrumentation

0.0 0.0 0.0 1.23 MB

AWS Distro for OpenTelemetry Java Instrumentation Library

Home Page: https://aws-otel.github.io/

License: Apache License 2.0

Java 86.99% Rust 1.31% Kotlin 0.19% Smarty 0.04% HCL 1.74% Dockerfile 0.41% Mustache 9.31%

aws-otel-java-instrumentation's Introduction

AWS Distro for OpenTelemetry - Instrumentation for Java

Introduction

This project is a redistribution of the OpenTelemetry Agent for Java, preconfigured for use with AWS services. Please check out that project too to get a better understanding of the underlying internals. You won't see much code in this repository since we only apply some small configuration changes, and our OpenTelemetry friends takes care of the rest.

We provided a Java agent JAR that can be attached to any Java 8+ application and dynamically injects bytecode to capture telemetry from a number of popular libraries and frameworks. The telemetry data can be exported in a variety of formats. In addition, the agent and exporter can be configured via command line arguments or environment variables. The net result is the ability to gather telemetry data from a Java application without any code changes.

Getting Started

Check out the getting started documentation.

Supported Java libraries and frameworks

For the complete list of supported frameworks, please refer to the OpenTelemetry for Java documentation.

How it works

The OpenTelemetry Java SDK provides knobs for configuring aspects using Java SPI. This configuration includes being able to reconfigure the IdsGenerator which we need to support X-Ray compatible trace IDs. Because the SDK uses SPI, it is sufficient for the custom implementation to be on the classpath to be recognized. The AWS distribution of the OpenTelemetry Java Agent repackages the upstream agent by simply adding our SPI implementation for reconfiguring the ID generator. In addition, it includes AWS resource providers by default, and it sets a system property to configure the agent to use multiple trace ID propagators, defaulting to maximum interoperability.

Other than that, the distribution is identical to the upstream agent and all configuration can be used as is.

Standardized Sample Applications

In addition to the sample apps in this repository, there are also a set of standardized sample applications that can be used. You can find the standardized Java sample app here.

Support

Please note that as per policy, we're providing support via GitHub on a best effort basis. However, if you have AWS Enterprise Support you can create a ticket and we will provide direct support within the respective SLAs.

Security issue notifications

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public github issue.

aws-otel-java-instrumentation's People

Contributors

dependabot[bot] avatar rapphil avatar anuraaga avatar paurushgarg avatar bryan-aguilar avatar vasireddy99 avatar nathanielrn avatar harrryr avatar humivo avatar danielzolty avatar majanjua-amzn avatar awssandra avatar wangzlei avatar bhautikpip avatar bjrara avatar srprash avatar xinranzhaws avatar atshaw43 avatar asmadsen avatar jinwoov avatar ruthvik17 avatar thpierce avatar willarmiros avatar wytrivail avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.