Skip to content

atlassian-labs/atlassian-sampling-processor

Repository files navigation

atlassian-sampling-processor

This repo contains the source code for the Atlassian Sampling Processor, a tail-based sampler implemented as an OpenTelemetry Collector processor.

Read the documentation at ./pkg/processor/atlassiansamplingprocessor/README.md.

We developed this processor to circumvent challenges with the Collector's tailsamplingprocessor. For example, we wanted to scale horizontally without data loss, compress spans in memory, order sampling policies by priority, and make sampling decisions as quickly as possible. More info on the design choices can be found in DESIGN.md. We made these optimisations to dramatically reduce our tail sampling compute cost.

The commits under /pkg are synced from a closed source monorepo. Most of the development is done closed source and then synced here. That being said, we still accept contributions that we can later sync back to our upstream version. Also see CONTRIBUTING.md.

Contributors

A big thank you to all contributors who have made this repository possible through their dedication and hard work.

License

Apache-2.0 License. See LICENSE.