Pyroscope 2.0 của Grafana: Đưa Continuous Profiling trở nên thực tế ở quy mô lớn
Grafana Labs đã tung ra Pyroscope 2.0, phiên bản tái thiết kế hoàn toàn cơ sở dữ liệu continuous profiling mã nguồn mở. Bản cập nhật này cải thiện đáng kể chi phí lưu trữ, hiệu suất truy vấn và độ phức tạp vận hành, đồng thời hỗ trợ giao thức OpenTelemetry.

Grafana Labs đã phát hành Pyroscope 2.0, một phiên bản tái thiết kế hoàn toàn (rearchitecture) cơ sở dữ liệu continuous profiling (hồ sơ liên tục) mã nguồn mở. Bản phát hành, được công bố vào ngày 21 tháng 4 năm 2026, giải quyết các vấn đề về chi phí lưu trữ, hiệu suất truy vấn và độ phức tạp vận hành đã tích tụ trong thiết kế ban đầu.
Continuous profiling được xem là cột trụ thứ tư trong ngăn xếp observability (khả năng quan sát), bên cạnh metrics (số liệu), logs (nhật ký) và traces (dấu vết). Trong khi metrics báo cáo các vấn đề như mức sử dụng CPU cao và traces chỉ ra dịch vụ nào đang gây tắc nghẽn, thì profile đi sâu hơn, xác định chính xác hàm nào và dòng code nào đang tiêu tốn tài nguyên.
Christian Simon, kỹ sư tại Grafana Labs, cho biết sự phân biệt này rất quan trọng khi hệ thống ngày càng phức tạp, vì đây là mức độ chi tiết cần thiết để thực hiện các tối ưu hóa có mục tiêu thay vì chỉ đơn giản là thêm phần cứng.
"Continuous profiling ghi lại những khoảnh khắc này khi chúng diễn ra, vì vậy bạn không phải dựa vào may mắn khi sử dụng trình gỡ lỗi (debugger)."
Tái thiết kế kiến trúc để tối ưu hóa chi phí và hiệu suất
Pyroscope ban đầu được xây dựng dựa trên Cortex, cùng nền tảng mà Mimir và Loki sử dụng trong các phiên bản đầu tiên, nhưng cả ba dự án này đều đã chuyển hướng. Pyroscope 2.0 áp dụng các nguyên tắc kiến trúc tương tự như Mimir đã thực hiện: loại bỏ sao chép đường ghi (write-path replication), tách biệt đọc khỏi ghi và biến object storage (lưu trữ đối tượng) thành nguồn sự thật duy nhất.
Kiến trúc Pyroscope v2
Giảm chi phí đáng kể nhất đến từ việc loại bỏ sao chép đường ghi. Trong phiên bản 1.0, mỗi profile được ghi ba lần. Vì một profile có thể lên đến hàng chục megabyte, việc nhân bản 3 lần này ảnh hưởng lớn đến hóa đơn lưu trữ. Pyroscope 2.0 ghi mỗi profile một lần vào object storage.
Tiết kiệm thứ hai đến từ việc đồng vị trí dữ liệu (data co-location): các profile từ cùng một dịch vụ được lưu trữ cùng nhau, cho phép loại bỏ trùng lặp thông tin biểu tượng như tên hàm, vị trí nguồn và stack trace. Theo Simon, điều này đã giảm dung lượng lưu trữ biểu tượng lên tới 95% trong môi trường sản xuất của chính Grafana.
Xử lý truy vấn không trạng thái (Stateless)
Đường đọc (read path) cũng được thiết kế lại. Trong v1, xử lý truy vấn diễn ra bên trong các thành phần có trạng thái (stateful) không thể mở rộng linh hoạt, nghĩa là dung lượng phải được dành riêng cho tải đỉnh điểm ngay cả khi không sử dụng. Pyroscope 2.0 biến toàn bộ đường đọc thành không trạng thái: bất kỳ trình truy vấn nào cũng có thể xử lý bất kỳ truy vấn nào, và số lượng trình truy vấn có thể điều chỉnh theo nhu cầu.
Simon lưu ý rằng profiling có mô hình truy cập theo đợt (bursty), không có lưu lượng cơ bản đáng kể nhưng sử dụng đồng thời nặng nề trong các sự cố. Ông cũng quan sát thấy rằng các tác nhân AI (LLM agents) ngày càng truy vấn dữ liệu profiling như một phần của các cuộc điều tra tự động.
"Với các trình truy vấn không trạng thái, hệ thống có thể xử lý các đợt tăng vọt này một cách nhẹ nhàng mà không phải trả tiền cho dung lượng nhàn rỗi trong phần còn lại của thời gian."
Về mặt vận hành, ít thành phần có trạng thái hơn có nghĩa là ít chế độ thất bại hơn và triển khai nhanh hơn. Simon viết rằng các lần triển khai mất 8-12 giờ ở v1 giờ đây hoàn thành trong vài phút.
Các tính năng mới và hỗ trợ OpenTelemetry
Kiến trúc mới cũng cho phép các khả năng không khả thi trong v1, bao gồm:
- Các số liệu (metrics) có nguồn gốc từ profile, tổng hợp dữ liệu profiling thành các so sánh trên toàn hệ thống.
- Khả năng kiểm tra một phiên bản profile đơn lẻ thay vì chỉ các tổng hợp.
- Các truy vấn heatmap để trực quan hóa phân phối profile theo thời gian.
Pyroscope 2.0 bao gồm hỗ trợ nguyên bản cho Giao thức OpenTelemetry (OTLP) cho profiling, cho phép các nhóm nhập profile thông qua đường ống OpenTelemetry tiêu chuẩn. Điều này phù hợp với xu hướng hiện nay khi OpenTelemetry đã kết hợp continuous profiling làm tín hiệu đo lường cốt lõi.
Grafana Cloud Profiles, phiên bản được lưu trữ chạy trên Pyroscope, đã chạy kiến trúc 2.0 trong môi trường sản xuất kể từ tháng 4 năm 2025. Grafana đã triển khai cho mọi khu vực vào tháng 9 năm 2025 và kể từ đó đã xử lý 19,5PB dữ liệu profiling.
Đối với các nhóm tự chạy Pyroscope, thay đổi chính khi nâng cấp từ v1 là yêu cầu object storage cho các triển khai phân tán, vì giờ đây nó là nguồn sự thật duy nhất cho tất cả dữ liệu profile.
Bài viết liên quan

Phần mềm
Intel và AMD vá tổng cộng 70 lỗ hổng bảo mật trong Patch Tuesday tháng 5
13 tháng 5, 2026

Phần mềm
Plugin Checkmarx Jenkins bị xâm phạm trong cuộc tấn công chuỗi cung ứng
11 tháng 5, 2026

Công nghệ
Substrate (YC S24) tuyển dụng Technical Success Manager cho nền tảng AI chuyên xử lý thanh toán y tế
13 tháng 5, 2026
