기존 트래킹을 내부 이벤트 트래킹으로 마이그레이션
기존 Snowplow 및 Redis/RedisHLL 이벤트 트래킹을 GitLab 내부 이벤트 트래킹으로 전환하는 방법을 설명합니다.
GitLab 내부 이벤트 트래킹(Internal Events Tracking)은 더 이상 사용되지 않는 Snowplow 및 Redis/RedisHLL 이벤트 트래킹 옵션 위에 통합 API를 제공합니다. 이 페이지에서는 이전 방식 중 하나에서 내부 이벤트 트래킹으로 전환하는 방법을 설명합니다. Snowplow, Redis/RedisHLL을 통한 직접 이벤트 트래킹은 더 이상 사용되지 않지만 가까운 미래에 제거되지는 않습니다. 내부 이벤트 트래킹으로 마이그레이션할 것을 권장하지만, 더 이상 사용되지 않는 방식도 기존 이벤트 및 메트릭에 대해 계속 작동합니다. 기존 Snowplow 트래킹에서 마이그레이션 # 이미 Snowplow에서 이벤트를 트래킹하고 있다면, 내부 이벤트 트래킹으로 전환하여 GitLab Self-Managed 인스턴스에서도 메트릭을 수집할 수 있습니다. GitLab 18.0부터 Self-Managed 인스턴스는 기본적으로 이벤트 데이터를 수집하므로, 이전 버전에서 수집된 집계 메트릭보다 더 상세한 인사이트를 제공합니다. 내부 이벤트로 트리거된 이벤트는 이전에 Snowplow로 직접 트래킹하던 것과 비교해 몇 가지 특별한 속성이 있습니다: category 는 이벤트가 발생한 위치로 자동 설정됩니다. 프론트엔드 이벤트의 경우 페이지 이름이, 백엔드 이벤트의 경우 클래스 이름이 사용됩니다. 페이지 이름이나 클래스 이름이 사용되지 않는 경우 기본값인 "InternalEventTracking" 이 사용됩니다. 마이그레이션 전에 이 변경 사항이 문제없는지 확인하고, 대시보드도 그에 맞게 변경하세요. 백엔드 # 이미 Gitlab::Tracking.event 를 사용하여 Snowplow 이벤트를 트래킹하고 있으며 내부 이벤트 트래킹으로 마이그레이션하려면 다음과 같은 코드에서 시작할 수 있습니다: Gitlab::Tracking.event(name, 'ci_templates_unique', namespace: namespace, project: project, context: [context], user: user, label: label) 위 코드는 다음으로 대체할 수 있습니다: include Gitlab::InternalEventsTracking track_internal_event('ci_templates_unique', namespace: namespace, project: project, user: user, additional_properties: { label: label }) label , property , value 속성은 additional_properties 해시 안에 전달해야 합니다. 원래 호출에 포함되지 않은 경우 additional_properties 인수는 생략할 수 있습니다. 또한 트래킹하려는 메트릭의 정의를 생성해야 합니다. 메트릭 정의를 생성하려면 다음 생성기를 사용할 수 있습니다: scripts/internal_events/cli.rb 생성기는 필요한 입력을 단계별로 안내합니다. 마이그레이션된 이벤트가 이전