Telemetry follow-up: tier 2, endpoint hardening, retention

Đang mở
#1,429 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
docker, python

Hướng nghiên cứu

Read related issues #1106 and #1200, then inspect the /telemetry endpoint and carbonserver/docker/entrypoint.sh, especially its proxy-header configuration. Resolve the open tier-2 publication and token questions, choose an endpoint-hardening approach, define retention and its purge job, and replace the schema drift approach with one-way generation.

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

Mô tả

enhancement

Is your feature request related to a problem? Please describe.

#1200 ships a reduced version of the telemetry proposed in #1106: only the minimal tier, sent once per process to an open /telemetry endpoint, with no API token and no coordinates. This issue tracks what was left out so #1200 could stay small.

Describe the solution you'd like

  1. Tier 2 (extensive). Reintroduce the usage fields from #1106 (integration, output methods, notebook/IDE/CI detection, energy and emissions summary). Open questions: are the fields sent to /telemetry only, or also published as runs and emissions in a public CodeCarbon experiment, as #1106 proposed? The second needs a write token, and a token shipped in an open-source package is public, so it must only be able to write to that one experiment.
  2. Endpoint hardening. The in-process per-IP limit on /telemetry (60 requests per minute) can be bypassed: uvicorn runs with --proxy-headers --forwarded-allow-ips=* (carbonserver/docker/entrypoint.sh), so a client can set its own X-Forwarded-For. It is also per process. Options: trust only the load balancer's addresses, or rate-limit at the proxy.
  3. Retention. Decide how long telemetry rows are kept, document it, and add the purge job.
  4. Schema generation. Generate the server schema from the client one (or the reverse) instead of relying on the drift test.

Describe alternatives you've considered

Keeping tier 2 in #1200. Dropped to get the minimal tier reviewed and deployed first.

Additional context

Related: #1106 (original proposal), #1200 (minimal tier).

Ngôn ngữ chính
Python
Star
1.9k
Fork
351
Merge trung bình
3 ngày 12 giờ
Pull request đã merge (30 ngày)
22

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của mlco2/codecarbon

Tất cả issue của mlco2/codecarbon

Issue tương tự

Thêm issue về Python

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.