Link cache-hits to the trace that filled the cache entry
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- observability
Hướng nghiên cứu
Bắt đầu bằng cách xác định các đường dẫn set và get của cache handler và xem xét quyết định transport trong phần 3.2, sau đó kiểm tra hành vi round-trip của prototype hiện có. Thêm một trường hợp miss/hit end-to-end và xác minh rằng giao dịch hit hiển thị span link cache_origin một cách độc lập với flat bridge attribute.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Example: a product page uses
async function getProducts() {
'use cache';
cacheLife('hours');
return db.query('SELECT * FROM products');
}
Visitor A at 09:00 misses. The DB query runs, 800 ms, trace A. Visitor B at 14:00 gets a 2 ms hit and complains about yesterday's price. B's trace shows a fast green cache.get and nothing else. Trace A, where the content came from, cannot be found from B.
Solves: you can navigate from any cache hit to the render that produced the content. One bad render can serve thousands of visitors, and today the render is the one trace you cannot reach.
Fix idea: at handler set, store the active trace context keyed by cache-key digest (mechanism per the transport decision, 3.2). At a get hit, always attach a real span link: span.addLink() with sentry.link.type: 'cache_origin' pointing at the fill span. The link is unconditional and the durable data model; it renders in the span drawer today and needs no SDK change once Sentry stores links first-class. Separately, duplicate it into the flat bridge attribute, but only if the backend meeting lands on "EAP links take too long". The prototype verified the link round-trips. Acceptance: an E2E miss/hit pair shows the span link on the hit transaction, independent of the bridge attribute.
- Ngôn ngữ chính
- TypeScript
- Star
- 8.7k
- Fork
- 1.9k
- Merge trung bình
- 1 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 576
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của getsentry/sentry-javascript
-
Browser Bug Next.js Traces Waiting for: Product Owner
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
getsentry/sentry-javascript#24672 · 1 bình luận ·
-
Flaky Test React Router Framework Spans Tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
getsentry/sentry-javascript#24348 · 1 bình luận ·
-
javascript
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
getsentry/sentry-javascript#24200 · 2 bình luận ·
-
javascript Task
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
getsentry/sentry-javascript#24134 · 1 bình luận ·
-
Cloudflare Workers javascript Tests
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
getsentry/sentry-javascript#24051 · 1 bình luận ·
Tất cả issue của getsentry/sentry-javascript
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
TanStack/tanstack.com#1293 ·