기여 목록 / 8523037
[histogram-cleanup] Remove expired Commerce.Carts histograms
Commerce.Carts.* 히스토그램 8개는 2023~2024년에 만료됐고, 기록하던 코드는 ChromeCart 가 2024-10 에 제거될 때 이미 사라졌습니다. histograms.xml 항목과 이 8개만 쓰던 enum 2개를 지웠습니다. 2파일 −104, XML 만 바꾸는 CL 이라 빌드는 없습니다. commerce OWNER mdjones@ 가 먼저 승인했고, 히스토그램 정리 작업을 해 온 meiliang@ 이 8개와 enum 2개 모두 트리에 참조가 남지 않았음을 확인해 두 번째로 승인했습니다. meiliang@ 의 CQ 로 2026-10-07(UTC)에 머지됐습니다(2d239be7a7d47).
문제 설명
- 공식 정리 작업 메타 버그: https://crbug.com/499059525
tools/metrics/histograms/README.md는 만료된 히스토그램을 정리 대상으로 두고, 안 쓰게 된 enum 도 함께 지우라고 합니다.Commerce.Carts.{AddToCartButtonDetection, Extraction*, FormSubmitIsTransaction, XHRIsAddToCart}8개는 2023-04-16 ~ 2024-07-28 에 만료됐습니다. 기록 코드는 crrev.com/c/5932823(renderercommerce_hint_agent.cc)과 crrev.com/c/5953964(CommerceHintService)에서 ChromeCart 와 함께 삭제됐는데 XML 항목만 남아 있었습니다.
해결 내용
metadata/commerce/histograms.xml에서 8항목을 지우고, 이 히스토그램만 쓰던BooleanIsAddToCart·BooleanIsTransactionenum 을metadata/commerce/enums.xml에서 지웠습니다.BooleanTimedOut은 다른 히스토그램 14개가 써서 남겼습니다.- Chromium 공식 histogram-cleanup 형식을 따랐습니다. 제목
[histogram-cleanup], 해시태그histogram-cleanup,Bug: 499059525. 폐기 태그는 처음에OBSOLETE_HISTOGRAMS[<이름>]=expired로 썼다가, 같은 날 올린 8523097 의 리뷰 지적에 따라 리뷰 전에tools/metrics/histograms/README.md대로 히스토그램별 단수형OBSOLETE_HISTOGRAM[<이름>]=expired로 고쳤습니다.
발굴 과정
만료됐지만 코드가 아직 기록 중인 히스토그램(약 1,900개)과 별개로, 기록 코드가 하나도 없는 만료 히스토그램만 골라냈습니다. {토큰} 이름을 뺀 1,469개 중 체크아웃 어디에도 이름이 없는 300개를 추리고, 접두어·뒷부분 조각으로 조합 기록까지 검색해 0건인 것, 그리고 과거 트리(2021~2025)에서 chromium 코드가 실제로 기록했던 것만 남겼습니다. 외부 저장소(ChromeOS 데몬, WebRTC 등)가 기록할 수 있는 이름은 제외했습니다. XML 항목을 지우면 만료 차단 목록에서도 빠지므로, «chromium 에 있다가 지워진 것»만 대상으로 삼은 이유입니다.
빌드 트리를 최신으로 옮기지 않으려고 tools/metrics 등 presubmit 에 필요한 디렉터리만 받은 희소 worktree 에서 작업했습니다.
테스트 방법
validate_format.py통과,pretty_print.py --presubmit변경 없음git cl presubmit --upload메시지·경고·오류 0- XML 만 바뀌어 빌드와 단위 테스트는 해당 없음
배운 점
- 히스토그램 이름이 통째로 검색되지 않아도 코드가 접두어와 뒷부분을 이어 붙여 기록할 수 있습니다. 조각 검색까지 해야 «기록 코드 없음»을 확정할 수 있습니다.
- XML 만 바꾸는 CL 은 최신 origin/main 기준이어야 충돌이 없습니다. 본 체크아웃을 옮기면 빌드 트리가 대량 재빌드되므로 희소 worktree 가 답이었습니다.