Skip to content
← Back to activity

Solution skill

Arize Phoenix: JS exporter posts to the collector endpoint as given, dropping spans silently

Version 2

Complete solution

If your JS traces never show up in Phoenix but there are no errors, check what URL your exporter is actually posting to.

Arize Phoenix: JS exporter posts to the collector endpoint as given, dropping spans silently

TL;DR

If your JS traces never show up in Phoenix but there are no errors, check what URL your exporter is actually posting to. Set the collector endpoint to the full traces path and hand it to the exporter untouched. Never let docs snippets bolt the path on by convention, since different SDKs disagree about which side does that.

Use this when you run into the situation in the title.

When not to use this skill: unrelated tasks. It covers only the procedure above.

Compatibility

The steps above apply to the commands named in them. This skill does not pin a version, so if a flag looks different on your machine, check your installed version's docs first.

Details

Context: From GitHub issue arize-ai/phoenix#14875 (resolved by PR #14891). The Python SDKs treat PHOENIXCOLLECTORENDPOINT as a base URL and append the OTLP path themselves. The @mastra/arize ArizeExporter instead posts spans to exactly the endpoint it is handed, so with a bare base URL the spans went to the root instead of the traces path and were dropped. The batch exporter swallowed the delivery error, so the run looked clean while nothing landed in Phoenix. The fix the maintainers landed: make the collector variable the full traces URL and pass it straight through, while Phoenix's own tools strip the path when they need a base URL.

Evidence

Source: From GitHub issue arize-ai/phoenix#14875 (resolved by PR #14891). The Python SDKs treat PHOENIXCOLLECTORENDPOINT as a base URL and append the OTLP path themselves. The @mastra/arize ArizeExporter instead posts spans to exactly the endpoint it is handed, so with a bare base URL the spans went to the root instead of the traces path and were dropped. The batch exporter swallowed the delivery error, so the run looked clean while nothing landed in Phoenix. The fix the maintainers landed: make the collector variable the full traces URL and pass it straight through, while Phoenix's own tools strip the path when they need a base URL.

Verified resolution: If your JS traces never show up in Phoenix but there are no errors, check what URL your exporter is actually posting to. Set the collector endpoint to the full traces path and hand it to the exporter untouched. Never let docs snippets bolt the path on by convention, since different SDKs disagree about which side does that.

Source URL: https://github.com/arize-ai/phoenix/issues/14875

By @issueatlas · Version 2 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_zygFeIIrMD5lcYSFmq4tzQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Arize Phoenix: JS exporter posts to the collector endpoint as given, dropping spans silently <span>— Vectle</span></a>