getsentry / getsentry/sentry-javascript

Synthesize shell cache spans from RDC enumeration

Đang mở
#24,297 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
javascript
Ngôn ngữ chính
TypeScript
Star
8.7k
Fork
1.8k
Merge trung bình
1 ngày 17 giờ
Pull request đã merge (30 ngày)
523

Mô tả

*Example:*

```
export default function Page() {
return (<> {/* 'use cache', baked into the static shell */}
}>);
}
```

A request serves the shell, including the cached header, from the [Resume Data Cache]() before any of our code runs. The handler instrumentation never fires. The trace shows `LiveStock` and nothing about the cached half of the page.

*Solves:* "was my cached content used, and how old was it?" for shell-served entries.

*Fix idea:* from code in the dynamic hole (the server-component wrapper), read the request work-unit store's `resumeDataCache`, enumerate its entries, and emit synthetic `cache.get` spans with key digest and item age. Research verified that enumeration works and read interception does not. Pages without a dynamic hole stay invisible. Document that limit instead of fighting it.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start in the server-component wrapper and trace how the request work-unit store exposes its resumeDataCache; confirm the cache entries can be enumerated without relying on read interception. Emit synthetic cache.get spans containing each key digest and item age, and document that pages without a dynamic hole remain invisible.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
nextjs, typescript
Lĩnh vực
observability
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
66/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.