InfoGrab Docs

활성화 엔진

요약

활성화 엔진은 GitLab.com의 개인화 실험을 위한 사용자 활성화 마일스톤(Setup, Aha, Habit)을 추적합니다. 활성화 엔진은 EE 전용이며 activation_tracking 기능 플래그(:wip 유형)로 제어됩니다.

활성화 엔진은 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 enum에 정의됩니다. 각 enum 값은 ActivationTracking을 통해 라우팅되는 내부 이벤트 이름에 해당합니다. 예를 들어, ee/config/events/merged_mr.yml에 정의된 merged_mr 이벤트는 merged_mr enum 값에 매핑됩니다.

enum :metric, {
  merged_mr: 0
}

새 메트릭 유형을 추가하려면 빠른 시작 가이드를 참조하세요.

가이드#

활성화 엔진

원문 보기
요약

활성화 엔진은 GitLab.com의 개인화 실험을 위한 사용자 활성화 마일스톤(Setup, Aha, Habit)을 추적합니다. 활성화 엔진은 EE 전용이며 activation_tracking 기능 플래그(:wip 유형)로 제어됩니다.

활성화 엔진은 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 enum에 정의됩니다. 각 enum 값은 ActivationTracking을 통해 라우팅되는 내부 이벤트 이름에 해당합니다. 예를 들어, ee/config/events/merged_mr.yml에 정의된 merged_mr 이벤트는 merged_mr enum 값에 매핑됩니다.

enum :metric, {
  merged_mr: 0
}

새 메트릭 유형을 추가하려면 빠른 시작 가이드를 참조하세요.

가이드#