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

[parametric] Enable OTEL Env parametric tests for Java #2793

Merged
merged 1 commit into from
Sep 19, 2024

Conversation

zacharycmontoya
Copy link
Contributor

Motivation

Ensures that all languages that have implemented the OpenTelemetry environment variable mapping feature are running the corresponding system-tests.

Changes

Enables test cases in parametric/test_otel_env_vars.py for Java. This required adding special mappings for propagation style names and setting DD_TRACE_OTEL_ENABLED=true in all test cases to run the Java code.

Since the tests require a new GetTraceConfig endpoint, this was implemented as part of this commit. Note that there's an obscene amount of reflection to get the required tracer settings from the internal config object. Any and all feedback is welcome to improve the maintainability of this endpoint.

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • If PR title starts with [<language>], double-check that only <language> is impacted by the change
  • No system-tests internal is modified. Otherwise, I have the approval from R&P team
  • CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added (or removed)?

…al mappings for propagation style names and to set DD_TRACE_OTEL_ENABLED=true in all test cases to run the Java code.

Since the tests require a new GetTraceConfig endpoint, this was implemented as part of this commit. Note that there's an obscene amount of reflection to get the required tracer settings from the internal config object. Any and all feedback is welcome to improve the maintainability of this endpoint.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In most test cases, DD_TRACE_OTEL_ENABLED=true was added to the environment variables so that the OTEL Env behaviors within the Java SDK would be enabled. Other than that, changes mostly include asserting Java-specific output for trace context propagation config

@zacharycmontoya zacharycmontoya merged commit f5e51d2 into main Sep 19, 2024
267 checks passed
@zacharycmontoya zacharycmontoya deleted the zach.montoya/otel-env-java branch September 19, 2024 17:32
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