Data Limit/Inefficient data transfer of chart data (options) to the browser
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, nodejs
- Área
- backend
Línea de trabajo
Reproduce el fallo con un gráfico que contenga 3 millones de puntos de datos y, a continuación, investiga el fallo del exporter y la transferencia JSON duplicada descritos en el informe. La tarea estará completada cuando los datos de gráficos grandes ya no provoquen un fallo al alcanzar el límite de transferencia y el servicio registre el motivo específico cuando se supere el límite.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Expected behavior
The export server should handle large amounts of data. The technical limitation is likely due to the Chrome DevTools protocol implementation, which is capped at 100 MB. This allows for approximately 12,979,200 data points to be transferred (assuming double precision at 8 bytes per point). However, some bytes should be reserved for other settings within the options object.
Additionally, the exporter crashes without a proper error message when the 100 MB limit is exceeded.
Actual behavior
Data is transferred as a string representation of the JSON object, which consumes more than twice the amount of data per data point. We are currently observing a limit of around 2,550,000 data points, resulting in a JSON string of roughly 100 MB. I expected it to be around 50 MB, but the data appears redundant in the transferred message (data.params.arguments[1].value.export.options and data.params.arguments[1].value.export.strInj).
The exporter should not crash when the limit is exceeded. Instead, it should log the specific reason.
One potential solution could be to serialize the JSON to BSON, transfer it as binary data, and then deserialize it back to JSON on the client side.
Reproduction steps
Render a chart with 3 million data points and observe the service crashing.
- Lenguaje dominante
- JavaScript
- Estrellas
- 368
- Forks
- 265
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de highcharts/node-export-server
-
Update Puppeteer to version 25.11.0+ to allow ARM64 linux images to run node-export-serverPosiblemente ocupada @daniatic la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
highcharts/node-export-server#686 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
highcharts/node-export-server#680 · 1 comentario ·
-
How to get a response statusAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
highcharts/node-export-server#679 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
highcharts/node-export-server#678 ·
-
Not working on s390xAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 30/100
highcharts/node-export-server#676 ·
Todos los issues de highcharts/node-export-server
Issues similares
-
bug(sight): the dashboard's text truncations split surrogate pairs and show broken charactersAbiertocomponent:sight
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
agentic-os-org/ANOLISA#6738 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
bug Durable Agents Observability (AI Telemetry) status: needs triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
mastra-ai/mastra#26470 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
feature/cohorts feature/feature-flags team/feature-flags
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
documentation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Orbit-xyz/orbit-docs#11 ·
-
area/build area/tech debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días