Giter Site home page Giter Site logo

cm-kazup0n / opentelemetry-lambda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open-telemetry/opentelemetry-lambda

0.0 1.0 0.0 4.06 MB

Create your own Lambda Layer in each OTel language using this starter code. Add the Lambda Layer to your Lamdba Function to get tracing with OpenTelemetry.

Home Page: https://opentelemetry.io

License: Apache License 2.0

Shell 6.28% JavaScript 0.80% Python 7.39% Java 5.39% Go 60.53% C# 0.95% TypeScript 3.21% Makefile 2.42% HCL 12.55% Dockerfile 0.46%

opentelemetry-lambda's Introduction

OpenTelemetry Lambda

GitHub Java Workflow Status GitHub Collector Workflow Status GitHub NodeJS Workflow Status GitHub Terraform Lint Workflow Status GitHub Python Pull Request Workflow Status

OpenTelemetry Lambda Layers

The OpenTelemetry Lambda Layers provide the OpenTelemetry (OTel) code to export telemetry asynchronously from AWS Lambdas. It does this by embedding a stripped-down version of OpenTelemetry Collector Contrib inside an AWS Lambda Extension Layer.

Some layers include the corresponding OTel language SDK for the Lambda. This allows Lambdas to use OpenTelemetry to send traces and metrics to any configured backend.

Extension Layer Language Support

FAQ

  • What exporters/receivers/processors are included from the OpenTelemetry Collector?

    You can check out the stripped-down collector's imports in this repository for a full list of currently included components.

  • Is the Lambda layer provided or do I need to build it and distribute it myself?

    This repository does not provide pre-build Lambda layers. They must be built manually and saved in your AWS account. This repo has files to facilitate doing that. More information is provided in the Collector folder's README.

Design Proposal

To get a better understanding of the proposed design for the OpenTelemetry Lambda extension, you can see the Design Proposal here.

Features

The following is a list of features provided by the OpenTelemetry layers.

OpenTelemetry collector

The layer includes the OpenTelemetry Collector as a Lambda extension.

Custom context propagation carrier extraction

Context can be propagated through various mechanisms (e.g. http headers (APIGW), message attributes (SQS), ...). In some cases, it may be required to pass a custom context propagation extractor in lambda through configuration, this feature allows this through Lambda instrumentation configuration.

X-Ray Env Var Span Link

This links a context extracted from the Lambda runtime environment to the instrumentation-generated span rather than disabling that context extraction entirely.

Semantic conventions

The Lambda language implementation follows the semantic conventions specified in the OpenTelemetry Specification.

Auto instrumentation

The Lambda layer includes support for automatically instrumentation code via the use of instrumentation libraries.

Flush TracerProvider

The Lambda instrumentation will flush the TracerProvider at the end of an invocation.

Flush MeterProvider

The Lambda instrumentation will flush the MeterProvider at the end of an invocation.

Support matrix

The table below captures the state of various features and their levels of support different runtimes.

Feature Node Python Java .NET Go Ruby
OpenTelemetry collector + + + + +
Custom context propagation + - - - N/A
X-Ray Env Var Span Link - - - - N/A
Semantic Conventions^ + + + N/A
- Trace General^1 + + + N/A
- Trace Incoming^2 - - + N/A
- Trace Outgoing^3 + - + N/A
- Metrics^4 - - - N/A
Auto instrumentation + + - N/A
Flush TracerProvider + + + +
Flush MeterProvider + +

Legend

  • + is supported
  • - not supported
  • ^ subject to change depending on spec updates
  • N/A not applicable to the particular language
  • blank cell means the status of the feature is not known.

The following are runtimes which are no longer or not yet supported by this repository:

Contributing

See the Contributing Guide for details.

Here is a list of community roles with current and previous members:

Learn more about roles in the community repository.

opentelemetry-lambda's People

Contributors

dependabot[bot] avatar vasireddy99 avatar nathanielrn avatar wangzlei avatar aneurysm9 avatar tylerbenson avatar rapphil avatar rakyll avatar kausik-a avatar willarmiros avatar ocelotl avatar johnbley avatar bhautikpip avatar mat-rumian avatar martinkuba avatar lupengamzn avatar kuba-wu avatar humivo avatar adcharre avatar anuraaga avatar chrisrichardsevergreen avatar kxyr avatar lpsinger avatar lmolkova avatar mackjmr avatar eddieeldridge avatar micwha avatar phenixrizen avatar povilasv avatar rashmiram avatar

Watchers

 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.