Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce cascading filter processor #359

Merged
merged 3 commits into from
Dec 4, 2020

Conversation

pmm-sumo
Copy link

@pmm-sumo pmm-sumo commented Dec 3, 2020

The processor allows to limit the volume of spans by providing ability to filter (and assign a desired max rate) of traces with matching spans

This is our custom code for providing tail-based filtering. It's based on tailsamplingprocessor but introduces several incompatible changes:

  • max span rate can be define at a rule (policy) level and globally
  • when max span rate for a policy is set to -1, then the matching traces are applied if there's still space available on the global level
  • there's only one type of rule (policy) but all types of filters can be expressed there

@pmm-sumo pmm-sumo merged this pull request into SumoLogic:release-0.16 Dec 4, 2020
pmm-sumo added a commit that referenced this pull request Dec 4, 2020
* Introduce cascading filter processor
pmm-sumo added a commit that referenced this pull request Feb 2, 2021
* Introduce cascading filter processor
pmm-sumo referenced this pull request in pmm-sumo/opentelemetry-collector-contrib Feb 2, 2021
* Introduce cascading filter processor
pmm-sumo referenced this pull request in pmm-sumo/opentelemetry-collector-contrib Feb 4, 2021
* Introduce cascading filter processor
pmm-sumo added a commit that referenced this pull request Feb 25, 2021
* Introduce cascading filter processor
pmm-sumo added a commit that referenced this pull request Mar 18, 2021
* Introduce cascading filter processor
pmalek-sumo pushed a commit that referenced this pull request Apr 14, 2021
* Introduce cascading filter processor
pmalek-sumo pushed a commit that referenced this pull request Apr 23, 2021
* Introduce cascading filter processor
pmm-sumo added a commit that referenced this pull request Oct 1, 2021
Merge Sumo tail-sampling extensions
Update source processor to new API
Fix imports order
Update deps for OTC v0.14.0
Expose tailsamplingprocessor metrics
Config update (#289)
CircleCI configuration update and linter fixes
Tail sampling processor - update to v0.16
Source processor - update to v0.16
Tailsampling processor order fix
Introduce cascading filter processor (#359)
Introduce cascading filter processor
Switch to AWS ECR (#409)
Switch to AWS ECR
Investigate issue with image tagging (#410)
Move envs into $BASH_ENV
AWS CLI orb
Update README.md
Clarify which span attributes are updated/added and `probablistic_filtering_ratio` behavior
Provide invert (like grep -v) match capability (#509)
Bump OTC-Sumo version
Add Sumo examples (#681)
Update README.md
Update base dependency to v0.19.0-sumo
Remove uneccesary return values per linter
Switch master -> main
Address linter errors in sourceprocessor
Use cloud.namespace on AWS resourcedetection
Update ec2.go
TRACING-1684 | Change cloud.namespace tag from "ec2" to "aws/ec2".
TRACING-1684 | Test fix
Switch examples to use OTLP/HTTP (#864)
Bump SumoLogic OTC base version
Fix cascadingfilterprocessor unit test
Introduce telegrafreceiver (#935)
Increase testbed memory limits
AWS OTel Collector templates (#788)
Add AWS OTel Collector config templates
Update core version to v0.22.0
AWS Distro for Opentelemetry collector configuration file (#983)
Add AWS Distro Collector config
Change endpoint, add insecure flag
Update readme
Update Telegraf for changes in core v0.22.0
Rebase on v0.24.0 upstream changes
Add opentelemetry-collector-builder with Makefile and Github Action to build on PR (#1300)
Add telegrafreceiver to opentelemetry-collector-builder config
Add tracing-tests into pipeline (#1302)
Install fluentbit (#1312)
Add publish-check for all tags and branches
Fix CI to actually produce artifacts for tags
Update config.yml (#1412)
Update aws-otel-config-file.yaml (#1537)
Add resourcedetection
Add additional receivers
Sumo Logic Syslog Processor (#1313)
add sumologicsyslogprocessor
Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Patryk Małek <69143962+pmalek-sumo@users.noreply.github.com>
Update k8sprocessor with recent changes from sumologic-otel-collector
pmm-sumo added a commit that referenced this pull request Oct 28, 2021
Merge Sumo tail-sampling extensions
Update source processor to new API
Fix imports order
Update deps for OTC v0.14.0
Expose tailsamplingprocessor metrics
Config update (#289)
CircleCI configuration update and linter fixes
Tail sampling processor - update to v0.16
Source processor - update to v0.16
Tailsampling processor order fix
Introduce cascading filter processor (#359)
Introduce cascading filter processor
Switch to AWS ECR (#409)
Switch to AWS ECR
Investigate issue with image tagging (#410)
Move envs into $BASH_ENV
AWS CLI orb
Update README.md
Clarify which span attributes are updated/added and `probablistic_filtering_ratio` behavior
Provide invert (like grep -v) match capability (#509)
Bump OTC-Sumo version
Add Sumo examples (#681)
Update README.md
Update base dependency to v0.19.0-sumo
Remove uneccesary return values per linter
Switch master -> main
Address linter errors in sourceprocessor
Use cloud.namespace on AWS resourcedetection
Update ec2.go
TRACING-1684 | Change cloud.namespace tag from "ec2" to "aws/ec2".
TRACING-1684 | Test fix
Switch examples to use OTLP/HTTP (#864)
Bump SumoLogic OTC base version
Fix cascadingfilterprocessor unit test
Introduce telegrafreceiver (#935)
Increase testbed memory limits
AWS OTel Collector templates (#788)
Add AWS OTel Collector config templates
Update core version to v0.22.0
AWS Distro for Opentelemetry collector configuration file (#983)
Add AWS Distro Collector config
Change endpoint, add insecure flag
Update readme
Update Telegraf for changes in core v0.22.0
Rebase on v0.24.0 upstream changes
Add opentelemetry-collector-builder with Makefile and Github Action to build on PR (#1300)
Add telegrafreceiver to opentelemetry-collector-builder config
Add tracing-tests into pipeline (#1302)
Install fluentbit (#1312)
Add publish-check for all tags and branches
Fix CI to actually produce artifacts for tags
Update config.yml (#1412)
Update aws-otel-config-file.yaml (#1537)
Add resourcedetection
Add additional receivers
Sumo Logic Syslog Processor (#1313)
add sumologicsyslogprocessor
Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Patryk Małek <69143962+pmalek-sumo@users.noreply.github.com>
Update k8sprocessor with recent changes from sumologic-otel-collector

Add drop traces capability

Fix linter issues

Fix configschema go mods

Update CircleCI Golang conf

Remove old circleci config

Remove windows-test target

Update modules

Update observability test from upstream

Linter fix

Update testbed limits

Update number of processors

Fix linter at sumologicsyslogprocessor

Update infrastructure_service->platform

Fix k8s linter check

Increase testbed limits

Fix double filling attributes

Skip coverage

Increase testbed limits

Update Dockerfile

Update testbed limits

Update example, include better metrics and handle no-policies case

Revert to old sourceprocessor config format

Include missed testcase

Fix linter

lint & gofmt fix

Use simpler rules in cascadingfilter

Remove OnLateArrivingSpans

Linter fix

Increase memory ballasts

Fix probability calculation

Identation fix
pmm-sumo added a commit that referenced this pull request Oct 29, 2021
Merge Sumo tail-sampling extensions
Update source processor to new API
Fix imports order
Update deps for OTC v0.14.0
Expose tailsamplingprocessor metrics
Config update (#289)
CircleCI configuration update and linter fixes
Tail sampling processor - update to v0.16
Source processor - update to v0.16
Tailsampling processor order fix
Introduce cascading filter processor (#359)
Introduce cascading filter processor
Switch to AWS ECR (#409)
Switch to AWS ECR
Investigate issue with image tagging (#410)
Move envs into $BASH_ENV
AWS CLI orb
Update README.md
Clarify which span attributes are updated/added and `probablistic_filtering_ratio` behavior
Provide invert (like grep -v) match capability (#509)
Bump OTC-Sumo version
Add Sumo examples (#681)
Update README.md
Update base dependency to v0.19.0-sumo
Remove uneccesary return values per linter
Switch master -> main
Address linter errors in sourceprocessor
Use cloud.namespace on AWS resourcedetection
Update ec2.go
TRACING-1684 | Change cloud.namespace tag from "ec2" to "aws/ec2".
TRACING-1684 | Test fix
Switch examples to use OTLP/HTTP (#864)
Bump SumoLogic OTC base version
Fix cascadingfilterprocessor unit test
Introduce telegrafreceiver (#935)
Increase testbed memory limits
AWS OTel Collector templates (#788)
Add AWS OTel Collector config templates
Update core version to v0.22.0
AWS Distro for Opentelemetry collector configuration file (#983)
Add AWS Distro Collector config
Change endpoint, add insecure flag
Update readme
Update Telegraf for changes in core v0.22.0
Rebase on v0.24.0 upstream changes
Add opentelemetry-collector-builder with Makefile and Github Action to build on PR (#1300)
Add telegrafreceiver to opentelemetry-collector-builder config
Add tracing-tests into pipeline (#1302)
Install fluentbit (#1312)
Add publish-check for all tags and branches
Fix CI to actually produce artifacts for tags
Update config.yml (#1412)
Update aws-otel-config-file.yaml (#1537)
Add resourcedetection
Add additional receivers
Sumo Logic Syslog Processor (#1313)
add sumologicsyslogprocessor
Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Patryk Małek <69143962+pmalek-sumo@users.noreply.github.com>
Update k8sprocessor with recent changes from sumologic-otel-collector

Add drop traces capability

Fix linter issues

Fix configschema go mods

Update CircleCI Golang conf

Remove old circleci config

Remove windows-test target

Update modules

Update observability test from upstream

Linter fix

Update testbed limits

Update number of processors

Fix linter at sumologicsyslogprocessor

Update infrastructure_service->platform

Fix k8s linter check

Increase testbed limits

Fix double filling attributes

Skip coverage

Increase testbed limits

Update Dockerfile

Update testbed limits

Update example, include better metrics and handle no-policies case

Revert to old sourceprocessor config format

Include missed testcase

Fix linter

lint & gofmt fix

Use simpler rules in cascadingfilter

Remove OnLateArrivingSpans

Linter fix

Increase memory ballasts

Fix probability calculation

Identation fix
pmm-sumo added a commit that referenced this pull request Dec 15, 2021
Merge Sumo tail-sampling extensions
Update source processor to new API
Fix imports order
Update deps for OTC v0.14.0
Expose tailsamplingprocessor metrics
Config update (#289)
CircleCI configuration update and linter fixes
Tail sampling processor - update to v0.16
Source processor - update to v0.16
Tailsampling processor order fix
Introduce cascading filter processor (#359)
Introduce cascading filter processor
Switch to AWS ECR (#409)
Switch to AWS ECR
Investigate issue with image tagging (#410)
Move envs into $BASH_ENV
AWS CLI orb
Update README.md
Clarify which span attributes are updated/added and `probablistic_filtering_ratio` behavior
Provide invert (like grep -v) match capability (#509)
Bump OTC-Sumo version
Add Sumo examples (#681)
Update README.md
Update base dependency to v0.19.0-sumo
Remove uneccesary return values per linter
Switch master -> main
Address linter errors in sourceprocessor
Use cloud.namespace on AWS resourcedetection
Update ec2.go
TRACING-1684 | Change cloud.namespace tag from "ec2" to "aws/ec2".
TRACING-1684 | Test fix
Switch examples to use OTLP/HTTP (#864)
Bump SumoLogic OTC base version
Fix cascadingfilterprocessor unit test
Introduce telegrafreceiver (#935)
Increase testbed memory limits
AWS OTel Collector templates (#788)
Add AWS OTel Collector config templates
Update core version to v0.22.0
AWS Distro for Opentelemetry collector configuration file (#983)
Add AWS Distro Collector config
Change endpoint, add insecure flag
Update readme
Update Telegraf for changes in core v0.22.0
Rebase on v0.24.0 upstream changes
Add opentelemetry-collector-builder with Makefile and Github Action to build on PR (#1300)
Add telegrafreceiver to opentelemetry-collector-builder config
Add tracing-tests into pipeline (#1302)
Install fluentbit (#1312)
Add publish-check for all tags and branches
Fix CI to actually produce artifacts for tags
Update config.yml (#1412)
Update aws-otel-config-file.yaml (#1537)
Add resourcedetection
Add additional receivers
Sumo Logic Syslog Processor (#1313)
add sumologicsyslogprocessor
Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Patryk Małek <69143962+pmalek-sumo@users.noreply.github.com>
Update k8sprocessor with recent changes from sumologic-otel-collector

Add drop traces capability

Fix linter issues

Fix configschema go mods

Update CircleCI Golang conf

Remove old circleci config

Remove windows-test target

Update modules

Update observability test from upstream

Linter fix

Update testbed limits

Update number of processors

Fix linter at sumologicsyslogprocessor

Update infrastructure_service->platform

Fix k8s linter check

Increase testbed limits

Fix double filling attributes

Skip coverage

Increase testbed limits

Update Dockerfile

Update testbed limits

Update example, include better metrics and handle no-policies case

Revert to old sourceprocessor config format

Include missed testcase

Fix linter

lint & gofmt fix

Use simpler rules in cascadingfilter

Remove OnLateArrivingSpans

Linter fix

Increase memory ballasts

Fix probability calculation

Identation fix
pmm-sumo added a commit that referenced this pull request Feb 2, 2022
Merge Sumo tail-sampling extensions
Update source processor to new API
Fix imports order
Update deps for OTC v0.14.0
Expose tailsamplingprocessor metrics
Config update (#289)
CircleCI configuration update and linter fixes
Tail sampling processor - update to v0.16
Source processor - update to v0.16
Tailsampling processor order fix
Introduce cascading filter processor (#359)
Introduce cascading filter processor
Switch to AWS ECR (#409)
Switch to AWS ECR
Investigate issue with image tagging (#410)
Move envs into $BASH_ENV
AWS CLI orb
Update README.md
Clarify which span attributes are updated/added and `probablistic_filtering_ratio` behavior
Provide invert (like grep -v) match capability (#509)
Bump OTC-Sumo version
Add Sumo examples (#681)
Update README.md
Update base dependency to v0.19.0-sumo
Remove uneccesary return values per linter
Switch master -> main
Address linter errors in sourceprocessor
Use cloud.namespace on AWS resourcedetection
Update ec2.go
TRACING-1684 | Change cloud.namespace tag from "ec2" to "aws/ec2".
TRACING-1684 | Test fix
Switch examples to use OTLP/HTTP (#864)
Bump SumoLogic OTC base version
Fix cascadingfilterprocessor unit test
Introduce telegrafreceiver (#935)
Increase testbed memory limits
AWS OTel Collector templates (#788)
Add AWS OTel Collector config templates
Update core version to v0.22.0
AWS Distro for Opentelemetry collector configuration file (#983)
Add AWS Distro Collector config
Change endpoint, add insecure flag
Update readme
Update Telegraf for changes in core v0.22.0
Rebase on v0.24.0 upstream changes
Add opentelemetry-collector-builder with Makefile and Github Action to build on PR (#1300)
Add telegrafreceiver to opentelemetry-collector-builder config
Add tracing-tests into pipeline (#1302)
Install fluentbit (#1312)
Add publish-check for all tags and branches
Fix CI to actually produce artifacts for tags
Update config.yml (#1412)
Update aws-otel-config-file.yaml (#1537)
Add resourcedetection
Add additional receivers
Sumo Logic Syslog Processor (#1313)
add sumologicsyslogprocessor
Signed-off-by: Dominik Rosiek <drosiek@sumologic.com>
Co-authored-by: Patryk Małek <69143962+pmalek-sumo@users.noreply.github.com>
Update k8sprocessor with recent changes from sumologic-otel-collector

Add drop traces capability

Fix linter issues

Fix configschema go mods

Update CircleCI Golang conf

Remove old circleci config

Remove windows-test target

Update modules

Update observability test from upstream

Linter fix

Update testbed limits

Update number of processors

Fix linter at sumologicsyslogprocessor

Update infrastructure_service->platform

Fix k8s linter check

Increase testbed limits

Fix double filling attributes

Skip coverage

Increase testbed limits

Update Dockerfile

Update testbed limits

Update example, include better metrics and handle no-policies case

Revert to old sourceprocessor config format

Include missed testcase

Fix linter

lint & gofmt fix

Use simpler rules in cascadingfilter

Remove OnLateArrivingSpans

Linter fix

Increase memory ballasts

Fix probability calculation

Identation fix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants