-
Notifications
You must be signed in to change notification settings - Fork 106
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
feat: setup code attributes in Elixir macros #808
base: main
Are you sure you want to change the base?
Conversation
@doc false | ||
@spec merge_start_opts(OpenTelemetry.Span.start_opts(), OpenTelemetry.attributes_map()) :: | ||
OpenTelemetry.Span.start_opts() | ||
def merge_start_opts(start_opts, builtin_attributes) do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left this public but undocumented. Not sure if we want to document and make it part of the public API
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #808 +/- ##
==========================================
+ Coverage 17.32% 18.45% +1.13%
==========================================
Files 24 25 +1
Lines 710 726 +16
==========================================
+ Hits 123 134 +11
- Misses 587 592 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
This replaces #550. It adds code attributes to all Elixir macro calls. This information is gathered at compile time, and then merged with the start opt attributes at runtime. I created a new public function to format these attributes in case down the line we want to format them differently (like removing the "Elixir" prefix from namespace) and in case other libraries need them while not using the macros.
The end result is you get these attributes for the Elixir
Tracer
macros:code.filepath
,code.function
,code.lineno
,code.namespace
.