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

[Bug]: upload in Jaeger UI appears to be broken #6517

Open
thoraxe opened this issue Jan 9, 2025 · 3 comments
Open

[Bug]: upload in Jaeger UI appears to be broken #6517

thoraxe opened this issue Jan 9, 2025 · 3 comments
Labels
bug good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement

Comments

@thoraxe
Copy link

thoraxe commented Jan 9, 2025

What happened?

I'm trying to upload spans via JSON for some spot-checking using the allinone container image. When I upload JSON, nothing appears to happen, but I do see a Javascript error in the browser console. I tested various versions all the way back to 1.22 and got similar behaviors.

Steps to reproduce

  1. podman run --rm -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778:5778 -p 16686:16686 -p 14268:14268 -p 14250:14250 -p 9411:9411 jaegertracing/all-in-one:1.65.0
  2. upload a JSON:
{"name": "preparing model and tools {run_step=}", "context": {"trace_id": "0x01944b70b37abc48df7d103455bc404f", "span_id": "0xf875ae17bca0f574", "trace_state": "[]"}, "kind": "SpanKind.INTERNAL", "parent_id": "0x89f0d05cbed0be00", "start_time": "2025-01-09T14:21:04.800962Z", "end_time": "2025-01-09T14:21:04.802617Z", "status": {"status_code": "UNSET"}, "attributes": {"code.filepath": "main.py", "code.lineno": 249, "run_step": 1, "logfire.msg_template": "preparing model and tools {run_step=}", "logfire.msg": "preparing model and tools run_step=1", "logfire.json_schema": "{\"type\":\"object\",\"properties\":{\"run_step\":{}}}", "logfire.span_type": "span"}, "events": [], "links": [], "resource": {"attributes": {"service.instance.id": "cda71d39feed4d78b958c7022cf83087", "telemetry.sdk.language": "python", "telemetry.sdk.name": "opentelemetry", "telemetry.sdk.version": "1.29.0", "service.name": "unknown_service", "process.pid": 522311, "service.version": "fa31930aa2ae597b14fff92937291a42e720da4f"}, "schema_url": ""}}

Expected behavior

Should be able to view this trace data

Relevant log output

The container never logs anything because the browser javascript error prevents the upload from completing (as best I can tell)

Screenshot

No response

Additional context

index-DxPyhIOI.js:138 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'map')
    at loadJsonDone (index-DxPyhIOI.js:138:177532)
    at index-DxPyhIOI.js:106:2452495
    at index-DxPyhIOI.js:106:2453006
    at Array.reduce (<anonymous>)
    at index-DxPyhIOI.js:106:2452976
    at index-DxPyhIOI.js:106:2453625
    at index-DxPyhIOI.js:106:186163
    at T (index-DxPyhIOI.js:106:185024)
    at index-DxPyhIOI.js:138:160024
    at index-DxPyhIOI.js:138:181231

FWIW here's the browser error when using 1.22:

trace.js:134 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'map')
    at trace.js:134:34
    at handleAction.js:35:1
    at index.js:26:1
    at Array.reduce (<anonymous>)
    at index.js:25:1
    at handleActions.js:25:1
    at combineReducers.js:129:1
    at y (createStore.js:166:1)
    at middleware.js:13:1
    at index.js:80:1
(anonymous)	@	trace.js:134
(anonymous)	@	handleAction.js:35
(anonymous)	@	index.js:26
(anonymous)	@	index.js:25
(anonymous)	@	handleActions.js:25
(anonymous)	@	combineReducers.js:129
y	@	createStore.js:166
(anonymous)	@	middleware.js:13
(anonymous)	@	index.js:80
(anonymous)	@	index.js:45
(anonymous)	@	index.js:37
dispatch	@	applyMiddleware.js:46
(anonymous)	@	index.js:175
Promise.then		
(anonymous)	@	index.js:212
(anonymous)	@	index.js:45
(anonymous)	@	index.js:37
(anonymous)	@	bindActionCreators.js:3
loadJsonTraces	@	index.js:109
(anonymous)	@	AjaxUploader.js:155
Promise.then		
value	@	AjaxUploader.js:152
(anonymous)	@	AjaxUploader.js:122
setTimeout		
value	@	AjaxUploader.js:121
(anonymous)	@	AjaxUploader.js:74
r.uploadFiles	@	AjaxUploader.js:71
r.onChange	@	AjaxUploader.js:36
(anonymous)	@	react-dom.production.min.js:49
p	@	react-dom.production.min.js:69
(anonymous)	@	react-dom.production.min.js:73
O	@	react-dom.production.min.js:140
T	@	react-dom.production.min.js:169
C	@	react-dom.production.min.js:158
A	@	react-dom.production.min.js:232
En	@	react-dom.production.min.js:1718
Nu	@	react-dom.production.min.js:5990
De	@	react-dom.production.min.js:660
Tn	@	react-dom.production.min.js:1760

Jaeger backend version

1.65.0

SDK

N/A

Pipeline

N/A

Stogage backend

none (allinone)

Operating system

Fedora

Deployment model

Container (see above)

Deployment configs

See above
@thoraxe thoraxe added the bug label Jan 9, 2025
@yurishkuro yurishkuro added help wanted Features that maintainers are willing to accept but do not have cycles to implement good first issue Good for beginners labels Jan 9, 2025
@yurishkuro
Copy link
Member

The expected behavior in this case is a clear error message displayed to the user. The file that is being uploaded is not in a format that Jaeger supports (I don't even recognize what format it is), which is either Jaeger JSON or OTLP JSON. So the fact that the UI spins and logs errors to a console is an indication of some error checking lacking in the upload functionality.

@yurishkuro
Copy link
Member

@thoraxe thanks for filing the ticket.

@thoraxe
Copy link
Author

thoraxe commented Jan 9, 2025

No problem. The output was using the Console exporter, which may not be exporting valid OTLP, but also is from the Logfire project, so there could be lots of mess in between.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug good first issue Good for beginners help wanted Features that maintainers are willing to accept but do not have cycles to implement
Projects
None yet
Development

No branches or pull requests

2 participants