setEnableConsoleLog(...) 및 @cloudcare/hvigor-ohos-plugin이 추가되어 console.* 및 hilog.* 로그를 자동으로 수집할 수 있습니다. 이때 Plugin을 함께 연동하고 로그 설정을 활성화해야 합니다. 선택적 prefix 매개변수는 일반 메시지 접두사뿐만 아니라 message, log_source, HiLog의 tag, domain 기준 DataKit 허용 규칙 구성도 지원합니다. 로그 레벨은 여전히 setLogLevelFilters(...)로 제어되며, 규칙은 자동 로그가 SDK 큐에 진입하기 전에 적용됩니다.
컴파일 플러그인 기반 콜드 스타트 수집이 추가되었습니다. 프로세스 시작, AbilityStage 초기화, 첫 번째 UIAbility 생성 및 첫 프레임 소요 시간을 자동으로 전송하며 수동으로 수명 주기를 기록할 필요가 없습니다.
FTRUMConfig.setResourceUrlHandler(...)이 추가되었습니다. RCP, Axios 및 NetworkKit 자동 Resource 필터링을 지원하며, Trace Header 주입 및 수동 Resource에는 영향을 주지 않습니다.
파일 캐시 관리 기능이 추가되었습니다. 전체 캐시 용량 제한, 폐기 정책, FileStore 직접 업로드 및 이전 캐시 마이그레이션을 지원합니다.
FTRUMConfig.setViewTrackingHandler(handler, type)이 추가되었습니다. Router, Navigation 또는 전체 자동 View를 기준으로 필터링, 이름 변경 및 속성 추가를 지원합니다. 핸들러는 출처 페이지 정보가 포함된 FTViewTrackingContext를 전달받습니다.
NetworkKit 및 @ohos/axios Resource 성능 타임라인 수집과 워터폴 차트 단계 매핑이 추가되었습니다. 성능 타임라인이 없거나 최종 시점이 이전 단계보다 빠른 경우 실제 측정된 요청 총 소요 시간으로 대체하여 유효하지 않은 단계가 생성되지 않도록 합니다.
FileStore의 쓰기, 용량 통계 및 복구 진단 기능이 개선되어 파일 캐시와 섀도우 쓰기 시나리오의 안정성이 향상되었습니다.
원격 데이터 필터링 규칙 새로 고침 메커니즘이 개선되었습니다. 업로드 작업 시작 시 pull_interval에 따라 업데이트를 확인하고, 숫자 간격은 나노초 단위로 해석되며, 서버 콘텐츠가 변경되지 않은 경우 중복 처리하지 않습니다.
자동 Resource가 소속 Action이 종료된 후 완료될 때 Resource/Error 개수 및 Action 연결이 유실될 수 있는 문제가 수정되었습니다.
Action이 종료된 상태에서 Resource가 완료된 후에도 View의 Resource 개수와 처리 대기 개수가 즉시 갱신되지 않는 문제가 수정되었습니다.
RCP Resource 워터폴 차트에서 첫 바이트와 다운로드 단계가 재구성된 소요 시간으로 계산되어 전송 단계가 누락되거나 단계 소요 시간이 비정상적으로 산출되는 문제가 수정되었습니다.
시간 초과 및 연결 실패 등 HTTP 응답을 반환하지 않은 Resource와 연결된 Network Error에 resource_status=0이 누락되는 문제가 수정되었습니다.
Worker에서 생성된 Action, Resource, Error 및 Resource에서 생성된 Network Error에 바인딩된 사용자 및 네트워크 속성이 누락되는 문제가 수정되었습니다.
사용자 지정 LineDataModifier 처리 후 Action, Resource, Error 및 연결된 Network Error에서 SDK 공통 속성이 유실되는 문제가 수정되었습니다.
Axios 및 NetworkKit 요청이 완료될 때 네트워크 상태를 제공하지 않았지만 유효한 소요 시간이 존재하는 경우 자동 Resource가 폐기될 수 있는 문제가 수정되었습니다.
RUM 디바이스 메트릭 수집이 추가되었습니다. setDeviceMetricsMonitorType(...)로 View의 CPU, 메모리, 배터리 전류 및 FPS를 구성할 수 있으며, setExtraMonitorTypeWithError(...)로 Error에 CPU, 메모리, 배터리 메트릭을 추가할 수 있습니다. 기존 setDeviceMetricsDetectFrequency(...) 및 단일 매개변수 setDeviceMetricsMonitorType(...) 호출도 계속 사용할 수 있습니다.
FTRUMConfig.setActionTrackingHandler(...)이 추가되었습니다. 자동 Click Action을 필터링할 수 있으며, null을 반환하면 수집을 건너뛰고 undefined를 반환하면 기본 수집을 유지합니다.
UI 끊김 LongTask의 소요 시간 계산이 수정되어 시스템 MAIN_THREAD_JANK 이벤트를 사용하도록 변경되었습니다.
EventConsumer Worker 재시작 후 RUM Action, Resource, Error에 app_id가 간헐적으로 누락되는 문제가 수정되었으며, 데이터가 구성된 RUM 애플리케이션에 연결되도록 보장합니다.
네이티브 및 WebView Resource와 여기서 생성된 Network Error의 resource_id가 안정적인 UUID를 사용하지 않는 문제가 수정되어 연관 조회가 용이해졌습니다.
업로드 재시도 시 RUM 데이터가 중복 전송될 수 있는 문제가 수정되었습니다. 원본 sdk_data_id를 유지하고 재사용합니다.
WebView 데이터 보강 규칙이 변경되었습니다. view_path_name은 더 이상 자동으로 보강되지 않으며, view_referrer가 없으면 현재 네이티브 View로 대체됩니다.
자동 Action의 기본 이름이 컴포넌트 유형/컴포넌트 텍스트#컴포넌트 ID로 변경되었습니다. 목록 및 Tab의 컴포넌트에는 #position:n이 추가됩니다.
원격 데이터 필터링 규칙이 변경되었습니다. setEnableDataFilter(true)를 활성화하고 유효한 전송 주소를 구성하면 자동으로 가져오며, 규칙이 업데이트되면 적중된 캐시 데이터를 정리합니다.
오프라인 데이터 업로드가 개선되었습니다. 재시도를 모두 소진한 후에는 외부 트리거를 대기하며, 이후 업로드 가능한 데이터를 차단하지 않습니다.
DataModifier가 추가되었습니다. Log, 네이티브 RUM 및 WebView RUM의 필드와 태그를 수정하거나 마스킹할 수 있습니다. 필드 콜백이 null을 반환하면 원래 값을 유지합니다.
LineDataModifier 행 수준 데이터 패치 기능이 추가되었습니다. 콜백은 병합된 데이터를 전달받으며, 반환된 패치에 존재하는 필드만 덮어씁니다. null 또는 빈 Map을 반환하면 데이터를 수정하지 않습니다.
RUM 및 Logging 데이터 필터링 기능이 추가되었으며 기본적으로 활성화됩니다. setEnableDataFilter(...)로 활성화 여부를 제어하고 setDataFilters(...)로 로컬 규칙을 구성할 수 있습니다. 로컬 규칙과 원격 규칙이 함께 적용되며, 규칙에 적중된 데이터는 로컬 캐시에 기록되지 않습니다.
런타임 전송 주소 전환 기능이 추가되었습니다. FTSDK.setDatakitUrl(...) 또는 FTSDK.setDatawayUrl(..., clientToken)으로 주소를 전환할 수 있으며, 전환 후 원격 구성을 자동으로 새로 고칩니다. DataWay 모드에서는 클라이언트 Token을 제공해야 합니다.
원격 구성 기능이 추가되었습니다. 시작 시 로컬 캐시와 지원되는 런타임 업데이트 항목을 병합하며, setRemoteConfiguration(...)으로 활성화하고 updateRemoteConfig(...)로 수동으로 새로 고칠 수 있습니다.
RUM Action API 확장이 추가되었습니다. addAction은 소요 시간과 확장 속성 설정을 지원하며, startAction은 확장 속성 설정을 지원합니다.
addActionWith..., startActionWith... 및 미완성된 공개 stopAction API가 제거되었습니다. addAction, startAction으로 마이그레이션하세요.
Resource 수명 주기 확장 속성 지원이 추가되었습니다. startResource, stopResource의 속성은 호출 순서에 따라 ResourceParams와 병합됩니다.
공개 stopResource에서 사용되지 않는 statusCode 및 contentLength 매개변수가 제거되었습니다. 해당 호출 매개변수를 삭제하세요.
addError 오버로드 형식이 변경되었습니다. dateline을 errorType 앞에 배치할 수 있으며, Worker 콜백은 더 이상 공개 인터페이스가 아닙니다.
Error 및 Resource 수집 경로가 개선되어 정상 수집 과정에서 빈번하게 발생하던 내부 Debug 로그가 제거되었습니다.
업로드 요청 압축 구성이 추가되었습니다. setCompressIntakeRequests(...)로 제어할 수 있으며, 기본적으로 deflate가 활성화되고 사용할 수 없으면 평문 업로드로 대체됩니다.
자동 동기화 및 업로드 제어 구성이 추가되었습니다. FTSDKConfig.setAutoSync(...)로 초기화 상태를 설정하거나 FTSDK.setAutoSync(...)로 런타임에 동기화 상태를 변경할 수 있습니다. 기본 자동 업로드는 10초 집계 창을 사용하며, 자동 업로드를 비활성화한 경우 또는 즉시 업로드가 필요할 때 FTSDK.flushSyncData()를 호출할 수 있습니다.
동기화 페이징 구성이 추가되었습니다. setSyncPageSize(...)로 사전 정의된 페이징을 설정하거나 setCustomSyncPageSize(...)로 동기화 항목 수를 사용자 지정할 수 있습니다.
업로드 네트워크 구성이 추가되었습니다. setProxy(...), setProxyAuthenticator(...), setDns(...)를 통해 각각 프록시, 프록시 인증 및 DNS를 설정할 수 있습니다.
스레드 풀 및 직렬 데이터베이스 작업 처리가 개선되어 높은 동시성 시나리오에서 데이터 일관성이 향상되었습니다.
ANR 및 Crash Worker의 유휴 상태 회수 정책이 개선되어 Worker가 필요에 따라 다시 생성됩니다.
Native Crash 진단 로그 수집 조건이 변경되었습니다. RUM App ID가 구성되고 FTRUMConfig.setEnableTrackAppCrash(true)가 활성화된 경우에만 수집합니다.
SDK 디버그 구성이 추가되었습니다. FTSDKConfig.setSdkLogLevel(...)로 로그 레벨을 설정하고 FTSDKConfig.setEnableInnerLogFile(...)로 내부 로그 파일을 기록할 수 있습니다.
FTTraceConfig.setTraceHeaderHandler(...)이 추가되었습니다. 단일 요청에 사용자 지정 Trace 컨텍스트를 제공하여 SDK가 요청 Header에 주입하고 RUM Resource와 연결할 수 있습니다.
RUM 및 Log 캐시 수량 구성이 변경되었습니다. RUM 캐시 수량은 FTRUMConfig.setRumCacheLimitCount(...)로 설정되며, Log 캐시 수량은 계속 FTLoggerConfig.setLogCacheLimitCount(...)를 사용합니다.
공개 내보내기가 변경되었습니다. 루트 디렉터리 Index를 통해 WebView 연동, 고급 RCP 인터셉터 조립 및 Trace 인터셉터 유형을 내보내므로 더 이상 내부 경로에서 가져올 필요가 없습니다.
View 데이터 확정 시 동적 속성(사용자 데이터 포함)이 누락되는 문제가 수정되었습니다.
무작위로 할당된 사용자 ID가 간헐적으로 불안정한 문제가 수정되었습니다.
@ohos/axios 자동 수집 호환 경로가 추가되었습니다. interceptorChain을 지원하지 않는 axios 버전은 applyFTAxiosTrack(...)를 호출하여 요청 및 응답 인터셉터를 통해 데이터를 수집할 수 있습니다.
NetworkKit 응답 성능 타임라인 수집이 추가되어 Resource 워터폴 차트에 전달됩니다. 성능 타임라인이 없거나 유효하지 않으면 실제 요청 총 소요 시간으로 대체합니다.
NetworkKit 인터셉터 체인에서 HTTP 응답을 반환하지 않은 전송 실패가 responseCode=0 Resource만 생성하고 연결된 Network Error가 누락되는 문제가 수정되었습니다. 이제 진단 오류 정보가 포함된 Resource와 Network Error를 함께 전송하며, 호출자의 기존 실패 결과는 변경되지 않습니다.