Sentry-javascript: La taille du paquet est énorme

Créé le 30 juin 2020  ·  12Commentaires  ·  Source: getsentry/sentry-javascript

Paquet + version

  • [x] @sentry/browser
  • [ ] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(corbeau pour nœud)_
  • [ ] autre:

Version:

5.18.1

La description

Salut. Récemment, j'ai examiné la taille de mon projet pour animaux de compagnie et j'ai été choqué par la taille de @sentry/browser et de ses dépendances :

image

Il semble qu'il y ait déjà eu des discussions autour de la taille du package (https://github.com/getsentry/sentry-javascript/issues/1552) et le problème est considéré comme résolu, mais c'est tout simplement fou - @sentry/browser consomme plus d'espace que React ! Je comprends qu'il y a beaucoup de choses, des intégrations, une logique de regroupement, etc., mais y a-t-il un petit client Sentry que je peux utiliser et qui ne coûte pas un monde ?

Discussion

Commentaire le plus utile

Hé, c'est donc l'un des éléments les plus importants de notre feuille de route vers la v6, voir : https://github.com/getsentry/sentry-javascript/issues/2817

Cela n'arrivera pas avant la v6 et il y a plusieurs raisons à cela.
Afin de le rendre plus petit, nous devons faire beaucoup de refactorings internes, qui à proprement parler, sont des changements de rupture.

Même si du point de vue de l'utilisation, il ne devrait pas y avoir de changement avec rupture (la syntaxe, l'API SDK restera la même), si quelqu'un, par exemple, a écrit sa propre intégration ou utilisé le SDK de manière plus avancée, il peut y avoir des changements avec rupture.

Nous rendrons le SDK plus arborescent et supprimerons une grande partie du code interne qui ne contribue pas à l'ajout de nombreuses fonctionnalités.

Soyez indulgents avec nous, nous vous entendons et je voulais vous faire savoir que c'est une question hautement prioritaire pour nous.

Tous les 12 commentaires

Cela semble également vrai pour Vue.js. La taille analysée de Vue est de 64,4 Ko, tandis que Sentry est de 68,0 Ko combinés (y compris l'intégration Vue de 6,1 Ko).

D'accord. J'envisage de déplacer notre entreprise vers Sentry, mais cela en fait une pilule difficile à avaler ... Même avec le tremblement des arbres (importation de Sentry via import { init } from "@sentry/react" ) et en appelant simplement cette fonction, nous voyons +66kb avant la compression dans notre bundle - incroyablement élevé !

Bundlephobia signale également une taille assez énorme. https://bundlephobia.com/result?p=@sentry/react @5.20.0

une pilule dure à avaler...

D'accord, 20K gzippé est une tonne pour obtenir simplement une prise en charge de base des rapports d'erreurs JS

J'ai également remarqué que Sentry ajoute des fichiers dactylographiés au bundle : https://github.com/getsentry/sentry-javascript/issues/2789

Ouais pour moi @sentry est 94kb déjà minifié !

Ne vous méprenez pas, j'adore Sentry , mais j'imagine que cela ne devrait pas dépasser quelques Ko. Presque aussi gros que react-dom et plus gros que Victory (notre bibliothèque de graphiques d3) !, mais pas plus gros qu'Okta (qui est mon prochain arrêt des problèmes de github 😄 )

Des nouvelles ici? Une réponse officielle de Sentry serait bien car elle est ouverte depuis près de 3 mois. 🙂 @kamilogorek @HazAT @lobsterkatie

Screen Shot 2020-10-17 at 12 40 15 PM

Il y a encore quelques Ko ajoutés dans la mise à jour 5.25 -> 5.26. Un espoir pour une sortie qui ira dans l'autre sens ?

Hé, c'est donc l'un des éléments les plus importants de notre feuille de route vers la v6, voir : https://github.com/getsentry/sentry-javascript/issues/2817

Cela n'arrivera pas avant la v6 et il y a plusieurs raisons à cela.
Afin de le rendre plus petit, nous devons faire beaucoup de refactorings internes, qui à proprement parler, sont des changements de rupture.

Même si du point de vue de l'utilisation, il ne devrait pas y avoir de changement avec rupture (la syntaxe, l'API SDK restera la même), si quelqu'un, par exemple, a écrit sa propre intégration ou utilisé le SDK de manière plus avancée, il peut y avoir des changements avec rupture.

Nous rendrons le SDK plus arborescent et supprimerons une grande partie du code interne qui ne contribue pas à l'ajout de nombreuses fonctionnalités.

Soyez indulgents avec nous, nous vous entendons et je voulais vous faire savoir que c'est une question hautement prioritaire pour nous.

@HazAT génial, merci de nous l'avoir fait savoir

Existe-t-il une solution de contournement pour utiliser Sentry dans AWS Lambda @ Edge avec la restriction de taille de 1 Mo ? Les dépendances sont devenues beaucoup trop importantes, et actuellement ma seule option est d'utiliser une ancienne version de sentry/node . Est-ce que cela est traité d'une manière ou d'une autre?

@aleehedl Nous travaillons sur une nouvelle solution pour AWS Lambda où vous pouvez ajouter Sentry avec une couche au lieu d'utiliser directement le package Sentry. La taille de la couche est bien inférieure à 1 Mo.

v6.0.0 a été publié aujourd'hui, mais il ne semble pas inclure de modifications majeures.
Je ne vois aucune réduction de taille de bundle, mon bundle webpack est plus grand de 615 octets avec la v6.
Il semble que tous les changements majeurs aient été poussés vers la v7 (?).

Il semble que tous les changements majeurs aient été poussés vers la v7 (?).

Oui. Nous avions besoin d'une bosse majeure pour envoyer des sessions par défaut (voir l' entrée correspondante du journal des modifications ), et donc les changements majeurs se produiront désormais dans la v7.

Cette page vous a été utile?
0 / 5 - 0 notes