@@ -95,7 +95,30 @@ MUST be considered in conflict with each other.
9595
9696### SDK Details
9797
98- TODO
98+ When ` For Entity ` operation is received by a provider, A new child
99+ ` Entity Bound Provider ` of the same type MUST be created and returned with the
100+ following restrictions:
101+
102+ - ` Entity Bound Provider ` MUST be associated with a newly created ` Resource `
103+ which is the result of the incoming ` Entity ` set merged into the original
104+ ` Provider ` 's resource following the existing ` Resource ` merging algorithm.
105+ Telemetry created by the parent MUST continue to be associated with the
106+ original unmodified resource.
107+ - The ` Bound Provider ` MUST share an export pipeline with its parent. The export
108+ component (` SpanProcessor ` , ` MetricReader ` , ` LogsProcessor ` , etc) MUST not be
109+ ` Shutdown ` by the ` Bound Provider ` . This MAY be achieved by wrapping the export
110+ component in a proxy component which ignores calls to ` Shutdown ` or translates
111+ them into ` Force Flush ` .
112+ - The ` Bound Provider ` MUST be configured exactly the same as its parent.
113+ A configuration change on a parent ` Provider ` MUST be reflected in all of its
114+ child ` Entity Bound Providers ` . This MAY be achieved by directly sharing
115+ the configuration object between ` Providers ` .
116+ - A ` Bound Provider ` MUST NOT be directly configurable.
117+ All configuration comes from its parent.
118+ - If ` ForceFlush ` or ` Shutdown ` is called on a ` Provider ` it MUST also flush all
119+ of its child ` Entity Bound Providers ` .
120+ - If ` Shutdown ` is called on a ` Bound Provider ` it MUST be treated as a
121+ ` Force Flush ` . It MUST NOT shut down its export pipeline.
99122
100123## Trade-offs and mitigations
101124
0 commit comments