forked from MihaZupan/runtime-utils
-
Notifications
You must be signed in to change notification settings - Fork 0
[✨ Triage] dotnet/aspire#12400 by tjwald - Api Endpoint for consuming Otel data #1609
Copy link
Copy link
Closed
Description
Triage for microsoft/aspire#12400.
Repo filter: area-dashboard issues.
MihuBot version: fe265e.
Ping MihaZupan for any issues.
This is a test triage report generated by AI, aimed at helping the triage team quickly identify past issues/PRs that may be related.
Take any conclusions with a large grain of salt.
Tool logs
dotnet/aspire#12400: Api Endpoint for consuming Otel data by tjwald
[Tool] Searching for OTEL endpoint, OpenTelemetry REST API, consume OpenTelemetry data, MCP rest endpoint, OpenTelemetry dashboard, custom telemetry endpoint, OpenTelemetry ingestion API (IncludeOpen=True, IncludeClosed=True, IncludeIssues=True, IncludePullRequests=False, Repository=dotnet/aspire)
[Tool] Found 40 issues, 57 comments (34178 ms)
Here are related issues and discussions regarding the request to expose REST endpoints for consuming OpenTelemetry (OTEL) data in Aspire, including the context of MCP and dashboard ingestion:
Closely Related Feature Requests and Discussions
Issue #3688 (April 2024) - "Add support for http OTLP endpoint in the dashboard"
- Summary: The dashboard currently supports only gRPC OTLP endpoints. This issue proposes adding support for HTTP OTLP endpoints, including both Protobuf and JSON encodings, and the ability to select which protocol a resource should use.
- Discussion: Comments highlight the need for HTTP support, especially for browser-based telemetry (frontends, SPAs) which cannot use gRPC. There is also mention of a workaround using an OTEL Collector container and a NuGet package (
PracticalOtel.OtelCollector.Aspire) to bridge HTTP telemetry to the dashboard. - Status: Open for upvotes; workaround available via collector.
Issue #6947 (December 2024) - "Support Receiving OTLP/JSON (over HTTP) in the Aspire Dashboard"
- Summary: Requests native support for OTLP/JSON ingestion in the dashboard, as some environments (e.g., Cloudflare Workers, DBOS) only export OTLP in JSON over HTTP.
- Discussion: Workarounds involve running an OTEL Collector to translate JSON to gRPC/protobuf for dashboard ingestion. Commenters express desire for native support.
- Status: Not natively supported; workaround documented.
Issue #4917 (July 2024) - "Configuration to allow CORS with OTLP HTTP"
- Summary: Requests configuration to enable CORS for the dashboard's OTLP HTTP endpoints, allowing browser apps to send telemetry via HTTP.
- Status: No comments, but directly relevant for REST/HTTP endpoint consumption.
Issue #6789 (November 2024) - "Allow users to configure preferred protocol (gRPC or HTTP/Protobuf) for OpenTelemetry endpoints"
- Summary: Requests ability to select which protocol (gRPC or HTTP/Protobuf) is used for OTLP endpoints, especially relevant for frontend apps.
- Discussion: Documentation exists for configuring endpoints, but explicit protocol selection is requested.
Issue #6329 (October 2024) - "Feature Request: .WithOtlpExporter() can pass in otel http endpoint for client-side browser apps"
- Summary: Requests API changes to allow injection of OTLP HTTP endpoints for browser apps, rather than defaulting to gRPC.
- Discussion: Related to protocol selection and frontend telemetry.
Issue #857 (November 2023) & Discussion #1914 (November 2023) - "Calling the Telemetry collector from a SPA"
- Summary: Users report CORS issues when sending telemetry from SPAs to the dashboard. Suggestions include proxying via the host app or adding an HTTP OTLP endpoint to the dashboard.
- Discussion: Team members note that implementing an OTLP HTTP endpoint in the dashboard is feasible and would help browser scenarios.
Discussion #11129 (August 2025) - "Post OpenTelemetry from Vite app to Aspire dashboard"
- Summary: Details how to bridge OTEL environment variables from the server-side container into the browser bundle for frontend telemetry.
- Discussion: Solution involves injecting env vars at build time; relevant for local development and validation.
Issue #11481 (September 2025) - "OTLP HTTP not working with standalone dashboard"
- Summary: Reports that OTLP HTTP protocol does not work with the standalone dashboard, despite documentation suggesting it should.
- Status: No comments; possibly a bug or missing feature.
Issue #5062 (July 2024) - "OTLP appmodel component"
- Summary: Suggests an explicit app model component for configuring OTLP endpoints and settings, which could help with custom telemetry ingestion and endpoint configuration.
MCP and REST Layer Context
Issue #10957 (August 2025) - "Add built-in MCP server (preview) to dashboard with streaming HTTP and minimal tool surface"
- Summary: Proposes a minimal in-process MCP server in AppHost, exposing streaming HTTP endpoints for querying app state, logs, and resource info. Initial focus is on read-only tools, but the infrastructure could be extended.
- Discussion: Comments support exposing more data (including env vars) for debugging and LLM-based tools. This is a preview feature and not yet a general-purpose telemetry ingestion API.
Additional Related Issues
- Issue #2897 (March 2024): Requests a test OTLP endpoint for integration testing, to assert against OTel data.
- Issue #9861 (June 2025): Requests exporting Aspire telemetry to external tools (Grafana, InfluxDB) via OTEL Collector, which is the recommended approach for custom telemetry pipelines.
Key Takeaways
- HTTP OTLP endpoint support in the dashboard is a frequently requested feature, especially for browser and non-.NET clients. Native support is not yet complete; workarounds involve using an OTEL Collector to bridge HTTP/JSON or HTTP/Protobuf to gRPC.
- CORS configuration for HTTP endpoints is also requested to enable browser telemetry.
- Protocol selection (gRPC vs HTTP/Protobuf) is needed for flexible client support.
- MCP server is being previewed for app state queries, but is not a general-purpose telemetry ingestion API yet.
- REST API for OTEL data ingestion is not currently available; most solutions involve using the OTEL Collector as a proxy.
Recommendations
- For local development and custom telemetry ingestion, use an OTEL Collector to receive HTTP/JSON or HTTP/Protobuf and forward to the dashboard via gRPC.
- Track issues #3688, #6947, #4917, and #10957 for progress on native HTTP/REST endpoint support and MCP server capabilities.
- If you need REST endpoints for OTEL data in Aspire, upvote and comment on these issues to indicate demand and use cases.
Let me know if you need a deeper dive into any specific issue or workaround!
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels