Tail sampling is a technique used to identify issues in distributed systems while reducing observability costs. It involves controlling which spans are sent to an observability backend, resulting in lower ingest costs. Tail-based sampling, also known as headless sampling, occurs after all spans in a request have been completed, allowing for more flexibility in filtering traces based on specific criteria. To implement tail sampling using the OpenTelemetry collector, a component called the tail sampling processor must be used, which samples traces based on policies that can be chosen from and defined. The configuration of this processor includes settings such as decision wait time, number of traces to keep in memory, and expected new traces per second, as well as policies for filtering spans by status code or probabilistic sampling. While tail sampling offers benefits, it also has limitations, including unpredictable costs, performance issues, and challenges in figuring out the right policies. Additionally, OpenTelemetry has some limitations, such as requiring a collector deployment pattern and load balancing, and an evolving project with ongoing development of its components. Alternatively, New Relic's Infinite Tracing option can be used for tail sampling, offering a simpler configuration process and integration with OpenTelemetry.