opencensus-specs
opencensus-specs copied to clipboard
Specify the instrumentation requirements for exporters
Exporters do outgoing requests to upload data to specific backends. The current OpenCensus exporters don't provide a unified experience when it comes to instrumentation these outgoing requests. Some exporters don't even provide traces for the upload requests.
We often suggest z-pages for debugging purposes in cases where there is an issue with the exporters but uninstrumented exporter implementations make this impossible.
Specify the basic instrumentation requirements for exporters. Also specify how users can control/configure the instrumentation, e.g. sampling rate.
/cc @bogdandrutu @SergeyKanzhelev
Suggestions on what we should do here:
- We should always make sure these endpoints are instrumented (specifically for the z-pages case).
- We should let the user set a custom request-based sampler on the exporter.
If exporter will instrument those calls itself it also should ensure that no automatic collector will collect spans from it automatically. So perhaps instrumentation of exporter should be done with the specially-formed scoped spans which will indicate to Open Census SDK that no automatic telemetry should be collected inside those. Perhaps a special attribute?
This specially-formed scoped span may help to filter other types of data collection like logs and exceptions.
If exporter will instrument those calls itself it also should ensure that no automatic collector will collect spans from it automatically.
Does this mean user need to specifically opt-in to collect spans from the exporter instrumentation? I think it might be valuable to do this by default and allow them to disable collection instead. We suggest z-pages to debug exporter issues.