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

Added support for endpoints in httpcheckreceiver #37265

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

VenuEmmadi
Copy link

Description

This PR enhances the httpcheckreceiver by adding support for multiple endpoints (endpoints). Users can now specify a list of endpoints in addition to a single endpoint for each target. This improves flexibility and reduces redundancy when monitoring multiple similar endpoints.

Additional changes include:

  • Updates to config.go to handle endpoints.
  • Updates to scraper.go to iterate over and scrape all specified endpoints.
  • Added unit tests for the new functionality in config_test.go and scraper_test.go.
  • Updated documentation (README.md) to reflect the changes.

Link to Tracking Issue

Fixes #37121

Testing

  • All existing and new tests pass.
  • Tested the httpcheckreceiver manually using the following configuration:
receivers:
  httpcheck:
    collection_interval: 30s
    targets:
      - method: "GET"
        endpoints:
          - "https://opentelemetry.io"
      - method: "GET"
        endpoints: 
          - "http://localhost:8080/hello"
          - "http://localhost:8080/hello"
        headers:
          Authorization: "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJqYXZhaW51c2UiLCJleHAiOjE3MzcwMzMzMTcsImlhdCI6MTczNzAxNTMxN30.qNb_hckvlqfWmnnaw2xP9ie2AKGO6ljzGxcMotoFZg3CwcYSTGu7VE6ERsvX_nHlcZOYZHgPc7_9WSBlCZ9M_w"   
      - method: "GET"
        endpoint: "http://localhost:8080/hello"
        headers:
          Authorization: "Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJqYXZhaW51c2UiLCJleHAiOjE3MzcwMzMzMTcsImlhdCI6MTczNzAxNTMxN30.qNb_hckvlqfWmnnaw2xP9ie2AKGO6ljzGxcMotoFZg3CwcYSTGu7VE6ERsvX_nHlcZOYZHgPc7_9WSBlCZ9M_w"
processors:
  batch:
    send_batch_max_size: 1000
    send_batch_size: 100
    timeout: 10s
exporters:
  debug:
    verbosity: detailed
service:
  pipelines:
    metrics:
      receivers: [httpcheck]
      processors: [batch]
      exporters: [debug]

Documentation

Describe any documentation changes or additions:

<!-- Describe the documentation added. -->
#### Documentation
- Updated the `README.md` to include examples for `endpoints`.
- Verified `documentation.md` for metric output consistency.

@VenuEmmadi VenuEmmadi requested review from codeboten and a team as code owners January 16, 2025 09:32
Copy link

linux-foundation-easycla bot commented Jan 16, 2025

CLA Signed

The committers listed above are authorized under a signed CLA.

@github-actions github-actions bot added the receiver/httpcheck HTTP Check receiver label Jan 16, 2025
@VenuEmmadi
Copy link
Author

Hi @codeboten and @mx-psi , I hope you're doing well. When you have some time, could you kindly review and share your feedback on this PR? Your input would be greatly appreciated. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
receiver/httpcheck HTTP Check receiver
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enhance httpcheckreceiver to Support Nested "endpoints" Under targets
2 participants