⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@liustve
Copy link

@liustve liustve commented Jan 8, 2026

DO NOT MERGE until amazon-contributing/opentelemetry-collector-contrib#403 is merged and released and dependencies are updated.

Description of the issue

The awsproxy extension currently routes all requests to X-Ray by default, but we will need to support the new upcoming Application Signals APIs in the future as well.

Description of changes

Configure awsproxy extension to support new Application Signals APIs in the default configuration.

License

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Tests

  • Update translator unit test to support new configuration.
    E2E testing verified:
  • Built local CW Agent with following config:
{
  "agent": { "region": "us-east-1" },
  "logs": { "metrics_collected": { "application_signals": {} } },
  "traces": { "traces_collected": { "application_signals": {} } }
}

Ran following command:
./build/bin/linux_amd64/config-translator --input test_config.json --output /tmp/test_cwagent.toml

cat /tmp/amazon-cloudwatch-agent.yaml | grep -A 15 "additional_routing_rules"
        additional_routing_rules:
            - aws_endpoint: https://application-signals.us-east-1.api.aws
              paths:
                - list-instrumentation-configurations
                - report-instrumentation-configuration-status
              region: ""
              role_arn: ""
              service_name: application-signals
        aws_endpoint: ""
        certificate_file_path: ""
        endpoint: 0.0.0.0:2000
        imds_retries: 1
        local_mode: false
        profile: ""
        proxy_address: ""

Test X-Ray routing (default)

curl -X POST http://localhost:2000/GetSamplingRules -d '{}' -H "Content-Type: application/json"

{"NextToken":null,"SamplingRuleRecords":[{"CreatedAt":0.0,"ModifiedAt":0.0,"SamplingRule":{"Attributes":{},"FixedRate":0.05,"HTTPMethod":"*","Host":"*","Priority":10000,"ReservoirSize":1,"ResourceARN":"*","RuleARN":"arn:aws:xray:us-west-2:571600841604:sampling-rule/Default","RuleName":"Default","ServiceName":"*","ServiceType":"*","URLPath":"*","Version":1}}]}

Requirements

Before commiting your code, please do the following steps.

  1. Run make fmt and make fmt-sh
  2. Run make lint

Integration Tests

To run integration tests against this PR, add the ready for testing label.

Configure awsproxy extension to route list-instrumentation-configurations
and report-instrumentation-configuration-status APIs to the application-signals
service endpoint.
@liustve liustve requested a review from a team as a code owner January 8, 2026 23:12
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.

2 participants