Comments (9)
@michaelhyatt Are you using AWS X-Ray as the backend for tracing? If not, then can you make sure active tracing is disabled for your Lambdas? The lambda instrumentation will extract the parent from the traceparent header only if active tracing is disabled. If you're not using X-Ray, then you should have no need to enable active tracing on Lambda functions.
If you are using AWS X-Ray, then because currently AWS does not support traceparent header for propagation (we are working on support for this now), you cannot use it and should use the default xray propagator setup by the aws-otel-lambda layer.
from aws-otel-lambda.
@anuraaga I am not using X-Ray, but when I am switching it off, all the traces appear as non-sampled and I am not seeing any traces generated:
Traceparent header that is received by the producer
lambda with 00
indicating no sampling.
"traceparent": "00-60e6ac5a4a2a3d036d789ca833fc13aa-54a6f39fe0a24cbc-00",
What am I missing to get the sampling turned on?
from aws-otel-lambda.
Thanks @michaelhyatt - it seems to be a bug in the instrumentation that prevents a lambda from starting a trace, I have filed #118 to fix it.
However, I noticed that in the logs you showed the span in consumer
seems to have a Parent ID - does it mean requests to consumer
include a traceparent
? If so, then even now as long as X-Ray is disabled, the sampling decision of that header should be respected.
from aws-otel-lambda.
@anuraaga I am not sending a traceparent
header myself, this is most likely inserted by X-Ray since my first example had Active tracing turned on.
from aws-otel-lambda.
@anuraaga forgot to answer your original question. No, I am not injecting any external traceparent
headers, I was asking about forcing sampling on in the code itself. Will have to dig around for examples, but if you have one, please post it here.
from aws-otel-lambda.
@michaelhyatt Ah yeah that would explain it. So once the bug is fixed it should be ok without any special configuration. Unfortunately I'm not aware of a good workaround in the meantime unless you create your own span without a parent.
from aws-otel-lambda.
@anuraaga can confirm that injecting my own traceparent sampled: true
and Active tracing switched off produces an end to end span with correctly populated parents.
from aws-otel-lambda.
This issue is stale because it has been open 90 days with no activity. If you want to keep this issue open, please just leave a comment below and auto-close will be canceled
from aws-otel-lambda.
This issue was closed because it has been marked as stale for 30 days with no activity.
from aws-otel-lambda.
Related Issues (20)
- [AWS Lambda Java]Unable to see the traces and logs HOT 3
- Support Java 17 runtime for Lambda Layers HOT 2
- Support for Python 3.10 HOT 2
- Allow the source of the parent context to be configurable. HOT 4
- Documentation for S3 Confmap Provider is incorrect HOT 4
- Documentation for included Processors is incorrect HOT 1
- Error exporting traces from Python lambda HOT 2
- Logging exporter does not log metrics or traces HOT 4
- node.js lambda -> aws-otel-lambda -> ADOT collector doesn't work HOT 10
- First set of counter value ignored after lambda cold boot
- Auto-instrumentation Agent only in Lambda HOT 5
- nodejs spans not exported when upgrading aws otel lambda layer to 1.15.0 HOT 7
- How to configure NodeJs auto-instrumentation to use tracecontext instead of xray? HOT 4
- Error invoking Lambda function after adding latest layer (1-28-1) for java HOT 5
- Steps to build and download a private Python lambda layer as a local .zip or .tar file? HOT 1
- Trace is broken in Lambda Java17 Runtime HOT 2
- Traces are not flushed to the server before the lambda terminates HOT 6
- Unable to access Lambda layer for Python with x86_64 architecture HOT 5
- docs: document of supported python version is old HOT 1
- 53612: bind: address already in use HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-otel-lambda.