Sentry-javascript: Paketgröße ist riesig

Erstellt am 30. Juni 2020  ·  12Kommentare  ·  Quelle: getsentry/sentry-javascript

Paket + Version

  • [x] @sentry/browser
  • [ ] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(Rabe für Knoten)_
  • [ ] andere:

Ausführung:

5.18.1

Beschreibung

Hallo. Kürzlich habe ich mir die Paketgröße meines Lieblingsprojekts angesehen und war schockiert über die Größe von @sentry/browser und seine Abhängigkeiten:

image

Es sieht so aus, als hätte es bereits einige Diskussionen über die Paketgröße gegeben (https://github.com/getsentry/sentry-javascript/issues/1552) und das Problem gilt als behoben, aber das ist einfach verrückt - @sentry/browser verbraucht mehr Platz als React! Ich verstehe, dass es viel darin gibt, einige Integrationen, Gruppierungslogik usw., aber gibt es einen winzigen Sentry-Client, den ich verwenden kann und der keine Welt kostet?

Discussion

Hilfreichster Kommentar

Hey, das ist also einer der wichtigsten Punkte auf unserer Roadmap zu v6, siehe: https://github.com/getsentry/sentry-javascript/issues/2817

Es wird nicht vor v6 passieren und dafür gibt es einige Gründe.
Um es kleiner zu machen, müssen wir viele interne Refactorings durchführen, die genau genommen Breaking Changes sind.

Auch wenn es aus Sicht der Nutzung keine bahnbrechenden Änderungen geben sollte (Syntax, SDK-API bleiben gleich), könnte es einige bahnbrechende Änderungen geben, wenn jemand beispielsweise seine eigene Integration geschrieben oder das SDK auf fortgeschrittenere Weise verwendet hat.

Wir werden das SDK baumstrukturierbarer machen und viel internen Glue-Code entfernen, der nicht dazu beiträgt, viele Funktionen hinzuzufügen.

Haben Sie Geduld mit uns, wir haben Sie gehört, und ich wollte Sie wissen lassen, dass dies ein Thema mit hoher Priorität für uns ist.

Alle 12 Kommentare

Dies scheint auch für Vue.js zu gelten. Die geparste Größe von Vue beträgt 64,4 kB, während Sentry insgesamt 68,0 kB groß ist (einschließlich der 6,1 kB Vue-Integration).

Einverstanden. Ich erwäge, unser Unternehmen auf Sentry umzustellen, aber das macht es zu einer schwer zu schluckenden Pille ... Selbst mit Tree-Shaking (Importieren von Sentry über import { init } from "@sentry/react" ) und dem einfachen Aufruf dieser Funktion sehen wir +66 KB vor Komprimierung in unserem Bundle - erschreckend hoch!

Bundlephobia berichtet auch von einer ziemlich großen Größe. https://bundlephobia.com/result?p=@sentry/react @5.20.0

eine schwer zu schluckende Pille...

Einverstanden, 20K gzipped ist eine TONNE, um nur grundlegende Unterstützung für die JS-Fehlerberichterstattung zu erhalten

Mir ist auch aufgefallen, dass Sentry Typoskript-Dateien zum Bundle hinzufügt: https://github.com/getsentry/sentry-javascript/issues/2789

Ja, für mich ist @sentry bereits 94kb minifiziert!

Verstehen Sie mich nicht falsch, ich liebe Sentry , aber ich stelle mir vor, dass dies nicht mehr als ein paar Kb sein sollte. Fast so groß wie React-Dom und größer als Victory (unsere d3-Diagrammbibliothek)!, aber nicht größer als Okta (das ist mein nächster Github-Problemstopp 😄)

Irgendwelche Neuigkeiten hier? Eine offizielle Sentry-Antwort wäre schön, da diese seit fast 3 Monaten geöffnet ist. 🙂 @kamilogorek @HazAT @lobsterkatie

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

Beim Upgrade von 5.25 -> 5.26 wurden noch ein paar KB hinzugefügt. Gibt es Hoffnung auf eine Veröffentlichung, die in die andere Richtung geht?

Hey, das ist also einer der wichtigsten Punkte auf unserer Roadmap zu v6, siehe: https://github.com/getsentry/sentry-javascript/issues/2817

Es wird nicht vor v6 passieren und dafür gibt es einige Gründe.
Um es kleiner zu machen, müssen wir viele interne Refactorings durchführen, die genau genommen Breaking Changes sind.

Auch wenn es aus Sicht der Nutzung keine bahnbrechenden Änderungen geben sollte (Syntax, SDK-API bleiben gleich), könnte es einige bahnbrechende Änderungen geben, wenn jemand beispielsweise seine eigene Integration geschrieben oder das SDK auf fortgeschrittenere Weise verwendet hat.

Wir werden das SDK baumstrukturierbarer machen und viel internen Glue-Code entfernen, der nicht dazu beiträgt, viele Funktionen hinzuzufügen.

Haben Sie Geduld mit uns, wir haben Sie gehört, und ich wollte Sie wissen lassen, dass dies ein Thema mit hoher Priorität für uns ist.

@HazAT super , danke, dass du uns das mitteilst

Gibt es eine Problemumgehung für die Verwendung von Sentry in AWS Lambda @ Edge mit der Größenbeschränkung von 1 MB? Die Abhängigkeiten sind viel zu groß geworden, und derzeit ist meine einzige Option, eine ältere Version von sentry/node zu verwenden. Wird das irgendwie angegangen?

@aleehedl Wir arbeiten an einer neuen Lösung für AWS Lambda, bei der Sie Sentry mit einem Layer hinzufügen können, anstatt das Sentry-Paket direkt zu verwenden. Die Größe der Ebene ist viel kleiner als 1 MB.

v6.0.0 wurde heute veröffentlicht, scheint aber keine Breaking Changes zu enthalten.
Ich sehe keine Reduzierung der Bundle-Größe, mein Webpack-Bundle ist mit v6 615 Bytes größer.
Es scheint, dass alle wichtigen Änderungen auf v7 (?) gepusht wurden.

Es scheint, dass alle wichtigen Änderungen auf v7 (?) gepusht wurden.

Ja. Wir brauchten einen großen Schub, um Sitzungen standardmäßig zu senden (siehe den entsprechenden Changelog-Eintrag ), und daher werden die wichtigsten Änderungen jetzt in v7 vorgenommen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen