Lập trình Go 22/09/2026 11 phút

Metrics với Prometheus client trong Go: counter, gauge, histogram và chi phí đo

Trace chẩn đoán một request; metrics trả lời hệ thống có khỏe không. Bài mổ xẻ ba loại metric Prometheus trong Go, vì sao histogram hơn hẳn trung bình, và đo thật chi phí: mọi thao tác 0 cấp phát, nhưng WithLabelValues tra cứu nhãn tốn 24 ns mỗi lần — cache handle về 1.7 ns.

Lập trình Go 22/09/2026 11 phút

Tiny allocator của Go: gộp object nhỏ để một byte chỉ tốn một byte

Object tí hon rất phổ biến nhưng cấp mỗi cái một slot 8-16 byte quá phí. Tiny allocator gộp object dưới 16 byte không con trỏ vào chung khối 16B. Đo thật: object 1-byte nén xuống đúng 1.0 B mỗi cái (thắng 8 lần), nhưng cùng cỡ mà có con trỏ thì không được gộp. Go 1.23.

Công cụ 22/09/2026 6 phút

cherry-pick và detached HEAD: bê một commit lẻ, và vì sao HEAD rời không đáng sợ

Bạn chỉ muốn một commit hotfix từ nhánh tính năng sang main, không phải cả nhánh — đó là cherry-pick. Và trạng thái detached HEAD mà bisect/checkout hay đẩy bạn vào khiến nhiều người hoảng. Bài này đo thật: cherry-pick tạo commit mới cùng nội dung khác SHA, và một commit tạo trong detached HEAD mất hay được cứu tùy bạn có đặt tên nhánh hay không.