Similar to #8211, we shouldn't create an exemplar reservoir when we know it will never be used.
While it is theoretically possible to get exemplars (see discussion on open-telemetry/opentelemetry-specification#5044), it requires someone to use an AlwaysOn exemplar filter. And even in that case, you need to record the same attribute set multiple times in the callback to get more than one exemplar...
Regardless, we can save users a lot of memory by not creating a reservoir for asynchronous instruments with the default TraceBased exemplar filter. Asynchronous measurements do not accept context so a TraceBased exemplar filter makes it impossible to record any exemplars.
Similar to #8211, we shouldn't create an exemplar reservoir when we know it will never be used.
While it is theoretically possible to get exemplars (see discussion on open-telemetry/opentelemetry-specification#5044), it requires someone to use an AlwaysOn exemplar filter. And even in that case, you need to record the same attribute set multiple times in the callback to get more than one exemplar...
Regardless, we can save users a lot of memory by not creating a reservoir for asynchronous instruments with the default TraceBased exemplar filter. Asynchronous measurements do not accept context so a TraceBased exemplar filter makes it impossible to record any exemplars.