Proc-macro implementation of #[traceable].
Instruments a function and makes it "traceable". Traceable functions (aka trace sites) can be dynamically enabled or disabled to turn tracing on and off on a per-function basis.
Span creation is controlled via a per-function bitmask that enables multiple instrumentations to coexist and produce different trace shapes/hierarchies (a function may produce a span for a given instrumentation and not for another). This way, tracing can be controller per-function and per-instrumentation, at runtime.
The traceable macro allows configuring certain parameters of
the trace site, such as the span name and attributes.
Important: expanded macros only depend on opentelemetry via the
re-exported ::opentelemetry_traceable::opentelemetry namespace.
Additional dependencies need to be handled appropriately by adapting manifest files.