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

[Network Improvements] Ease networking knowledge needed to use Tracetest #2383

Closed
kdhamric opened this issue Apr 13, 2023 · 8 comments · Fixed by #2412
Closed

[Network Improvements] Ease networking knowledge needed to use Tracetest #2383

kdhamric opened this issue Apr 13, 2023 · 8 comments · Fixed by #2412
Assignees
Labels

Comments

@kdhamric
Copy link
Collaborator

kdhamric commented Apr 13, 2023

Currently, some users struggle to use Tracetest due to networking issues. We want to ease this pain.

AC1:
As a new user to OTel,
I want to be able to use a minimal configuration in my app instrumentation
and have the trace data easily appear in Tracetest when not utilizing a direct trace data store.

AC2:
As a developer, when coding locally on my desktop, I want Tracetest to just work where possible,
and guide me in the areas where some education is needed.

Proposed Solution:

  1. Move to using the default gRPC port Tracetest listens for incoming spans via gRPC to 4317 to match the default (https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md). This will allow a minimal configuration.

  2. Allow http as a method to send incoming spans, and listen for this on 4318 (https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/otlp.md#otlphttp)

  3. On the Docker setup, expose 4317 and 4318 and route them to either Tracetest or the OTel Collector.

@kdhamric kdhamric added feature request triage requires triage epic Epic labels Apr 13, 2023
@mathnogueira
Copy link
Member

mathnogueira commented Apr 13, 2023

We would have to allow users to override the port that Tracetest listens to because it might conflict with an Otel collector running locally. This would prevent users from starting Tracetest.

This config should probably live in the config file and we also should allow users to define env variables to set them (I suspect most people would use env variables for that)

Edit: talking with @kdhamric and I think it makes sense to keep that configuration inside a resource instead.

@kdhamric
Copy link
Collaborator Author

Will we leverage the 'config resource' for this?

@xoscar xoscar self-assigned this Apr 17, 2023
@xoscar xoscar removed the epic Epic label Apr 18, 2023
@xoscar xoscar changed the title [Network Improvements]Ease networking knowledge needed to use Tracetest [Network Improvements] Ease networking knowledge needed to use Tracetest Apr 18, 2023
@xoscar
Copy link
Collaborator

xoscar commented Apr 18, 2023

DRAFT: Tasks required to complete this story:

  1. Update the otlp server to listen to HTTP incoming requests
  2. Update the configuration resource manager to accept values for OTLP ports
  3. Add test run events for received data incoming from the collector endpoints
  4. Edit examples and recipes to use the new config

@mathnogueira what do you think?

@xoscar xoscar linked a pull request Apr 19, 2023 that will close this issue
4 tasks
@xoscar
Copy link
Collaborator

xoscar commented Apr 20, 2023

  1. OTLP server ports cannot be configured using the resource manager, only available trough the config file.

@kdhamric
Copy link
Collaborator Author

We may want to consider #1292 as part of this work.

@xoscar
Copy link
Collaborator

xoscar commented Apr 24, 2023

@kdhamric that ticket doesn't have much info, could you add something so we can check if it would match to be done as part of this?

@xoscar
Copy link
Collaborator

xoscar commented Apr 24, 2023

Currently considering this:

As we are making the OTLP endpoints to be more prominent by the network ease changes.
Should we also support a specific DataStore type to point directly to Tracetest? currently, we have OpenTelemetry and the examples are using the otel collector. But we really don't need to collector so we can have another "send open telemetry data directly to Tracetest" data store

@xoscar
Copy link
Collaborator

xoscar commented Apr 24, 2023

If we decide to work on the above ☝ that should be part of a separate ticket

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

Successfully merging a pull request may close this issue.

3 participants