ATLAS-5292: Add optional OpenTelemetry Java agent with Prometheus met…#630
Open
achandel-01 wants to merge 1 commit into
Open
ATLAS-5292: Add optional OpenTelemetry Java agent with Prometheus met…#630achandel-01 wants to merge 1 commit into
achandel-01 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…rics export.
What changes were proposed in this pull request?
Introduce an optional OpenTelemetry Java agent for the Atlas server, packaged with the web application and toggled via environment variables. When enabled, the agent exposes JVM and application metrics through the Prometheus exporter so operators can scrape metrics from Atlas.
-javaagent:/WEB-INF/lib/opentelemetry-javaagent.jar
-Dotel.metrics.exporter=prometheus
-Dotel.exporter.prometheus.port and -Dotel.exporter.prometheus.host from env (with sensible defaults when unset).
env variables to pass before starting atlas docker set up :
ATLAS_OTEL_JAVAAGENT_ENABLED Master switch for attaching the agent.
ATLAS_OTEL_PROMETHEUS_PORT Prometheus exporter listen port (e.g. default 9464).
ATLAS_OTEL_PROMETHEUS_HOST Bind address (e.g. 0.0.0.0 in containers for host scraping).
example input :
export ATLAS_OTEL_JAVAAGENT_ENABLED=true
export ATLAS_OTEL_PROMETHEUS_PORT=19090
export ATLAS_OTEL_PROMETHEUS_HOST=0.0.0.0
with these inputs atlas docker container will expose port 19090 and metrics will be available on localhost:19090/metrics.
How was this patch tested?
Ran the local Docker stack with ATLAS_OTEL_JAVAAGENT_ENABLED=true, confirmed Atlas starts and /metrics on the configured port returns Prometheus text; with the flag off, Atlas still starts as before.
metrics.txt contains output metrics