InfoGrab Docs

활성화 엔진

활성화 엔진에 대해 설명합니다.

활성화 엔진은 GitLab.com의 개인화 실험을 위한 사용자 활성화 마일스톤(Setup, Aha, Habit)을 추적합니다. extra_trackers 메커니즘을 통해 내부 이벤트 시스템과 통합되며, AI 추적( ee/lib/gitlab/tracking/ai_tracking.rb )과 기여 분석 추적( lib/gitlab/tracking/contribution_analytics_tracking.rb )에서 사용하는 동일한 패턴을 따릅니다. 활성화 엔진은 EE 전용이며 activation_tracking 기능 플래그( :wip 유형)로 제어됩니다. 아키텍처 # 애플리케이션 코드가 Gitlab::InternalEvents.track_event 를 호출하면, 내부 이벤트 라우터가 이벤트 YAML 정의를 읽습니다. 정의에 Gitlab::Tracking::ActivationTracking 에 대한 extra_trackers 항목이 포함된 경우, 라우터는 ActivationTracking.track_event 를 호출합니다. 이 어댑터는 Activation::Metric.track 에 위임하며, 이는 activation_metrics 테이블에 레코드를 작성합니다. Mermaid 다이어그램 (5줄) 소스 코드 보기 flowchart LR A["Gitlab::InternalEvents.track_event"] --> B["Event YAML<br/>(extra_trackers)"] B --> C["ActivationTracking.track_event"] C --> D["Activation::Metric.track"] D --> E["activation_metrics table"] activation_metrics 테이블은 사용자당, 메트릭당, 네임스페이스당 하나의 레코드를 저장합니다. 데이터베이스 수준의 고유 제약 조건( NULLS NOT DISTINCT 포함)으로 중복 레코드를 방지합니다. 컴포넌트 경로 목적 추적 어댑터 ee/lib/gitlab/tracking/activation_tracking.rb 내부 이벤트 라우터에서 이벤트를 수신하고 모델에 위임합니다. 이벤트 정의 ee/config/events/merged_mr.yml 내부 이벤트를 활성화 추적에 연결하는 extra_trackers 를 선언합니다. 모델 ee/app/models/activation/metric.rb 활성화 메트릭을 레코드, 쿼리, 확인합니다. 파인더 ee/app/finders/activation/metrics_finder.rb 사용자, 네임스페이스, 메트릭 유형별로 메트릭을 필터링합니다. 기능 플래그 ee/config/feature_flags/wip/activation_tracking.yml 추적 활성화 여부를 제어합니다. 팩토리 ee/spec/factories/activation/metrics.rb activation_metric 을 위한 테스트 팩토리. 사용 가능한 메트릭 유형 # 메트릭 유형은 Activation::Metric enu