Skip to content

Update coralogix-autoinstrumentation from Lambda instrumentation v0.44 to v0.50.3 #24

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

douglascamata
Copy link
Member

Fixes ES-492.

Which problem is this PR solving?

This PR updates coralogix-autoinstrumentation from Lambda instrumentation v0.44 to v0.50.3.

Tested paired with the changes in coralogix/opentelemetry-js#4 through the lambda-telemetry-infra-test toolset.

Short description of the changes

The only notable change is:

pichlermarc and others added 30 commits September 4, 2024 16:29
…lient URL is the empty string (open-telemetry#2399)

Issue open-telemetry#2389 showed that this instrumentation would crash on a Redis
client configured with {url: ''} (an empty string). The crash was
fixed in open-telemetry#2397. This change avoids the once-crashy code, and hence
the diag.error spam, by using the same guard before attempting to parse
the configured client URL that the Redis client itself does, if (options?.url),

Refs: open-telemetry#2389
Co-authored-by: Daniel Dyla <dyladan@users.noreply.github.com>
…also fix test flakiness (open-telemetry#2421)

This is a follow-up on open-telemetry#2408 (comment)
to update one more usage of SpanKind.* to testUtils.OtlpSpanKind.*.

While testing this locally I also noticed that the instr-express tests
using runTestFixture are flaky. The issue is that TestCollector#sortedSpans
can get the span ordering wrong when spans start in the same millisecond
(the resolution of span.startTimeUnixNano). This happens with Express
middleware spans on a fast machine. I've updated sortedSpans to
fallback to using span.parentSpanId to attempt to get more reliable
sorting.
…pen-telemetry#2319)

This PR adds a new utility (getRouterPath) to recursively search the (possibly nested) parameterised router path when getting the layer metadata. This only affects the span name, not the http.route attribute of the span. http.route is still showing the mount path. (Active discussion on this: Express instrumentation does not properly handle router usage open-telemetry#1993 (comment))

Uses route primarily to assign the requestHandler span name instead of layerPath. layerPath does not represent the full path, only the path of the last matching router when nested routers are used.

Co-authored-by: Abhijeet Prasad <devabhiprasad@gmail.com>
Co-authored-by: Jamie Danielson <jamiedanielson@honeycomb.io>
Co-authored-by: Jamie Danielson <jamieedanielson@gmail.com>
Co-authored-by: David Luna <david.luna@elastic.co>
@douglascamata douglascamata merged commit 3641dc4 into coralogix-autoinstrumentation Mar 19, 2025
18 of 35 checks passed
@douglascamata douglascamata deleted the update-lambda-instrumentation branch March 19, 2025 11:35
douglascamata added a commit to coralogix/opentelemetry-lambda that referenced this pull request Mar 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.