파일 다운로드 로그
CDN파일 다운로드 회수, 다운로드 속도, 다운로드 성공/실패율, 버전에 대한 로그입니다. 파일 다운로드 로그를 통해 유저들이 체감하는 속도를 알 수 있으며, 로그의 client_ip, begin_date, end_date, being_pos, end_pos 필드 값들을 이용하여 지역별, 시간별 파일 다운로드 속도 및 성공/실패율을 알 수 있습니다.
클라이언트에서 파일 다운로드 결과를 게임 서버로 전송하고 게임서버는 로그를 받아서 스크라이브로 전송합니다. 백엔드 통계는 공통화하여 통계를 보기 쉽게 합니다.
카테고리¶
상용 서버 | service_metrics-file_download_log |
---|---|
개발 서버 | service_metrics_test-file_download_log |
로그 스펙¶
Note
스네이크 케이스(예: server_id
) 형태의 필드는 최종 저장소(BigQuery)에 저장될 때 카멜 케이스(예: serverId
) 형태로 변환되며, serverid
같은 스펙에 명시되지 않은 형태로 전송된 로그는 해당 컬럼에 저장되지 않습니다.
필드명 | 설명 | 타입 | 필수여부 |
---|---|---|---|
date | 로그 발생 시각 형식: 년-월-일 시:분:초 예. 2012-01-19 16:24:00 | string | Y |
channel | 로그인 채널 C2S: Hive KAK: 카카오 LIN: 라인 WEI: 웨이보 STE: 스팀 | string(3) | Y |
channel_uid | 로그인 채널에서의 유저 식별값(주로 bigint를 사용하지만 스트링형을 사용하는 채널들이 있을 수 있음) 라인과 같이 정보를 알 수 없는 경우는 "0" 으로 전송 | string(64) | Y |
game | 게임 브랜드 네임 사용.(ex: derbydays) app_id의 세 번째 항목 예. com.com2us.littlelegends.kakao.freefull.apple.global.ios.universal => littlelegends | string(50) | Y |
server_id | 서버 구분 코드 서버코드표 참조하여 '서버 코드(JSON 입력 코드)'를 입력 | string | Y |
server_uid | 게임 서버에서 사용하는 유저 식별자 (game_uid 대체) 유저가 로그인하지 않은 상태에는 유저 식별자를 알 수 없으므로 식별자 값으로 0을 설정 | bigint | Y |
did | HIVE에서 사용하는 단말기 식별자(did) 값 | bigint | Y |
app_id | HIVE에서 사용하는 게임 별 AppID 예. 'com.com2us.derbyday.kakao.freefull.google.global.android.common' | string(200) | Y |
app_ver | 앱 버전 예. 1.1.1 | string | Y |
url | 다운로드 받은 파일 위치 URL | string(512) | Y |
size | 다운로드 받은 파일 크기 단위: Byte | int | Y |
resume_cnt | 본 로그를 생성하는 시점의 파일 다운로드 세션이 파일을 처음 다운로드 받기 시작한 이후 몇 번째 이어받기인지를 의미 예. 0: 파일 다운로드 첫 시도 때 값 | tinyint | Y |
begin_pos | 본 로그를 생성하는 시점의 파일 다운로드 세션에서 파일을 다운로드 받기 시작한 위치 예. 0: 파일 다운로드 첫 시도 때 값 및 파일 다운로드 시 접속이 끊어져 이어 받을 때. non-zero: 이어받기 | int | Y |
end_pos | 본 로그를 생성하는 시점의 파일 다운로드 세션에서 파일을 마지막으로 다운로드 받은 위치 | int | Y |
begin_date | 본 로그를 생성하는 시점의 파일 다운로드 세션 시작 시간 형식: yyyy-mm-dd hhss 예. 2017-01-04 01:23:32 | string | Y |
end_date | 본 로그를 생성하는 시점의 파일 다운로드 세션 종료 시간 형식: yyyy-mm-dd hhss 예. 2017-01-04 01:23:32 | string | Y |
timezone | 로그에 입력하는 시간 파라미터의 UTC offset 값 (공백 없이 입력) 예) "UTC+10:30" | string | Y |
connection_type | 유저의 단말기의 무선 연결 종류 1: Wi-Fi, 2: 3G/LTE | tinyint | Y |
client_ip | 클라이언트의 IP, 이 값으로 GeoIP를 이용하여 country값 추출 | string(32) | Y |
server_ip | 서버의 IP | string(32) | Y |
company | 로그의 대상이 되는 게임 제작 회사 예. "C2S": 컴투스, "GVI": 컴투스홀딩스 | string(3) | Y |
로그 예제¶
{
"date": "2014-07-11 10:30:24",
"channel": "C2S",
"channel_uid": 90027477600,
"game": "acefishing",
"server_id": 0,
"app_id": "com.com2us.acefishing.normal.freefull.apple.global.ios.universal",
"url": "http://cdn-dn.com2us.com/game14/v0206/iphone/Fi_0152_01.unity3d",
"size": 7864,
"resume_cnt": 0,
"begin_pos": 0,
"end_pos": 7864,
"begin_date": "2014-07-11 09:30:24",
"end_date": "2014-07-11 09:30:25",
"connection_type": 1,
"server_ip": "112.175.229.236",
"client_ip": "125.95.8.45",
"company": "C2S"
}