Skip to content

[Observability] Add OpenTelemetry Support to Yamcs Python Client #29

@unlikelyzero

Description

@unlikelyzero

This ticket captures the work to enhance the yamcs-python-client by integrating OpenTelemetry support. This will allow users to leverage distributed tracing and monitoring capabilities, providing better insights into the performance and behavior of applications using the Yamcs client.

Proposed Changes:

  1. Dependencies:
    Ensure opentelemetry-api and opentelemetry-sdk are included in the install_requires section of setup.py.
  2. Implementation:
    Integrate OpenTelemetry tracing into the client operations, such as API requests and responses.
    Provide configuration options for users to enable or disable tracing.
  3. Environment Variables:
    Introduce environment variables to control tracing behavior:
    YAMCS_OTEL_TRACING_ENABLED: Set to true to enable tracing, false to disable. Default is false.

Benefits:

Improved observability and monitoring of applications using the Yamcs client.
Easier identification and troubleshooting of performance bottlenecks and errors.

Additional Context:

This feature will align the Yamcs client with modern observability practices, making it more attractive to developers who rely on distributed tracing for their applications. An example of how this can be achieved elastic/elasticsearch-py#2435 with first steps here elastic/elastic-transport-python#150

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions