Lalit Kumar Bhasin
Lalit Kumar Bhasin
Just to add on top of the above comment, while we can add a `non-abstract` Span at API surface which internally contains a pointer to `sdk::Span`, and return this instead...
> What is the difference in your baggage prototype from ABI compatibility? If you change the current Baggage class is it not the same? Returning `Baggage` as an object exposes...
The solution would depend on what we are trying to achieve here by removing ABI stable smart-pointer from API surface (sorry but I am still trying to get more clarity):...
Ok, invested some time in prototyping span creation api to return `unique_ptr` instead of `shared_ptr` [here](https://github.com/lalitb/opentelemetry-cpp/compare/main...lalitb:span-pointer?expand=1). Here are the benchmark results in identical load conditions: **Existing api ( using shared_ptr):**...
This was discussed in the last weekly meeting. After evaluating the current benchmark results and comparing it with that of `unique_ptr` based prototype, it is planned - - to put...
@manushawijekoon - Not sure what you mean by the thread un-safe implementation of SDK as concurrency at API level is one of the objectives of specs ( https://github.com/open-telemetry/opentelemetry-specification/blob/b46bcab5fb709381f1fd52096a19541370c7d1b3/specification/trace/api.md#concurrency ). Regarding...
@manushawijekoon - Thanks for the link. Just to let you know, - the context management is done on thread-local storage https://github.com/open-telemetry/opentelemetry-cpp/blob/5aa73655b5bb1af0be22463255b62e6d2f7dd10f/api/include/opentelemetry/context/runtime_context.h#L310 to ensure that context is managed per thread level,...
keeping this open.
@yuvalif - Do you have more details, which part of the Span life cycle has a detectable impact - creation, populating, or export/end? How you did these non-shared span tests,...
Thanks, @yuvalif for the details. Just to clarify the results: * GET request when tracing compiled out: `` 2022/01/12 08:03:16 Loop: 0, Int: TOTAL, Dur(s): 91.8, Mode: GET, Ops: 200000,...