Restructure API / SDK components (Attributes, Clock, Trace)#521
Conversation
Codecov Report
@@ Coverage Diff @@
## main #521 +/- ##
============================================
+ Coverage 95.81% 95.88% +0.06%
+ Complexity 955 934 -21
============================================
Files 95 94 -1
Lines 2320 2286 -34
============================================
- Hits 2223 2192 -31
+ Misses 97 94 -3
Continue to review full report at Codecov.
|
|
I've taken a first pass over this - I like! Couple of comments to be looked at, and I'm in favour of renaming |
|
Thanks for your changes (sorry for the delay, I was busy over the holidays). |
Also needed for other components (metrics).
e14dc59 to
eaa4f53
Compare
|
Hi @Nevay - are you happy for this to be merged now? |
9c209b7 to
afb6618
Compare
afb6618 to
bbc4fec
Compare
|
@brettmc yes, this should be finished now. |
AttributesandClockfrom SDK/Trace to SDK, needed by metrics tooEventandLinkfrom API to SDK, only needed for readable spans, not used by APINoopTracerfrom SDK to API as required by specificationAttributesInterfacefrom API to SDK by widening types in API to iterableprevious implementation required API consumers to depend on the SDK implementation to provide attributes to API methods
bc-breaks:
Attributeabstraction is removed,Attributesnow return only the value instead of {name,value} pairsiterable $attributesarguments are now non-nullableAttributes::setAttribute()toAttributes::set()to be consistent withAttributes::get()?)ClockInterfacefrom API to SDKcurrently only used in SDK, interface+implementation should either be fully available in API or just in SDK