InfoGrab DocsInfoGrab Docs

활성화 엔진 추적 빠른 시작

활성화 엔진 추적 빠른 시작에 대해 설명합니다.

활성화 엔진으로 코드를 계측하려면 Activation::Metric 모델을 직접 사용합니다. 이벤트 정의나 YAML 구성 파일은 필요하지 않습니다. 메트릭 기록 # 서비스, 워커 또는 컨트롤러 어디서나 Activation::Metric.track 을 호출합니다. 이 메서드는 activation_tracking 기능 플래그로 제어되며 플래그가 비활성화되면 아무 작업도 하지 않습니다. Activation : :Metric .track( :merged_mr , user: user, namespace: project.namespace) metric (필수): Activation::Metric enum의 항목과 일치하는 심볼. user: (필수): 작업을 완료한 사용자. namespace: (선택 사항): 네임스페이스 컨텍스트. 하위 그룹은 자동으로 루트 네임스페이스로 확인됩니다. 이 메서드는 내부적으로 safe_find_or_create_by! 를 사용합니다. 동일한 사용자, 네임스페이스, 메트릭 조합에 대한 레코드가 이미 존재하면 중복을 만들지 않고 기존 레코드가 반환됩니다. 메트릭 완료 확인 # Activation : :Metric .completed?( user_id: user.id, metric: :merged_mr , namespace_id: namespace.id) 일치하는 레코드가 존재하면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다. namespace_id: 매개변수는 선택 사항입니다. 메트릭 쿼리 # Activation::MetricsFinder 를 사용하여 선택적 필터가 있는 사용자의 메트릭을 검색합니다. Activation::MetricsFinder .new( user: user, params: { namespace: namespace, metric: :merged_mr }).execute 지원되는 필터 매개변수: namespace : 특정 네임스페이스로 필터링. metric : 메트릭 유형으로 필터링(심볼). 파인더는 기본 제한을 적용하지 않습니다. GraphQL 리졸버에서 사용할 때 페이지네이션은 .connection_type 으로 처리됩니다. 새 메트릭 유형 추가 # ee/app/models/activation/metric.rb 의 enum에 항목을 추가합니다: enum :metric , { merged_mr: 0 , new_metric: 1 } 선택 사항. 글로벌 activation_tracking 플래그와 독립적으로 새 메트릭에 대한 추적을 전환하기 위해 기능 플래그를 생성합니다. Activation::Metric.track 을 호출하기 전에 호출 지점에서 플래그를 확인합니다. 코드베이스의 적절한 위치에서 Activation::Metric.track(:new_metric, user: user) 를 호출합니다. 기능 플래그 # activation_tracking 플래그는 :wip 유형 플래그입니다. 개발에서 활성화하려면: Feature .enable( :activation_tracking ) 특정 사