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

[8.x](backport #6539) Add otel components command #6592

Merged
merged 2 commits into from
Jan 27, 2025

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Jan 24, 2025

What does this PR do?

This PR adds the components command for otel mode as described at https://github.com/elastic/opentelemetry-dev/issues/396.

Implementation is replicated from https://github.com/open-telemetry/opentelemetry-collector/blob/main/otelcol/command_components.go.

Why is it important?

otel components command can be used to list the supported components the EDOT includes.

Checklist

  • I have read and understood the pull request guidelines of this project.
  • My code follows the style guidelines of this project
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have made corresponding change to the default configuration files
  • I have added tests that prove my fix is effective or that my feature works
  • I have added an entry in ./changelog/fragments using the changelog tool
  • I have added an integration test or an E2E test

Disruptive User Impact

How to test this PR locally

Build Elastic Agent and execute the command:

./build/elastic-agent otel components          
buildinfo:
    command: ./build/elastic-agent
    description: Elastic opentelemetry-collector distribution
    version: 9.0.0
receivers:
    - name: filebeatreceiver
      stability:
        logs: Alpha
        metrics: Undefined
        traces: Undefined
    - name: filelog
      stability:
        logs: Beta
        metrics: Undefined
        traces: Undefined
    - name: hostmetrics
      stability:
        logs: Development
        metrics: Beta
        traces: Undefined
    - name: httpcheck
      stability:
        logs: Undefined
        metrics: Alpha
        traces: Undefined
    - name: jaeger
      stability:
        logs: Undefined
        metrics: Undefined
        traces: Beta
    - name: k8s_cluster
      stability:
        logs: Beta
        metrics: Beta
        traces: Undefined
    - name: k8sobjects
      stability:
        logs: Beta
        metrics: Undefined
        traces: Undefined
    - name: kubeletstats
      stability:
        logs: Undefined
        metrics: Beta
        traces: Undefined
    - name: metricbeatreceiver
      stability:
        logs: Alpha
        metrics: Undefined
        traces: Undefined
    - name: otlp
      stability:
        logs: Beta
        metrics: Stable
        traces: Stable
    - name: prometheus
      stability:
        logs: Undefined
        metrics: Beta
        traces: Undefined
    - name: zipkin
      stability:
        logs: Undefined
        metrics: Undefined
        traces: Beta
processors:
    - name: attributes
      stability:
        logs: Beta
        metrics: Beta
        traces: Beta
    - name: batch
      stability:
        logs: Beta
        metrics: Beta
        traces: Beta
    - name: elasticinframetrics
      stability:
        logs: Undefined
        metrics: Alpha
        traces: Undefined
    - name: elastictrace
      stability:
        logs: Undefined
        metrics: Undefined
        traces: Alpha
    - name: filter
      stability:
        logs: Alpha
        metrics: Alpha
        traces: Alpha
    - name: k8sattributes
      stability:
        logs: Beta
        metrics: Beta
        traces: Beta
    - name: lsminterval
      stability:
        logs: Undefined
        metrics: Development
        traces: Undefined
    - name: memory_limiter
      stability:
        logs: Beta
        metrics: Beta
        traces: Beta
    - name: resource
      stability:
        logs: Beta
        metrics: Beta
        traces: Beta
    - name: resourcedetection
      stability:
        logs: Beta
        metrics: Beta
        traces: Beta
    - name: transform
      stability:
        logs: Alpha
        metrics: Alpha
        traces: Alpha
exporters:
    - name: debug
      stability:
        logs: Development
        metrics: Development
        traces: Development
    - name: elasticsearch
      stability:
        logs: Beta
        metrics: Development
        traces: Beta
    - name: file
      stability:
        logs: Alpha
        metrics: Alpha
        traces: Alpha
    - name: loadbalancing
      stability:
        logs: Beta
        metrics: Development
        traces: Beta
    - name: otlp
      stability:
        logs: Beta
        metrics: Stable
        traces: Stable
    - name: otlphttp
      stability:
        logs: Beta
        metrics: Stable
        traces: Stable
connectors:
    - name: routing
      stability:
        logs-to-logs: Alpha
        logs-to-metrics: Undefined
        logs-to-traces: Undefined
        metrics-to-logs: Undefined
        metrics-to-metrics: Alpha
        metrics-to-traces: Undefined
        traces-to-logs: Undefined
        traces-to-metrics: Undefined
        traces-to-traces: Alpha
    - name: signaltometrics
      stability:
        logs-to-logs: Undefined
        logs-to-metrics: Alpha
        logs-to-traces: Undefined
        metrics-to-logs: Undefined
        metrics-to-metrics: Alpha
        metrics-to-traces: Undefined
        traces-to-logs: Undefined
        traces-to-metrics: Alpha
        traces-to-traces: Undefined
    - name: spanmetrics
      stability:
        logs-to-logs: Undefined
        logs-to-metrics: Undefined
        logs-to-traces: Undefined
        metrics-to-logs: Undefined
        metrics-to-metrics: Undefined
        metrics-to-traces: Undefined
        traces-to-logs: Undefined
        traces-to-metrics: Alpha
        traces-to-traces: Undefined
extensions:
    - name: file_storage
      stability:
        extension: Beta
    - name: health_check
      stability:
        extension: Beta
    - name: memory_limiter
      stability:
        extension: Development
    - name: pprof
      stability:
        extension: Beta

Related issues

Questions to ask yourself

  • How are we going to support this in production?
  • How are we going to measure its adoption?
  • How are we going to debug this?
  • What are the metrics I should take care of?
  • ...

This is an automatic backport of pull request #6539 done by [Mergify](https://mergify.com).

* Add otel components command

Signed-off-by: ChrsMark <[email protected]>

* fixes and test addition

Signed-off-by: ChrsMark <[email protected]>

* add note about components command in README

Signed-off-by: ChrsMark <[email protected]>

* fix fmt

Signed-off-by: ChrsMark <[email protected]>

---------

Signed-off-by: ChrsMark <[email protected]>
Co-authored-by: Andrzej Stencel <[email protected]>
(cherry picked from commit be4ee59)
@mergify mergify bot added the backport label Jan 24, 2025
@mergify mergify bot requested a review from a team as a code owner January 24, 2025 11:17
@mergify mergify bot requested review from andrzej-stencel and michel-laterman and removed request for a team January 24, 2025 11:17
@github-actions github-actions bot added enhancement New feature or request Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team opentelemetry Related to the Elastic Distribution of the OpenTelemetry Collector labels Jan 24, 2025
@elasticmachine
Copy link
Contributor

Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane)

@andrzej-stencel andrzej-stencel enabled auto-merge (squash) January 24, 2025 11:19
Copy link
Contributor Author

mergify bot commented Jan 27, 2025

This pull request has not been merged yet. Could you please review and merge it @ChrsMark? 🙏

Copy link

Quality Gate failed Quality Gate failed

Failed conditions
13.1% Coverage on New Code (required ≥ 40%)

See analysis details on SonarQube

@andrzej-stencel andrzej-stencel merged commit 8026def into 8.x Jan 27, 2025
12 of 13 checks passed
@andrzej-stencel andrzej-stencel deleted the mergify/bp/8.x/pr-6539 branch January 27, 2025 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport enhancement New feature or request opentelemetry Related to the Elastic Distribution of the OpenTelemetry Collector Team:Elastic-Agent-Control-Plane Label for the Agent Control Plane team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants