기여 목록 / 8482211
[net] Remove the expired Net.CertVerifier.Mac* histograms
SecuritycleanupMerged
macOS 인증서 신뢰 저장소 TrustStoreMac가 캐시를 만들 때 걸린 시간과 인증서 개수를 기록하던 Net.CertVerifier.Mac* 히스토그램 7개를 모두 제거했습니다. 일곱 개 모두 2024년에 만료돼 이미 기록되지 않는 상태였습니다. 3파일 −224. mattm@가 +1과 함께 관련 버그 번호를 Fixed:·Bug: 트레일러로 넣어 달라고 해 설명만 고친 PS2를 올렸고, histograms.xml은 따로 OWNER 승인이 필요해 nidhijaju@를 추가했습니다. nidhijaju@가 +1 뒤 CQ를 돌려 2026-10-03에 머지됐습니다(15c38e3cc6823).
문제 설명
- crbug 없음 (자체 발굴)
TrustStoreMac의 두 구현(도메인 캐시·키체인 캐시)은 캐시를 초기화할 때마다MacTrustDomainCertCount.{Domain},MacTrustDomainCacheInitTime,MacTrustImplCacheInitTime,MacKeychainCerts.{IntermediateCacheInitTime,IntermediateCount,TotalCount,TrustCount}를 기록했습니다.histograms.xml에서 일곱 개 모두 2024-02-01 또는 2024-04-28에 만료됐고expired_intentionally표시도 없었습니다. 히스토그램 문서는 만료된 히스토그램의 기록 코드를 죽은 코드로 보고 지우라고 합니다.
해결 내용
- 기록 전용 함수 3개(
HistogramTrustDomainCertCount(),RecordCachedIntermediatesHistograms(),RecordHistograms())와 그 호출 7곳을 지웠습니다. - 시간을 재기 위해서만 있던
base::ElapsedTimer3개와, 결과적으로 안 쓰게 된 include 4개(histogram_functions.h,strcat.h,elapsed_timer.h,<string_view>)를 지웠습니다. TrustStoreMacImplTest.SystemCerts에서 히스토그램 기록 횟수를 확인하던 블록을 지웠습니다. 실제 인증서 신뢰 값을 확인하는 부분은 그대로입니다.tools/metrics/histograms/metadata/net/histograms.xml에서 일곱 항목을 지웠습니다.
발굴 과정
09-29 «만료된 히스토그램 기록 코드» 스캔에서 이 파일의 히스토그램 셋이 먼저 걸렸는데, 같은 파일의 나머지 Net.CertVerifier.Mac*도 확인해 보니 전부 만료돼 있어 계측 코드를 한 번에 정리했습니다. Mac 전용 코드라 Mac에서만 빌드·테스트할 수 있어, Mac 작업 환경의 장점을 살린 CL입니다. 리뷰어는 net/cert OWNER이자 원 작성자인 mattm@입니다. OSSCA #573.
테스트 방법
- 같은 날 준비한 HB(NEL 저장소 히스토그램)와 통합 브랜치에서
net_unittests증분 빌드 8스텝 6초 net_unittests --gtest_filter='*TrustStoreMac*'4/4 통과 —Impl/TrustStoreMacImplTest.SystemCerts/DomainCacheFullCerts·…/KeychainCacheFullCerts포함- presubmit 0 경고
배운 점
- 파라미터 테스트는 이름 앞에 인스턴스 접두사(
Impl/)가 붙습니다. 필터를TrustStoreMac*로 주면 0개가 실행되고도 «SUCCESS»로 끝나므로,*TrustStoreMac*처럼 앞에도 와일드카드를 둡니다. - 한 히스토그램을 지우려다 같은 파일의 계측이 전부 만료된 걸 발견하면, 쪼개지 말고 한 번에 정리하는 편이 리뷰어에게도 명확합니다.
- 공개 crbug가 없다고
Bug: None으로 올렸는데, OWNER가 관련 버그 두 개를 알려 주며Fixed:로 넣어 달라고 했습니다. 트레일러만 바꾸는 패치셋은 Gerrit에서 설명 편집으로 바로 만들 수 있고, 기존 +1도 유지됩니다. 머지되면서 그 버그들이 함께 닫혔습니다.