Emit lifecycle events with timings
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- 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ệ
- docker, node.js, typescript
Hướng nghiên cứu
Read the four listed files under packages/testcontainers/src/, then inspect the lifecycle hooks in dependency #1554 to identify the event points. Define observational lifecycle events with timings and add the per-builder form; verify events fire at the hook points without listeners changing or blocking startup. The issue also suggests including a timing summary in the default logs.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
What happens
start() is a black box between the call and the result. The steps (pull, create, copy files, start, port binding, wait strategy, ready) are visible only as debug log lines.
- A caller cannot show progress, for example "pulling 340 MB".
- A caller cannot tell where the time went: a 45 second start may be 40 seconds of pull or 40 seconds of waiting.
- Tooling that wants to report container activity, such as a test reporter, has to parse debug output.
Expected
Structured events for the lifecycle, with timings:
TestContainers.on("container", (event) => {
// { type: "pulled" | "created" | "started" | "ready" | "stopped" | ..., image, containerId, durationMs }
});
and a per-container form on the builder. Events are observational: a listener cannot change or block the start.
Where
packages/testcontainers/src/generic-container/generic-container.tspackages/testcontainers/src/generic-container/started-generic-container.tspackages/testcontainers/src/container-runtime/clients/image/docker-image-client.tspackages/testcontainers/src/docker-compose-environment/docker-compose-environment.ts
Notes
- The points where events fire are the points where the lifecycle hooks run.
- A summary of the timings in the default log output would answer most "why is my test slow" questions without code.
Dependencies
- Stack on #1554: events fire at the same points the hooks run.
- Ngôn ngữ chính
- TypeScript
- Star
- 2.6k
- Fork
- 274
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 44
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc 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 testcontainers/testcontainers-node
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
testcontainers/testcontainers-node#1539 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
testcontainers/testcontainers-node#1533 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
testcontainers/testcontainers-node#1531 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
testcontainers/testcontainers-node#1529 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement minor
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
testcontainers/testcontainers-node#1528 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của testcontainers/testcontainers-node
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
homarr-labs/homarr#7191 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
AvaProtocol/ava-sdk-js#276 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
useFragment does not require `variables` when the fragment's variables type has required fieldsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
apollographql/apollo-client#13493 ·
Maintainer thường phản hồi trong vòng 1 ngày