Skip to content

feat(calm-hub): enable opentelemetry and json logging support - #3054

Open
Vanshikaa1510 wants to merge 3 commits into
finos:mainfrom
Vanshikaa1510:feature/calm-hub-opentelemetry
Open

Vanshikaa1510 wants to merge 3 commits into
finos:mainfrom
Vanshikaa1510:feature/calm-hub-opentelemetry

Conversation

@Vanshikaa1510

Copy link
Copy Markdown

Description

Enabled OpenTelemetry tracing and JSON logging format for the calm-hub module.

Closes #2945

Type of Change

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 📚 Documentation update
  • 🎨 Code style/formatting changes
  • ♻️ Refactoring (no functional changes)
  • ⚡ Performance improvements
  • ✅ Test additions or updates
  • 🔧 Chore (maintenance, dependencies, CI, etc.)

Affected Components

  • CLI (cli/)
  • Schema (calm/)
  • CALM AI (calm-ai/)
  • CALM Hub (calm-hub/)
  • CALM Hub UI (calm-hub-ui/)
  • CALM Server (calm-server/)
  • CALM Widgets (calm-widgets/)
  • Documentation (docs/)
  • Shared (shared/)
  • VS Code Extension (calm-plugins/vscode/)
  • Dependencies
  • CI/CD

Testing

  • I have tested my changes locally
  • I have added/updated unit tests
  • All existing tests pass

Checklist

  • My commits follow the conventional commit format
  • I have updated documentation if necessary
  • I have added tests for my changes (if applicable)
  • My changes follow the project's coding standards

@linux-foundation-easycla

linux-foundation-easycla Bot commented Sep 6, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: Vanshikaa1510 / name: Vanshikaa1510 (2e6c757)

@github-actions github-actions Bot added the calm-hub Affects `calm-hub` label Sep 6, 2026

@rocketstack-matt rocketstack-matt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This adds tracing + JSON logging but doesn't address metrics, one of the three pillars #2945 asks for (sync health, API latency percentiles, cache hit rates, session operations). As it stands this PR shouldn't close #2945 — either metrics needs to be split into its own issue/PR, or added here. @byrash, can you confirm which approach you'd prefer?

Also requesting: documentation for the two new env vars (CALM_OTEL_ENABLED, OTEL_EXPORTER_OTLP_ENDPOINT) in calm-hub/README.md or AGENTS.md — these are new operator-facing config and should be documented before merge.

quarkus.otel.exporter.otlp.traces.endpoint=${OTEL_EXPORTER_OTLP_ENDPOINT:http://localhost:4317}

# JSON Logging format
quarkus.log.console.json=${CALM_OTEL_ENABLED:false}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

JSON console logging shouldn't be gated behind CALM_OTEL_ENABLED — an operator should be able to get structured JSON logs for log aggregation without also enabling OTLP trace export, and vice versa. Give it its own flag.

Suggested change
quarkus.log.console.json=${CALM_OTEL_ENABLED:false}
quarkus.log.console.json=${CALM_JSON_LOGGING_ENABLED:false}

quarkus.log.category."org.mongodb.driver".level=OFF No newline at end of file
quarkus.log.category."org.mongodb.driver".level=OFF

# OpenTelemetry configuration

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Every other toggle in this file documents its default and how to override it in a comment (see calm.mcp.enabled, calm.readonly, the audit-logging block above). This block just says "OpenTelemetry configuration" — name CALM_OTEL_ENABLED / OTEL_EXPORTER_OTLP_ENDPOINT (and CALM_JSON_LOGGING_ENABLED per the fix above) explicitly so it matches the existing convention.

@Vanshikaa1510

Copy link
Copy Markdown
Author

Hi @rocketstack-matt, I have addressed all the requested changes (logging flag separation, metrics, and documentation) and pushed the latest commits. Could you please re-review this PR when you get a chance? Thanks!

@rocketstack-matt

Copy link
Copy Markdown
Member

Thanks for following up — but I'm not seeing those changes in the diff. The branch head is still ee7893ba (unchanged since my review on Sep 6): application.properties still gates JSON logging behind CALM_OTEL_ENABLED with no separate flag, no metrics extension/config has been added, and there's no new documentation in calm-hub/README.md or AGENTS.md. ee7893ba itself is just a merge from main pulling in unrelated CI workflow changes — it doesn't touch the OTEL/logging code at all. Did the commits get pushed to a different branch, or did the push not go through? Can you push to feature/calm-hub-opentelemetry and confirm the diff picks up the changes?

@Vanshikaa1510

Copy link
Copy Markdown
Author

Hi @rocketstack-matt , I have resolved the merge conflicts, separated CALM_JSON_LOGGING_ENABLED from CALM_OTEL_ENABLED in application.properties, and updated calm-hub/README.md. Regarding the metrics requirement from #2945, I will address metrics in a separate follow-up PR. Please re-review these changes.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

calm-hub Affects `calm-hub`

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add OpenTelemetry observability (traces, metrics, structured logs) in Calm Hub

2 participants