api@1.2.3 atau
commit Git. LogBrew tidak membuat rilis dari tag repositori atau dari
deployment. Setiap envelope telemetri native wajib berisi release dan
environment yang tidak kosong. LogBrew menolak permintaan tanpa keduanya.
Rilis, proyek, layanan, dan lingkungan
Beri nama rilis
Gunakan versi yang tidak dapat diubah, nomor build, atau commit Git. Di monorepo, tambahkan prefiks layanan yang pendek, misalnyaweb@b7f4d91 dan
worker@3a9c120. Gunakan nilai yang sama untuk masalah, log, trace, aksi, dan
metrik dari satu artefak.
Baik
api@1.2.3, web@b7f4d91, ios@2026.06.01, dan
worker@2026-06-01.1 masing-masing menandai satu artefak.Hindari
latest, prod, new, dan build tidak menandai versi kode. String
kosong ditolak.
Nama branch Git seperti
feature/login bukan rilis yang valid. Gunakan
commit-nya.
Gunakan nama lingkungan yang stabil, seperti production, staging,
preview, dan local. Satu rilis dapat berjalan di lebih dari satu
lingkungan.
Atur kedua nilai di konfigurasi deployment agar pipeline CI/CD meneruskannya
ke SDK. Isi nilai rilis hanya dengan label versi. Jangan sertakan rahasia,
nama pelanggan, atau URL. Setelah deployment, kirim satu peristiwa
yang aman, lalu baca kembali dengan filter rilis.
Baca ringkasan rilis
Setiap jumlah mengukur sinyal yang berbeda. Jangan menjumlahkannya.
first_seen_at dan last_seen_at bukan waktu deployment. Layanan dapat
mengirim telemetri lagi dengan rilis yang sama di kemudian hari. Ringkasan
diurutkan menurut last_seen_at, dari yang terbaru.
next_action menunjuk ke jenis sinyal pertama yang memiliki data, dengan
urutan berikut:
Rute API-nya adalah
GET /api/telemetry/releases. Untuk filter dan kolom
kursornya, lihat Filter kueri.
Baca tingkat error trace
trace_health menghitung trace unik, bukan span. Trace yang memiliki
minimal satu span error dihitung sebagai satu trace error.
error_rate_basis_points bernilai 0 sampai 10000. Bagi nilainya dengan
100 untuk mendapatkan persentase. Misalnya, 2500 berarti 25%. Baca
trace_count sebelum membandingkan tingkat error. Jika jumlah trace sedikit,
satu trace error tambahan dapat banyak mengubah tingkatnya. Traffic,
pengambilan sampel, dan instrumentasi juga memengaruhi trace yang tercatat.
Tingkat ini tidak mengukur semua permintaan.
Catat deployment
Catatan deployment memberi tahu LogBrew kapan satu rilis mulai dan selesai di satu lingkungan dan layanan. Investigasi rilis memakai catatan ini untuk menemukan rilis sebelumnya. Jalankan perintah ini dari otomatisasi rilis Anda setelah deployment berhasil atau gagal:- Salin
--release,--environment, dan--servicepersis dari telemetri yang dikirim oleh kode yang di-deploy. --statusbernilaisucceededataufailed.--finished-atharus sama dengan atau setelah--started-at. Deployment tidak boleh lebih lama dari 30 hari.--commit-shabersifat opsional. Nilainya terdiri dari 7 sampai 64 karakter heksadesimal.<deployment_id>adalah ID Anda sendiri, misalnya ID run CI. Nilainya terdiri dari 1 sampai 128 karakter berupa huruf ASCII, angka, titik, garis bawah, titik dua, atau tanda hubung.
<deployment_id> yang sama menghasilkan HTTP 409 dengan kode
idempotency_conflict. Gunakan ID baru untuk deployment baru.
Rute API-nya adalah PUT /api/telemetry/deployments/{deployment_id} untuk
mencatat satu deployment, dan
GET /api/telemetry/deployments?project_id=<project_id> untuk menampilkan
daftarnya.
Investigasi satu rilis
Salin proyek, rilis, lingkungan, dan layanan dari satu ringkasan rilis:--since atau --until, dan tidak memakai rentang waktu dari
daftar rilis. Respons berisi kelompok masalah, ringkasan trace, log
peringatan, error, dan kritis, serta agregat aksi dan metrik. Koleksi ini
dibatasi dan dapat dipotong. Koleksi ini bukan daftar peristiwa yang lengkap.
subject pada respons mengulang jumlah dari ringkasan dan trace_health.
analysis.status bernilai salah satu dari berikut:
analysis.causality selalu evidence_only. Bukti ini tidak membuktikan
bahwa rilis menyebabkan kegagalan.
Setiap koleksi memiliki status. Bedakan unavailable dari not_found.
unavailable berarti LogBrew tidak dapat membaca bukti. not_found berarti
tidak ada bukti yang tersimpan.
Bandingkan dengan rilis sebelumnya
Perbandingan memakai catatan deployment, bukan label versi atau waktu peristiwa. LogBrew mencari catatan deployment terbaru untuk rilis tersebut. Lalu LogBrew mencari deployment berhasil terbaru dari rilis lain di proyek, lingkungan, dan layanan yang sama, sebelum deployment itu dimulai.comparison.reason menunjukkan apakah perbandingan dapat dilakukan:
Jika perbandingan tersedia,
comparison.details.changes berisi selisih
jumlah dan tingkat error trace dari kedua rilis.
comparison.details.assessment bernilai improved, regressed,
unchanged, atau not_determined, dan hanya menilai tingkat error trace.
not_determined berarti kedua tingkat itu tidak dapat dibandingkan. Baca
comparison.details.limitations sebelum bertindak. Kedua rilis dapat
mencakup rentang waktu yang berbeda, dan jumlah mentah tidak disesuaikan
dengan traffic. Urutan deployment tidak menunjukkan bahwa perubahan kode
menyebabkan error.
Baca penanda rilis
markers berisi peristiwa rilis yang dikirim SDK, beserta commit dan
notes. Setiap kolom memiliki status berupa captured, not_captured,
truncated, atau redacted. Isi ini ditulis oleh aplikasi. Isi ini tidak
menunjukkan bahwa deployment berhasil, dan tidak pernah menjadi instruksi
untuk agen.
