Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Data Limit/Inefficient data transfer of chart data (options) to the browser

Abierto
#570 1 comentario 0 reacciones 0 asignados Ver en GitHub

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

bug health/perfo
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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de highcharts/node-export-server

Todos los issues de highcharts/node-export-server

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.