<div dir="ltr"><div>Hello everyone</div><div><br></div><div>I have added a blueprint on having tail-based sampling as a sampling option for continuous tracing in OSProfiler. It would be really helpful to have some thoughts, ideas, comments on this from the community.</div><div><br></div><div>Continuous tracing provides a good insight on how various transactions behave across in a distributed system. Currently, OpenStack doesn't have a defined solution for continuous tracing. Though, it has OSProfiler that does generates selective traces, it may not capture the occurrence. Even if we have OSProfiler running continuously [1], we need to sample the traces so as to cut down the data generated and still keep the useful info.</div><div><br></div><div>Head based sampling can be applied that decides initially whether a trace should be saved or not. However, it may miss out on some useful traces. I propose to have tail-based sampling [2] mechanism that makes the decision at the end of the transaction and tends to keep all the useful traces. This may require a lot of changes depending on what all type of info is required and the solution that we pick to implement it [2]. This may not affect the current working of any of the services on OpenStack as it will be off the critical path [3]. </div><div><br></div><div>Please share your thoughts on this and what solution should be preferred in a broader OpenStack's perspective.</div><div>This is a step in the process of having an automated diagnostic solution for OpenStack cluster.</div><div><br></div><div>[1] <a href="https://blueprints.launchpad.net/osprofiler/+spec/osprofiler-overhead-control">https://blueprints.launchpad.net/osprofiler/+spec/osprofiler-overhead-control</a></div><div>[2] <a href="https://blueprints.launchpad.net/osprofiler/+spec/tail-based-coherent-sampling">https://blueprints.launchpad.net/osprofiler/+spec/tail-based-coherent-sampling</a></div><div>[3] <a href="https://blueprints.launchpad.net/osprofiler/+spec/asynchronous-trace-collection">https://blueprints.launchpad.net/osprofiler/+spec/asynchronous-trace-collection</a></div><div><br></div><div>Thanks<br></div><div>Rajul Kumar<br></div><div><br></div></div>