InfoGrab DocsInfoGrab Docs

기존 트래킹을 내부 이벤트 트래킹으로 마이그레이션

기존 Snowplow 및 Redis/RedisHLL 이벤트 트래킹을 GitLab 내부 이벤트 트래킹으로 전환하는 방법을 설명합니다.

GitLab 내부 이벤트 트래킹(Internal Events Tracking)은 더 이상 사용되지 않는 Snowplow 및 Redis/RedisHLL 이벤트 트래킹 옵션 위에 통합 API를 제공합니다. 이 페이지에서는 이전 방식 중 하나에서 내부 이벤트 트래킹으로 전환하는 방법을 설명합니다. Snowplow, Redis/RedisHLL을 통한 직접 이벤트 트래킹은 더 이상 사용되지 않지만 가까운 미래에 제거되지는 않습니다. 내부 이벤트 트래킹으로 마이그레이션할 것을 권장하지만, 더 이상 사용되지 않는 방식도 기존 이벤트 및 메트릭에 대해 계속 작동합니다. RedisHLL 메트릭이란? # Gitlab::UsageDataCounters::HLLRedisCounter.track_event 를 통해 Redis HyperLogLog 카운터로 구현된 Service Ping 메트릭입니다. 트리거된 각 이벤트에 대해: 만료 기간이 6주인 HyperLogLog 키가 Redis에 기록됩니다. 이후 데이터가 고유 카운트로 집계됩니다. 그런 다음 Service Ping에서 redis_hll_counters.analytics.{event_name_monthly} 와 같은 메트릭 키 아래에 노출됩니다. instrumentation_class: RedisHLLMetric 이 지정된 메트릭 정의는 HLLRedisCounter에서 값을 읽어 이벤트를 Service Ping 메트릭에 매핑합니다. RedisHLL API(HLLRedisCounter)는 이제 더 이상 사용되지 않으며, 내부 이벤트 API( Gitlab::InternalEvents.track_event )를 사용하도록 전환되었습니다. 기존 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, pr