happytails.ai
Bahasa Indonesia

Pemeriksa Kompatibilitas Protobuf

Bandingkan dua versi berkas .proto dan temukan perubahan yang merusak pesan yang sudah ditulis dalam format wire atau JSON. Nomor yang dihapus, perubahan jenis, nama field yang berubah, dan perubahan enum dijelaskan satu per satu.

Menerima dua berkas .proto hingga 1,000,000 karakter masing-masing, paling banyak 200,000 token, 2,000 pesan dan enum, 10,000 field per pesan, serta pesan bertingkat hingga 32 tingkat. Perbandingan berjalan di browser dalam worker latar belakang. Unduhan berupa laporan JSON dan daftar temuan CSV. Versi yang digunakan untuk menulis data yang ada. Letakkan berkas yang berubah di New schema. Maksimal 1.000.000 karakter. Tinjau pengaturan sebelum menjalankan.

Hasil Anda

Laporkan masalah atau bagikan ide.

Pemeriksa Kompatibilitas Protobuf
  1. Tempel berkas .proto lama di kotak utama.
  2. Tempel versi baru di field New schema.
  3. Jalankan pemeriksaan dan tinjau temuan, dimulai dari yang paling parah.
  4. Unduh laporan JSON atau daftar CSV.

Yang perlu diketahui

Menerima dua berkas .proto hingga 1,000,000 karakter masing-masing, paling banyak 200,000 token, 2,000 pesan dan enum, 10,000 field per pesan, serta pesan bertingkat hingga 32 tingkat. Perbandingan berjalan di browser dalam worker latar belakang. Unduhan berupa laporan JSON dan daftar temuan CSV.

Tingkat keparahan

Perubahan yang merusak kompatibilitas berarti program lama dan baru dapat salah membaca pesan biner: field yang dihapus tanpa menandai nomornya sebagai reserved, penggunaan kembali nomor dari rentang reserved, jenis dengan pengodean wire yang berbeda, perubahan antara tunggal dan berulang, pesan atau enum yang dihapus, atau nomor nilai enum yang diubah. Perubahan JSON yang merusak kompatibilitas berarti data biner tetap berfungsi tetapi format JSON atau teks berubah, misalnya nama field atau nilai enum berubah. Peringatan mencakup perubahan yang tetap berfungsi pada wire tetapi dapat memotong atau menafsirkan ulang nilai, seperti int32 menjadi int64, atau perpindahan masuk dan keluar dari oneof.

Cara membandingkan

Pesan dan enum dicocokkan berdasarkan nama tanpa paket, sedangkan field dicocokkan berdasarkan nomor, mengikuti panduan bahasa protobuf untuk memperbarui jenis pesan. Pesan dan enum bertingkat di dalam pesan lain juga dibandingkan.

Yang tidak didukung

Parser membaca berkas proto2 dan proto3 yang berisi pesan, enum, oneof, map, jenis bersarang, nomor dan nama reserved, serta opsi field. Import dicantumkan tetapi tidak diuraikan, sehingga jenis dari berkas lain hanya dibandingkan berdasarkan nama. Editions, grup, dan ekstensi ditolak. Service dilewati.

Langkah berikutnya