opentelemetry-lambda
opentelemetry-js-contrib
opentelemetry-lambda | opentelemetry-js-contrib | |
---|---|---|
8 | 12 | |
331 | 807 | |
3.3% | 1.5% | |
9.3 | 9.5 | |
8 days ago | 4 days ago | |
Go | TypeScript | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
opentelemetry-lambda
-
Did OpenTelemetry deliver on its promise in 2023?
I mean, sure, you can improve performance a bit by increasing the RAM/compute capacity on the Lambda. But it always adds a pretty steep overhead right now, no matter how much capacity you throw at it.
https://github.com/open-telemetry/opentelemetry-lambda/issue...
https://github.com/aws-observability/aws-otel-lambda/issues/...
-
Instrumenting AWS Lambda functions with OpenTelemetry SDKs
OpenTelemetry AWS Lambda repository
- OpenTelemetry in 2023
-
Serverless Spy Vs. Spy Chapter 3: X-Ray vs Jaeger - Send Lambda traces with open telemetry
With the sample apps from the opentelemetry-lambda repository the Lambda part itself was easy to implement. What took me some time was to provide the jaeger Fargate service with IaC ouside of an k8s environment. But with ECS and ServiceDiscovery that was easy in the end. This should be even more simple in an EKS environment with the jaegertracing helm-charts.
-
AWS Lambda tracing with OpenTelemetry and OpenSearch
OpenTelemetry recently released https://github.com/open-telemetry/opentelemetry-lambda, but they also have this in the official docs https://opentelemetry.io/docs/instrumentation/js/serverless/. What do you consider to be the better option?
-
Serverless Spy Vs. Spy Chapter 2: AWS Distro for OpenTelemetry Lambda vs X-Ray SDK
opentelemetry-lambda
-
How to Instrument AWS Services with OpenTelemetry
You don’t have to create an opentelemetry configuration file such as this for each of your lambdas. In fact, you shouldn’t. In AWS, you can use Lambda Layers. You can define the OpenTelemetry tracing piece of code as a Lambda layer and use it in any Lambda you want. Furthermore, OpenTelemetry went ahead and implemented this opentelemetry-lambda layer for us. All we need to do is use it with our config.
-
Struggling to connect the dots - ADOT with Lambda using aws-otel-nodejs Lambda layer, not sure how to go from here to using custom instrumentation (e.g. instrumentation-pg, instrumentation-graphql, etc).
Sorry you're having trouble working with the ADOT Lambda Layers :(. Have you had a chance to open an issue on the GitHub repo for OTel Lambda or ADOT Lambda? You should add your expected vs your actual output!
opentelemetry-js-contrib
-
Welcoming .NET Aspire 9.0 : Photo Summary Project
... //https://www.honeycomb.io/blog/opentelemetry-browser-instrumentation //https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-xml-http-request //https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/web/opentelemetry-instrumentation-user-interaction //https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/web/opentelemetry-instrumentation-long-task //https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/web/opentelemetry-instrumentation-long-task export default async () => { const otlpOptions = { omitted }; const attributes = { omitted } provider.addSpanProcessor(new SimpleSpanProcessor(new OTLPTraceExporter(otlpOptions))); provider.register({contextManager: new StackContextManager()}); registerInstrumentations({ instrumentations: [ getWebAutoInstrumentations({ '@opentelemetry/instrumentation-xml-http-request': { clearTimingResources: true, } }), new LongTaskInstrumentation({ observerCallback: (span, longtaskEvent) => { span.setAttribute('location.pathname', window.location.pathname) } }), new FetchInstrumentation({ propagateTraceHeaderCorsUrls: [new RegExp('\\/api\\/*')], ignoreUrls: [new RegExp('\\/tile\\/*')], })], }); ... };
- NestJS + Opentelemetry (Loki)
-
Using Env Vars to Include & Exclude OpenTelemetry Node.js Libraries
To enable only @opentelemetry/instrumentation-http and @opentelemetry/instrumentation-express you can run this command below.
-
Saving Three Months of Latency with a Single OpenTelemetry Trace
On the noisy NodeJS auto-instrumentation, it is indeed very noisy out of the box. Myself along with a bunch of other ppl finally got the project to allow you to select the instrumentations via configuration. Saves having to create your own tracer.ts/js file.
Here's the PR that got merged earlier in the year: https://github.com/open-telemetry/opentelemetry-js-contrib/p...
The env var config is `OTEL_NODE_ENABLED_INSTRUMENTATIONS`
Anyways, love Opentelemetry success stories. Been working hard on it at my current company and yielding fruits already :)
-
OpenTelemetry in 2023
[2] https://github.com/open-telemetry/opentelemetry-js-contrib/t...
- OpenTelemetry-based traces for every web page with zero code change.
- How to trace database query with OpenTelemetry and Zipkin for a Node.js app?
-
How to Instrument AWS Services with OpenTelemetry
@opentelemetry/instrumentation-aws-lambda
-
How to solve "Cannot redefine property: handler" on AWS Lambda
As suggested in both opentelemetry-js-contrib and aws-otel-lambda issues, the solution is changing ES6 export to CommonJS module.exports.
-
How To Use OpenTelemetry With AWS Lambda
More information about this can be found here and in the instrumentation docs.
What are some alternatives?
proposal-async-context - Async Context for JavaScript
aws-otel-lambda - AWS Distro for OpenTelemetry - AWS Lambda
deploy-aws-lambda-to-vpc-with-terraform - Terraform module with all the cloud resources needed to run Lambda within a VPC
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
terraform-aws-jaeger - Terraform module for Jeager
Hoppscotch - Open source API development ecosystem.