Currently, we offer multiple options to configure sampling for tracing:
tracesSampleRate
tracesSampler
enableTracing
But when to use which, is sometimes not obvious to our users. What makes this worse is that implications of some of them differ across SDKs, for example when it comes to Trace Propagation. In Python for example, propagation of trace headers works without any tracing config options in place being set. In Go, you need to at least set enableTracing to true in order to achieve the same result.
Goal is:
remove enableTracing in all SDKs
make tracesSampleRate the default, also in config snippets
explain how to get more out of sampling by using the tracesSampler function
mark enableTracing in all SDK docs as deprecated (config option page)
I don't see an issue with the naming here, what makes tracesSampleRate not apply to a span vs a transaction? We'll always need some sort of rates user's can apply.
Currently, we offer multiple options to configure sampling for tracing:
tracesSampleRate
tracesSampler
enableTracing
But when to use which, is sometimes not obvious to our users. What makes this worse is that implications of some of them differ across SDKs, for example when it comes to Trace Propagation. In Python for example, propagation of trace headers works without any tracing config options in place being set. In Go, you need to at least set
enableTracing
totrue
in order to achieve the same result.Goal is:
enableTracing
in all SDKstracesSampleRate
the default, also in config snippetstracesSampler
functionenableTracing
in all SDK docs as deprecated (config option page)Deprecation