Sentry-javascript: Ukuran paket sangat besar

Dibuat pada 30 Jun 2020  ·  12Komentar  ·  Sumber: getsentry/sentry-javascript

Paket + Versi

  • [x] @sentry/browser
  • [ ] @sentry/node
  • [ ] raven-js
  • [ ] raven-node _(gagak untuk simpul)_
  • [ ] lainnya:

Versi: kapan:

5.18.1

Keterangan

Hai. Baru-baru ini saya melihat ukuran bundel proyek hewan peliharaan saya dan terkejut dengan ukuran @sentry/browser dan dependensinya:

image

Sepertinya sudah ada beberapa diskusi seputar ukuran paket (https://github.com/getsentry/sentry-javascript/issues/1552) dan masalahnya dianggap telah diperbaiki tetapi ini hanya gila - @sentry/browser menghabiskan lebih banyak ruang daripada Bereaksi! Saya mengerti ada banyak hal di dalamnya, beberapa integrasi, logika pengelompokan dll, tetapi apakah ada klien Sentry kecil yang dapat saya gunakan yang tidak memerlukan biaya besar?

Discussion

Komentar yang paling membantu

Hei, jadi ini adalah salah satu item terpenting di peta jalan kami ke v6, lihat: https://github.com/getsentry/sentry-javascript/issues/2817

Itu tidak akan terjadi sebelum v6 dan ada beberapa alasan untuk itu.
Untuk membuatnya lebih kecil, kita perlu melakukan banyak refactoring internal, yang secara tegas melanggar perubahan.

Meskipun dari sudut pandang penggunaan seharusnya tidak ada perubahan yang mengganggu (sintaks, SDK API akan tetap sama), jika seseorang misalnya menulis integrasi mereka sendiri atau menggunakan SDK dengan cara yang lebih maju, mungkin ada beberapa perubahan yang mengganggu.

Kami akan membuat SDK lebih mudah digoyahkan dan menghapus banyak kode lem internal yang tidak berkontribusi pada penambahan banyak fungsi.

Bersabarlah, kami mendengar Anda dan saya ingin memberi tahu Anda bahwa ini adalah masalah prioritas tinggi bagi kami.

Semua 12 komentar

Hal ini tampaknya berlaku untuk Vue.js juga. Ukuran parsing Vue adalah 64,4 kB, sedangkan Sentry adalah gabungan 68,0 kB (termasuk Integrasi Vue 6,1 kB).

Sepakat. Saya sedang mempertimbangkan untuk memindahkan perusahaan kami ke Sentry tetapi ini membuatnya menjadi pil yang sulit untuk ditelan... Bahkan dengan goyangan pohon (mengimpor Sentry melalui import { init } from "@sentry/react" ) dan hanya memanggil fungsi itu, kami melihat +66kb sebelum kompresi dalam bundel kami - sangat tinggi!

Bundlephobia juga melaporkan ukuran yang cukup besar. https://bundlephobia.com/result?p=@sentry/react @5.20.0

pil yang sulit ditelan...

Setuju, 20K gzip adalah TON untuk hanya mendapatkan dukungan pelaporan kesalahan JS dasar

Saya juga memperhatikan bahwa penjaga menambahkan file TypeScript ke bundel: https://github.com/getsentry/sentry-javascript/issues/2789

Ya bagi saya @sentry adalah 94kb sudah diperkecil!

Jangan salah paham, saya suka Sentry , tapi saya membayangkan ini tidak boleh lebih dari beberapa Kb. Hampir sebesar react-dom dan lebih besar dari Victory (perpustakaan bagan d3 kami)!, tetapi tidak lebih besar dari Okta (yang merupakan pemberhentian masalah github saya berikutnya )

Ada berita di sini? Tanggapan Sentry resmi akan menyenangkan karena ini telah dibuka selama hampir 3 bulan. @kamilogorek @HazAT @lobsterkatie

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

Ada beberapa kb lain yang ditambahkan dalam peningkatan 5.25 -> 5.26. Adakah harapan untuk rilis yang mengarah ke arah lain?

Hei, jadi ini adalah salah satu item terpenting di peta jalan kami ke v6, lihat: https://github.com/getsentry/sentry-javascript/issues/2817

Itu tidak akan terjadi sebelum v6 dan ada beberapa alasan untuk itu.
Untuk membuatnya lebih kecil, kita perlu melakukan banyak refactoring internal, yang secara tegas melanggar perubahan.

Meskipun dari sudut pandang penggunaan seharusnya tidak ada perubahan yang mengganggu (sintaks, SDK API akan tetap sama), jika seseorang misalnya menulis integrasi mereka sendiri atau menggunakan SDK dengan cara yang lebih maju, mungkin ada beberapa perubahan yang mengganggu.

Kami akan membuat SDK lebih mudah digoyahkan dan menghapus banyak kode lem internal yang tidak berkontribusi pada penambahan banyak fungsi.

Bersabarlah, kami mendengar Anda dan saya ingin memberi tahu Anda bahwa ini adalah masalah prioritas tinggi bagi kami.

@HazAT luar biasa, terima kasih telah memberi tahu kami

Apakah ada solusi untuk menggunakan Sentry di AWS Lambda @ Edge dengan batasan ukuran 1 MB? Ketergantungan telah tumbuh terlalu besar, dan saat ini satu-satunya pilihan saya adalah menggunakan versi lama sentry/node . Apakah ini sedang ditangani entah bagaimana?

@aleehedl Kami sedang mengerjakan solusi baru untuk AWS Lambda di mana Anda dapat menambahkan Sentry dengan lapisan alih-alih menggunakan paket Sentry secara langsung. Ukuran layer jauh lebih kecil dari ukuran 1 MB.

v6.0.0 dirilis hari ini tetapi tampaknya tidak menyertakan perubahan yang melanggar.
Saya tidak melihat pengurangan ukuran bundel, bundel webpack saya 615 byte lebih besar dengan v6.
Tampaknya semua perubahan besar didorong ke v7 (?).

Tampaknya semua perubahan besar didorong ke v7 (?).

Ya. Kami membutuhkan benjolan besar untuk mengirim sesi secara default (lihat entri changelog yang sesuai), dan oleh karena itu perubahan besar sekarang akan terjadi di v7.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat