diff --git a/package-lock.json b/package-lock.json index ecf8f7e..9ce0bb2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ubisoft-demux", - "version": "1.10857.0", + "version": "1.10872.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -4979,9 +4979,9 @@ "dev": true }, "yaml": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.1.1.tgz", - "integrity": "sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true }, "yargs": { diff --git a/package.json b/package.json index 2ab9607..c426440 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ubisoft-demux", - "version": "1.10857.0", + "version": "1.10872.0", "description": "A Node.js client to interact with Ubisoft Connect's protobuf demux API", "main": "dist/src/index.js", "scripts": { @@ -70,6 +70,6 @@ "ts-proto": "^1.141.1", "typed-emitter": "^2.1.0", "typescript": "^4.8.3", - "yaml": "^2.1.1" + "yaml": "^2.3.1" } } diff --git a/proto/proto_download_service/download_service.proto b/proto/proto_download_service/download_service.proto index 903172a..682bd0a 100644 --- a/proto/proto_download_service/download_service.proto +++ b/proto/proto_download_service/download_service.proto @@ -35,6 +35,7 @@ message InitializeReq { uint64 expiration = 3; string signature = 4; string ownership_token = 5; + string network_id = 6; } message InitializeRsp { diff --git a/proto/proto_overlay/overlay.proto b/proto/proto_overlay/overlay.proto index 8591cef..905d485 100644 --- a/proto/proto_overlay/overlay.proto +++ b/proto/proto_overlay/overlay.proto @@ -268,6 +268,7 @@ message StreamingVGPEventReq { required uint32 source = 1; required string profile_id = 2; required uint32 streaming_gamepad_id = 3; + required uint32 vid_pid = 4; } message StreamingHostCreateTokenPush { @@ -313,12 +314,17 @@ message StreamingHostUpdateGuestRemainingTimeReq { required int32 error_code = 4; } +message StreamingHostUpdateCredentialsPush { + required string ubi_ticket = 1; + required string session_id = 2; +} + message StreamingHostReadyReq { } message StreamingHostSignalErrorReq { - required uint32 error_code = 1; + required int32 error_code = 1; } message StreamingHostSDKEventReq { @@ -440,6 +446,7 @@ message Push { optional StreamingHostCreateTokenPush streaming_host_create_token = 14; optional StreamingHostDecodeTokenPush streaming_host_decode_token = 15; optional StreamingHostUpdateGuestRemainingTimePush streaming_host_update_guest_remaining_time = 16; + optional StreamingHostUpdateCredentialsPush streaming_host_update_credentials = 17; } message Upstream { diff --git a/proto/proto_ownership/ownership.proto b/proto/proto_ownership/ownership.proto index aff44f7..8bdbc2b 100644 --- a/proto/proto_ownership/ownership.proto +++ b/proto/proto_ownership/ownership.proto @@ -267,6 +267,9 @@ message RegisterOwnershipRsp { Result_NoLongerAvailable = 9; Result_NotAvailableInRegion = 10; Result_UsedCdKeyThisAccount = 11; + Result_BadUbiTicket = 12; + Result_AgeGateRestricted = 13; + Result_BadRequest = 14; } optional OwnedGamesContainer owned_games_container = 4; @@ -575,6 +578,8 @@ message Req { optional RegisterOwnershipFromWeGameReq register_ownership_from_wegame_req = 27; optional OwnershipTokenReq ownership_token_req = 28; optional RegisterTemporaryOwnershipReq register_temporary_ownership_req = 29; + optional string ubi_ticket = 30; + optional string ubi_session_id = 31; reserved 11, 13; } diff --git a/proto/proto_statistics/Statistics.proto b/proto/proto_statistics/Statistics.proto index d1c52e0..90d9c41 100644 --- a/proto/proto_statistics/Statistics.proto +++ b/proto/proto_statistics/Statistics.proto @@ -109,7 +109,13 @@ message GameLaunchObjectData { } message AppQuitObjectData { - optional QuitReason quitReason = 1; + optional uint32 secondsSinceStart = 2; + optional uint32 demuxConnectionFailureCount = 3; + optional uint32 discardedEventsCount = 5; + optional bool generatedFromCache = 6 [default = false]; + optional bool shopVisible = 7 [default = false]; + optional string quitReason = 8; + enum QuitReason { USER = 1; LOGOUT = 2; @@ -123,12 +129,6 @@ message AppQuitObjectData { CLIENTOUTDATED = 10; UNKNOWN = 11; } - - optional uint32 secondsSinceStart = 2; - optional uint32 demuxConnectionFailureCount = 3; - optional uint32 discardedEventsCount = 5; - optional bool generatedFromCache = 6 [default = false]; - optional bool shopVisible = 7 [default = false]; } message GameCloudSaveSyncObjectData { @@ -260,6 +260,7 @@ message DownloadObjectData { optional uint32 brand = 22; optional string initiatedFrom = 24; optional string installerId = 25; + optional string networkId = 26; } message HardwareScoreData { @@ -617,6 +618,21 @@ message TrustedDeviceActionData { optional bool defaultFriendlyName = 3; } +message GameStarterStartRequestObjectData { + optional string steamId = 1; + optional string steamTicket = 2; +} + +message MercuryCheckoutRequestObjectData { + optional string steamId = 1; + optional string partnerPlatformType = 2; +} + +message MercuryWebshopGetObjectData { + optional string partnerPlatformType = 1; + optional string misconfiguredProductSteamIds = 2; +} + message SharePlayHostSessionStreamingStartData { optional string hostPeerId = 1; optional string side = 2; @@ -750,6 +766,8 @@ message StreamingVGPEvent { optional string side = 6; optional string spaceIdGame = 7; optional string state = 8; + optional string vid = 9; + optional string pid = 10; } message StreamingHostLinkCreatedEvent { @@ -845,6 +863,9 @@ message EventObjectData { optional RemotePlayHostSessionStreamingStartData remotePlaySessionStart = 62; optional RemotePlayHostSessionStreamingStopData remotePlaySessionStop = 63; optional StreamingStatusData streamingStatus = 64; + optional GameStarterStartRequestObjectData gameStarterStartRequest = 65; + optional MercuryCheckoutRequestObjectData mercuryCheckoutRequest = 66; + optional MercuryWebshopGetObjectData mercuryWebshopGet = 67; } message Event { diff --git a/proto/protos/perfetto/common/android_log_constants.proto b/proto/protos/perfetto/common/android_log_constants.proto deleted file mode 100644 index 8fb1a07..0000000 --- a/proto/protos/perfetto/common/android_log_constants.proto +++ /dev/null @@ -1,25 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -enum AndroidLogId { - LID_DEFAULT = 0; - LID_RADIO = 1; - LID_EVENTS = 2; - LID_SYSTEM = 3; - LID_CRASH = 4; - LID_STATS = 5; - LID_SECURITY = 6; - LID_KERNEL = 7; -} - -enum AndroidLogPriority { - PRIO_UNSPECIFIED = 0; - PRIO_UNUSED = 1; - PRIO_VERBOSE = 2; - PRIO_DEBUG = 3; - PRIO_INFO = 4; - PRIO_WARN = 5; - PRIO_ERROR = 6; - PRIO_FATAL = 7; -} diff --git a/proto/protos/perfetto/common/builtin_clock.proto b/proto/protos/perfetto/common/builtin_clock.proto deleted file mode 100644 index 2abb970..0000000 --- a/proto/protos/perfetto/common/builtin_clock.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -enum BuiltinClock { - BUILTIN_CLOCK_UNKNOWN = 0; - BUILTIN_CLOCK_REALTIME = 1; - BUILTIN_CLOCK_REALTIME_COARSE = 2; - BUILTIN_CLOCK_MONOTONIC = 3; - BUILTIN_CLOCK_MONOTONIC_COARSE = 4; - BUILTIN_CLOCK_MONOTONIC_RAW = 5; - BUILTIN_CLOCK_BOOTTIME = 6; - BUILTIN_CLOCK_MAX_ID = 63; -} diff --git a/proto/protos/perfetto/common/perf_events.proto b/proto/protos/perfetto/common/perf_events.proto deleted file mode 100644 index d33b89f..0000000 --- a/proto/protos/perfetto/common/perf_events.proto +++ /dev/null @@ -1,65 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message PerfEvents { - message Timebase { - optional PerfClock timestamp_clock = 11; - optional string name = 10; - - oneof interval { - uint64 frequency = 2; - uint64 period = 1; - } - - oneof event { - Counter counter = 4; - Tracepoint tracepoint = 3; - RawEvent raw_event = 5; - } - } - - message Tracepoint { - optional string name = 1; - optional string filter = 2; - } - - message RawEvent { - optional uint32 type = 1; - optional uint64 config = 2; - optional uint64 config1 = 3; - optional uint64 config2 = 4; - } - - enum Counter { - UNKNOWN_COUNTER = 0; - SW_CPU_CLOCK = 1; - SW_PAGE_FAULTS = 2; - SW_TASK_CLOCK = 3; - SW_CONTEXT_SWITCHES = 4; - SW_CPU_MIGRATIONS = 5; - SW_PAGE_FAULTS_MIN = 6; - SW_PAGE_FAULTS_MAJ = 7; - SW_ALIGNMENT_FAULTS = 8; - SW_EMULATION_FAULTS = 9; - SW_DUMMY = 20; - HW_CPU_CYCLES = 10; - HW_INSTRUCTIONS = 11; - HW_CACHE_REFERENCES = 12; - HW_CACHE_MISSES = 13; - HW_BRANCH_INSTRUCTIONS = 14; - HW_BRANCH_MISSES = 15; - HW_BUS_CYCLES = 16; - HW_STALLED_CYCLES_FRONTEND = 17; - HW_STALLED_CYCLES_BACKEND = 18; - HW_REF_CPU_CYCLES = 19; - } - - enum PerfClock { - UNKNOWN_PERF_CLOCK = 0; - PERF_CLOCK_REALTIME = 1; - PERF_CLOCK_MONOTONIC = 2; - PERF_CLOCK_MONOTONIC_RAW = 3; - PERF_CLOCK_BOOTTIME = 4; - } -} diff --git a/proto/protos/perfetto/common/sys_stats_counters.proto b/proto/protos/perfetto/common/sys_stats_counters.proto deleted file mode 100644 index cd01038..0000000 --- a/proto/protos/perfetto/common/sys_stats_counters.proto +++ /dev/null @@ -1,172 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -enum MeminfoCounters { - MEMINFO_UNSPECIFIED = 0; - MEMINFO_MEM_TOTAL = 1; - MEMINFO_MEM_FREE = 2; - MEMINFO_MEM_AVAILABLE = 3; - MEMINFO_BUFFERS = 4; - MEMINFO_CACHED = 5; - MEMINFO_SWAP_CACHED = 6; - MEMINFO_ACTIVE = 7; - MEMINFO_INACTIVE = 8; - MEMINFO_ACTIVE_ANON = 9; - MEMINFO_INACTIVE_ANON = 10; - MEMINFO_ACTIVE_FILE = 11; - MEMINFO_INACTIVE_FILE = 12; - MEMINFO_UNEVICTABLE = 13; - MEMINFO_MLOCKED = 14; - MEMINFO_SWAP_TOTAL = 15; - MEMINFO_SWAP_FREE = 16; - MEMINFO_DIRTY = 17; - MEMINFO_WRITEBACK = 18; - MEMINFO_ANON_PAGES = 19; - MEMINFO_MAPPED = 20; - MEMINFO_SHMEM = 21; - MEMINFO_SLAB = 22; - MEMINFO_SLAB_RECLAIMABLE = 23; - MEMINFO_SLAB_UNRECLAIMABLE = 24; - MEMINFO_KERNEL_STACK = 25; - MEMINFO_PAGE_TABLES = 26; - MEMINFO_COMMIT_LIMIT = 27; - MEMINFO_COMMITED_AS = 28; - MEMINFO_VMALLOC_TOTAL = 29; - MEMINFO_VMALLOC_USED = 30; - MEMINFO_VMALLOC_CHUNK = 31; - MEMINFO_CMA_TOTAL = 32; - MEMINFO_CMA_FREE = 33; -} - -enum VmstatCounters { - VMSTAT_UNSPECIFIED = 0; - VMSTAT_NR_FREE_PAGES = 1; - VMSTAT_NR_ALLOC_BATCH = 2; - VMSTAT_NR_INACTIVE_ANON = 3; - VMSTAT_NR_ACTIVE_ANON = 4; - VMSTAT_NR_INACTIVE_FILE = 5; - VMSTAT_NR_ACTIVE_FILE = 6; - VMSTAT_NR_UNEVICTABLE = 7; - VMSTAT_NR_MLOCK = 8; - VMSTAT_NR_ANON_PAGES = 9; - VMSTAT_NR_MAPPED = 10; - VMSTAT_NR_FILE_PAGES = 11; - VMSTAT_NR_DIRTY = 12; - VMSTAT_NR_WRITEBACK = 13; - VMSTAT_NR_SLAB_RECLAIMABLE = 14; - VMSTAT_NR_SLAB_UNRECLAIMABLE = 15; - VMSTAT_NR_PAGE_TABLE_PAGES = 16; - VMSTAT_NR_KERNEL_STACK = 17; - VMSTAT_NR_OVERHEAD = 18; - VMSTAT_NR_UNSTABLE = 19; - VMSTAT_NR_BOUNCE = 20; - VMSTAT_NR_VMSCAN_WRITE = 21; - VMSTAT_NR_VMSCAN_IMMEDIATE_RECLAIM = 22; - VMSTAT_NR_WRITEBACK_TEMP = 23; - VMSTAT_NR_ISOLATED_ANON = 24; - VMSTAT_NR_ISOLATED_FILE = 25; - VMSTAT_NR_SHMEM = 26; - VMSTAT_NR_DIRTIED = 27; - VMSTAT_NR_WRITTEN = 28; - VMSTAT_NR_PAGES_SCANNED = 29; - VMSTAT_WORKINGSET_REFAULT = 30; - VMSTAT_WORKINGSET_ACTIVATE = 31; - VMSTAT_WORKINGSET_NODERECLAIM = 32; - VMSTAT_NR_ANON_TRANSPARENT_HUGEPAGES = 33; - VMSTAT_NR_FREE_CMA = 34; - VMSTAT_NR_SWAPCACHE = 35; - VMSTAT_NR_DIRTY_THRESHOLD = 36; - VMSTAT_NR_DIRTY_BACKGROUND_THRESHOLD = 37; - VMSTAT_PGPGIN = 38; - VMSTAT_PGPGOUT = 39; - VMSTAT_PGPGOUTCLEAN = 40; - VMSTAT_PSWPIN = 41; - VMSTAT_PSWPOUT = 42; - VMSTAT_PGALLOC_DMA = 43; - VMSTAT_PGALLOC_NORMAL = 44; - VMSTAT_PGALLOC_MOVABLE = 45; - VMSTAT_PGFREE = 46; - VMSTAT_PGACTIVATE = 47; - VMSTAT_PGDEACTIVATE = 48; - VMSTAT_PGFAULT = 49; - VMSTAT_PGMAJFAULT = 50; - VMSTAT_PGREFILL_DMA = 51; - VMSTAT_PGREFILL_NORMAL = 52; - VMSTAT_PGREFILL_MOVABLE = 53; - VMSTAT_PGSTEAL_KSWAPD_DMA = 54; - VMSTAT_PGSTEAL_KSWAPD_NORMAL = 55; - VMSTAT_PGSTEAL_KSWAPD_MOVABLE = 56; - VMSTAT_PGSTEAL_DIRECT_DMA = 57; - VMSTAT_PGSTEAL_DIRECT_NORMAL = 58; - VMSTAT_PGSTEAL_DIRECT_MOVABLE = 59; - VMSTAT_PGSCAN_KSWAPD_DMA = 60; - VMSTAT_PGSCAN_KSWAPD_NORMAL = 61; - VMSTAT_PGSCAN_KSWAPD_MOVABLE = 62; - VMSTAT_PGSCAN_DIRECT_DMA = 63; - VMSTAT_PGSCAN_DIRECT_NORMAL = 64; - VMSTAT_PGSCAN_DIRECT_MOVABLE = 65; - VMSTAT_PGSCAN_DIRECT_THROTTLE = 66; - VMSTAT_PGINODESTEAL = 67; - VMSTAT_SLABS_SCANNED = 68; - VMSTAT_KSWAPD_INODESTEAL = 69; - VMSTAT_KSWAPD_LOW_WMARK_HIT_QUICKLY = 70; - VMSTAT_KSWAPD_HIGH_WMARK_HIT_QUICKLY = 71; - VMSTAT_PAGEOUTRUN = 72; - VMSTAT_ALLOCSTALL = 73; - VMSTAT_PGROTATED = 74; - VMSTAT_DROP_PAGECACHE = 75; - VMSTAT_DROP_SLAB = 76; - VMSTAT_PGMIGRATE_SUCCESS = 77; - VMSTAT_PGMIGRATE_FAIL = 78; - VMSTAT_COMPACT_MIGRATE_SCANNED = 79; - VMSTAT_COMPACT_FREE_SCANNED = 80; - VMSTAT_COMPACT_ISOLATED = 81; - VMSTAT_COMPACT_STALL = 82; - VMSTAT_COMPACT_FAIL = 83; - VMSTAT_COMPACT_SUCCESS = 84; - VMSTAT_COMPACT_DAEMON_WAKE = 85; - VMSTAT_UNEVICTABLE_PGS_CULLED = 86; - VMSTAT_UNEVICTABLE_PGS_SCANNED = 87; - VMSTAT_UNEVICTABLE_PGS_RESCUED = 88; - VMSTAT_UNEVICTABLE_PGS_MLOCKED = 89; - VMSTAT_UNEVICTABLE_PGS_MUNLOCKED = 90; - VMSTAT_UNEVICTABLE_PGS_CLEARED = 91; - VMSTAT_UNEVICTABLE_PGS_STRANDED = 92; - VMSTAT_NR_ZSPAGES = 93; - VMSTAT_NR_ION_HEAP = 94; - VMSTAT_NR_GPU_HEAP = 95; - VMSTAT_ALLOCSTALL_DMA = 96; - VMSTAT_ALLOCSTALL_MOVABLE = 97; - VMSTAT_ALLOCSTALL_NORMAL = 98; - VMSTAT_COMPACT_DAEMON_FREE_SCANNED = 99; - VMSTAT_COMPACT_DAEMON_MIGRATE_SCANNED = 100; - VMSTAT_NR_FASTRPC = 101; - VMSTAT_NR_INDIRECTLY_RECLAIMABLE = 102; - VMSTAT_NR_ION_HEAP_POOL = 103; - VMSTAT_NR_KERNEL_MISC_RECLAIMABLE = 104; - VMSTAT_NR_SHADOW_CALL_STACK_BYTES = 105; - VMSTAT_NR_SHMEM_HUGEPAGES = 106; - VMSTAT_NR_SHMEM_PMDMAPPED = 107; - VMSTAT_NR_UNRECLAIMABLE_PAGES = 108; - VMSTAT_NR_ZONE_ACTIVE_ANON = 109; - VMSTAT_NR_ZONE_ACTIVE_FILE = 110; - VMSTAT_NR_ZONE_INACTIVE_ANON = 111; - VMSTAT_NR_ZONE_INACTIVE_FILE = 112; - VMSTAT_NR_ZONE_UNEVICTABLE = 113; - VMSTAT_NR_ZONE_WRITE_PENDING = 114; - VMSTAT_OOM_KILL = 115; - VMSTAT_PGLAZYFREE = 116; - VMSTAT_PGLAZYFREED = 117; - VMSTAT_PGREFILL = 118; - VMSTAT_PGSCAN_DIRECT = 119; - VMSTAT_PGSCAN_KSWAPD = 120; - VMSTAT_PGSKIP_DMA = 121; - VMSTAT_PGSKIP_MOVABLE = 122; - VMSTAT_PGSKIP_NORMAL = 123; - VMSTAT_PGSTEAL_DIRECT = 124; - VMSTAT_PGSTEAL_KSWAPD = 125; - VMSTAT_SWAP_RA = 126; - VMSTAT_SWAP_RA_HIT = 127; - VMSTAT_WORKINGSET_RESTORE = 128; -} diff --git a/proto/protos/perfetto/config/android/android_log_config.proto b/proto/protos/perfetto/config/android/android_log_config.proto deleted file mode 100644 index f24876e..0000000 --- a/proto/protos/perfetto/config/android/android_log_config.proto +++ /dev/null @@ -1,13 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -import "protos/perfetto/common/android_log_constants.proto"; - -message AndroidLogConfig { - repeated AndroidLogId log_ids = 1; - optional AndroidLogPriority min_prio = 3; - repeated string filter_tags = 4; - - reserved 2; -} diff --git a/proto/protos/perfetto/config/android/android_polled_state_config.proto b/proto/protos/perfetto/config/android/android_polled_state_config.proto deleted file mode 100644 index 3dae257..0000000 --- a/proto/protos/perfetto/config/android/android_polled_state_config.proto +++ /dev/null @@ -1,7 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message AndroidPolledStateConfig { - optional uint32 poll_ms = 1; -} diff --git a/proto/protos/perfetto/config/android/packages_list_config.proto b/proto/protos/perfetto/config/android/packages_list_config.proto deleted file mode 100644 index 7dfbc1c..0000000 --- a/proto/protos/perfetto/config/android/packages_list_config.proto +++ /dev/null @@ -1,7 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message PackagesListConfig { - repeated string package_name_filter = 1; -} diff --git a/proto/protos/perfetto/config/chrome/chrome_config.proto b/proto/protos/perfetto/config/chrome/chrome_config.proto deleted file mode 100644 index 288deae..0000000 --- a/proto/protos/perfetto/config/chrome/chrome_config.proto +++ /dev/null @@ -1,18 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message ChromeConfig { - optional string trace_config = 1; - optional bool privacy_filtering_enabled = 2; - optional bool convert_to_legacy_json = 3; - - optional ClientPriority client_priority = 4; - enum ClientPriority { - UNKNOWN = 0; - BACKGROUND = 1; - USER_INITIATED = 2; - } - - optional string json_agent_label_filter = 5; -} diff --git a/proto/protos/perfetto/config/data_source_config.proto b/proto/protos/perfetto/config/data_source_config.proto deleted file mode 100644 index 4ef2f07..0000000 --- a/proto/protos/perfetto/config/data_source_config.proto +++ /dev/null @@ -1,57 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -import "protos/perfetto/config/android/android_log_config.proto"; -import "protos/perfetto/config/android/android_polled_state_config.proto"; -import "protos/perfetto/config/android/packages_list_config.proto"; -import "protos/perfetto/config/chrome/chrome_config.proto"; -import "protos/perfetto/config/ftrace/ftrace_config.proto"; -import "protos/perfetto/config/gpu/gpu_counter_config.proto"; -import "protos/perfetto/config/gpu/vulkan_memory_config.proto"; -import "protos/perfetto/config/inode_file/inode_file_config.proto"; -import "protos/perfetto/config/interceptor_config.proto"; -import "protos/perfetto/config/power/android_power_config.proto"; -import "protos/perfetto/config/process_stats/process_stats_config.proto"; -import "protos/perfetto/config/profiling/heapprofd_config.proto"; -import "protos/perfetto/config/profiling/java_hprof_config.proto"; -import "protos/perfetto/config/profiling/perf_event_config.proto"; -import "protos/perfetto/config/sys_stats/sys_stats_config.proto"; -import "protos/perfetto/config/test_config.proto"; -import "protos/perfetto/config/track_event/track_event_config.proto"; - -message DataSourceConfig { - optional string name = 1; - optional uint32 target_buffer = 2; - optional uint32 trace_duration_ms = 3; - optional uint32 stop_timeout_ms = 7; - optional bool enable_extra_guardrails = 6; - - optional SessionInitiator session_initiator = 8; - enum SessionInitiator { - SESSION_INITIATOR_UNSPECIFIED = 0; - SESSION_INITIATOR_TRUSTED_SYSTEM = 1; - } - - optional uint64 tracing_session_id = 4; - optional FtraceConfig ftrace_config = 100 [lazy = true]; - optional InodeFileConfig inode_file_config = 102 [lazy = true]; - optional ProcessStatsConfig process_stats_config = 103 [lazy = true]; - optional SysStatsConfig sys_stats_config = 104 [lazy = true]; - optional HeapprofdConfig heapprofd_config = 105 [lazy = true]; - optional JavaHprofConfig java_hprof_config = 110 [lazy = true]; - optional AndroidPowerConfig android_power_config = 106 [lazy = true]; - optional AndroidLogConfig android_log_config = 107 [lazy = true]; - optional GpuCounterConfig gpu_counter_config = 108 [lazy = true]; - optional PackagesListConfig packages_list_config = 109 [lazy = true]; - optional PerfEventConfig perf_event_config = 111 [lazy = true]; - optional VulkanMemoryConfig vulkan_memory_config = 112 [lazy = true]; - optional TrackEventConfig track_event_config = 113 [lazy = true]; - optional AndroidPolledStateConfig android_polled_state_config = 114 [lazy = true]; - optional ChromeConfig chrome_config = 101; - optional InterceptorConfig interceptor_config = 115; - optional string legacy_config = 1000; - optional TestConfig for_testing = 1001; - - reserved 268435455; -} diff --git a/proto/protos/perfetto/config/ftrace/ftrace_config.proto b/proto/protos/perfetto/config/ftrace/ftrace_config.proto deleted file mode 100644 index 7dcface..0000000 --- a/proto/protos/perfetto/config/ftrace/ftrace_config.proto +++ /dev/null @@ -1,21 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message FtraceConfig { - repeated string ftrace_events = 1; - repeated string atrace_categories = 2; - repeated string atrace_apps = 3; - optional uint32 buffer_size_kb = 10; - optional uint32 drain_period_ms = 11; - - optional CompactSchedConfig compact_sched = 12; - message CompactSchedConfig { - optional bool enabled = 1; - } - - optional bool symbolize_ksyms = 13; - optional bool initialize_ksyms_synchronously_for_testing = 14; - optional bool throttle_rss_stat = 15; - optional bool disable_generic_events = 16; -} diff --git a/proto/protos/perfetto/config/gpu/gpu_counter_config.proto b/proto/protos/perfetto/config/gpu/gpu_counter_config.proto deleted file mode 100644 index 4f138b9..0000000 --- a/proto/protos/perfetto/config/gpu/gpu_counter_config.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message GpuCounterConfig { - optional uint64 counter_period_ns = 1; - repeated uint32 counter_ids = 2; - optional bool instrumented_sampling = 3; - optional bool fix_gpu_clock = 4; -} diff --git a/proto/protos/perfetto/config/gpu/vulkan_memory_config.proto b/proto/protos/perfetto/config/gpu/vulkan_memory_config.proto deleted file mode 100644 index d06f942..0000000 --- a/proto/protos/perfetto/config/gpu/vulkan_memory_config.proto +++ /dev/null @@ -1,8 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message VulkanMemoryConfig { - optional bool track_driver_memory_usage = 1; - optional bool track_device_memory_usage = 2; -} diff --git a/proto/protos/perfetto/config/inode_file/inode_file_config.proto b/proto/protos/perfetto/config/inode_file/inode_file_config.proto deleted file mode 100644 index e48b112..0000000 --- a/proto/protos/perfetto/config/inode_file/inode_file_config.proto +++ /dev/null @@ -1,17 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message InodeFileConfig { - optional uint32 scan_interval_ms = 1; - optional uint32 scan_delay_ms = 2; - optional uint32 scan_batch_size = 3; - optional bool do_not_scan = 4; - repeated string scan_mount_points = 5; - - repeated MountPointMappingEntry mount_point_mapping = 6; - message MountPointMappingEntry { - optional string mountpoint = 1; - repeated string scan_roots = 2; - } -} diff --git a/proto/protos/perfetto/config/interceptor_config.proto b/proto/protos/perfetto/config/interceptor_config.proto deleted file mode 100644 index ebac839..0000000 --- a/proto/protos/perfetto/config/interceptor_config.proto +++ /dev/null @@ -1,10 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -import "protos/perfetto/config/interceptors/console_config.proto"; - -message InterceptorConfig { - optional string name = 1; - optional ConsoleConfig console_config = 100 [lazy = true]; -} diff --git a/proto/protos/perfetto/config/interceptors/console_config.proto b/proto/protos/perfetto/config/interceptors/console_config.proto deleted file mode 100644 index 7e1ee1b..0000000 --- a/proto/protos/perfetto/config/interceptors/console_config.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message ConsoleConfig { - optional Output output = 1; - enum Output { - OUTPUT_UNSPECIFIED = 0; - OUTPUT_STDOUT = 1; - OUTPUT_STDERR = 2; - } - - optional bool enable_colors = 2; -} diff --git a/proto/protos/perfetto/config/power/android_power_config.proto b/proto/protos/perfetto/config/power/android_power_config.proto deleted file mode 100644 index 3c26e52..0000000 --- a/proto/protos/perfetto/config/power/android_power_config.proto +++ /dev/null @@ -1,19 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message AndroidPowerConfig { - optional uint32 battery_poll_ms = 1; - - repeated BatteryCounters battery_counters = 2; - enum BatteryCounters { - BATTERY_COUNTER_UNSPECIFIED = 0; - BATTERY_COUNTER_CHARGE = 1; - BATTERY_COUNTER_CAPACITY_PERCENT = 2; - BATTERY_COUNTER_CURRENT = 3; - BATTERY_COUNTER_CURRENT_AVG = 4; - } - - optional bool collect_power_rails = 3; - optional bool collect_energy_estimation_breakdown = 4; -} diff --git a/proto/protos/perfetto/config/process_stats/process_stats_config.proto b/proto/protos/perfetto/config/process_stats/process_stats_config.proto deleted file mode 100644 index 339f371..0000000 --- a/proto/protos/perfetto/config/process_stats/process_stats_config.proto +++ /dev/null @@ -1,19 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message ProcessStatsConfig { - repeated Quirks quirks = 1; - enum Quirks { - QUIRKS_UNSPECIFIED = 0; - DISABLE_INITIAL_DUMP = 1 [deprecated = true]; - DISABLE_ON_DEMAND = 2; - } - - optional bool scan_all_processes_on_start = 2; - optional bool record_thread_names = 3; - optional uint32 proc_stats_poll_ms = 4; - optional uint32 proc_stats_cache_ttl_ms = 6; - - reserved 7, 8; -} diff --git a/proto/protos/perfetto/config/profiling/heapprofd_config.proto b/proto/protos/perfetto/config/profiling/heapprofd_config.proto deleted file mode 100644 index c166ca5..0000000 --- a/proto/protos/perfetto/config/profiling/heapprofd_config.proto +++ /dev/null @@ -1,39 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message HeapprofdConfig { - optional uint64 sampling_interval_bytes = 1; - optional uint64 adaptive_sampling_shmem_threshold = 24; - optional uint64 adaptive_sampling_max_sampling_interval_bytes = 25; - repeated string process_cmdline = 2; - repeated uint64 pid = 4; - repeated string target_installed_by = 26; - repeated string heaps = 20; - repeated string exclude_heaps = 27; - optional bool stream_allocations = 23; - repeated uint64 heap_sampling_intervals = 22; - optional bool all_heaps = 21; - optional bool all = 5; - optional uint32 min_anonymous_memory_kb = 15; - optional uint32 max_heapprofd_memory_kb = 16; - optional uint64 max_heapprofd_cpu_secs = 17; - repeated string skip_symbol_prefix = 7; - - optional ContinuousDumpConfig continuous_dump_config = 6; - message ContinuousDumpConfig { - optional uint32 dump_phase_ms = 5; - optional uint32 dump_interval_ms = 6; - } - - optional uint64 shmem_size_bytes = 8; - optional bool block_client = 9; - optional uint32 block_client_timeout_us = 14; - optional bool no_startup = 10; - optional bool no_running = 11; - optional bool dump_at_max = 13; - optional bool disable_fork_teardown = 18; - optional bool disable_vfork_detection = 19; - - reserved 12; -} diff --git a/proto/protos/perfetto/config/profiling/java_hprof_config.proto b/proto/protos/perfetto/config/profiling/java_hprof_config.proto deleted file mode 100644 index e1a352d..0000000 --- a/proto/protos/perfetto/config/profiling/java_hprof_config.proto +++ /dev/null @@ -1,20 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message JavaHprofConfig { - repeated string process_cmdline = 1; - repeated uint64 pid = 2; - repeated string target_installed_by = 7; - - optional ContinuousDumpConfig continuous_dump_config = 3; - message ContinuousDumpConfig { - optional uint32 dump_phase_ms = 1; - optional uint32 dump_interval_ms = 2; - optional bool scan_pids_only_on_start = 3; - } - - optional uint32 min_anonymous_memory_kb = 4; - optional bool dump_smaps = 5; - repeated string ignored_types = 6; -} diff --git a/proto/protos/perfetto/config/profiling/perf_event_config.proto b/proto/protos/perfetto/config/profiling/perf_event_config.proto deleted file mode 100644 index 3ef0d97..0000000 --- a/proto/protos/perfetto/config/profiling/perf_event_config.proto +++ /dev/null @@ -1,48 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -import "protos/perfetto/common/perf_events.proto"; - -message PerfEventConfig { - optional PerfEvents.Timebase timebase = 15; - - optional CallstackSampling callstack_sampling = 16; - message CallstackSampling { - optional Scope scope = 1; - optional bool kernel_frames = 2; - optional UnwindMode user_frames = 3; - } - - optional uint32 ring_buffer_read_period_ms = 8; - optional uint32 ring_buffer_pages = 3; - optional uint64 max_enqueued_footprint_kb = 17; - optional uint32 max_daemon_memory_kb = 13; - optional uint32 remote_descriptor_timeout_ms = 9; - optional uint32 unwind_state_clear_period_ms = 10; - repeated string target_installed_by = 18; - optional bool all_cpus = 1; - optional uint32 sampling_frequency = 2; - optional bool kernel_frames = 12; - repeated int32 target_pid = 4; - repeated string target_cmdline = 5; - repeated int32 exclude_pid = 6; - repeated string exclude_cmdline = 7; - optional uint32 additional_cmdline_count = 11; - - reserved 14; - - message Scope { - repeated int32 target_pid = 1; - repeated string target_cmdline = 2; - repeated int32 exclude_pid = 3; - repeated string exclude_cmdline = 4; - optional uint32 additional_cmdline_count = 5; - } - - enum UnwindMode { - UNWIND_UNKNOWN = 0; - UNWIND_SKIP = 1; - UNWIND_DWARF = 2; - } -} diff --git a/proto/protos/perfetto/config/sys_stats/sys_stats_config.proto b/proto/protos/perfetto/config/sys_stats/sys_stats_config.proto deleted file mode 100644 index b0a57db..0000000 --- a/proto/protos/perfetto/config/sys_stats/sys_stats_config.proto +++ /dev/null @@ -1,25 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -import "protos/perfetto/common/sys_stats_counters.proto"; - -message SysStatsConfig { - optional uint32 meminfo_period_ms = 1; - repeated MeminfoCounters meminfo_counters = 2; - optional uint32 vmstat_period_ms = 3; - repeated VmstatCounters vmstat_counters = 4; - optional uint32 stat_period_ms = 5; - - repeated StatCounters stat_counters = 6; - enum StatCounters { - STAT_UNSPECIFIED = 0; - STAT_CPU_TIMES = 1; - STAT_IRQ_COUNTS = 2; - STAT_SOFTIRQ_COUNTS = 3; - STAT_FORK_COUNT = 4; - } - - optional uint32 devfreq_period_ms = 7; - optional uint32 cpufreq_period_ms = 8; -} diff --git a/proto/protos/perfetto/config/test_config.proto b/proto/protos/perfetto/config/test_config.proto deleted file mode 100644 index a8b36c6..0000000 --- a/proto/protos/perfetto/config/test_config.proto +++ /dev/null @@ -1,29 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message TestConfig { - optional uint32 message_count = 1; - optional uint32 max_messages_per_second = 2; - optional uint32 seed = 3; - optional uint32 message_size = 4; - optional bool send_batch_on_register = 5; - - optional DummyFields dummy_fields = 6; - message DummyFields { - optional uint32 field_uint32 = 1; - optional int32 field_int32 = 2; - optional uint64 field_uint64 = 3; - optional int64 field_int64 = 4; - optional fixed64 field_fixed64 = 5; - optional sfixed64 field_sfixed64 = 6; - optional fixed32 field_fixed32 = 7; - optional sfixed32 field_sfixed32 = 8; - optional double field_double = 9; - optional float field_float = 10; - optional sint64 field_sint64 = 11; - optional sint32 field_sint32 = 12; - optional string field_string = 13; - optional bytes field_bytes = 14; - } -} diff --git a/proto/protos/perfetto/config/trace_config.proto b/proto/protos/perfetto/config/trace_config.proto deleted file mode 100644 index 7d4b253..0000000 --- a/proto/protos/perfetto/config/trace_config.proto +++ /dev/null @@ -1,159 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -import "protos/perfetto/common/builtin_clock.proto"; -import "protos/perfetto/config/data_source_config.proto"; - -message TraceConfig { - repeated BufferConfig buffers = 1; - message BufferConfig { - optional uint32 size_kb = 1; - - optional FillPolicy fill_policy = 4; - enum FillPolicy { - UNSPECIFIED = 0; - RING_BUFFER = 1; - DISCARD = 2; - } - - reserved 2, 3; - } - - repeated DataSource data_sources = 2; - message DataSource { - optional DataSourceConfig config = 1; - repeated string producer_name_filter = 2; - repeated string producer_name_regex_filter = 3; - } - - optional BuiltinDataSource builtin_data_sources = 20; - message BuiltinDataSource { - optional bool disable_clock_snapshotting = 1; - optional bool disable_trace_config = 2; - optional bool disable_system_info = 3; - optional bool disable_service_events = 4; - optional BuiltinClock primary_trace_clock = 5; - optional uint32 snapshot_interval_ms = 6; - optional bool prefer_suspend_clock_for_snapshot = 7; - } - - optional uint32 duration_ms = 3; - optional bool enable_extra_guardrails = 4; - - optional LockdownModeOperation lockdown_mode = 5; - enum LockdownModeOperation { - LOCKDOWN_UNCHANGED = 0; - LOCKDOWN_CLEAR = 1; - LOCKDOWN_SET = 2; - } - - repeated ProducerConfig producers = 6; - message ProducerConfig { - optional string producer_name = 1; - optional uint32 shm_size_kb = 2; - optional uint32 page_size_kb = 3; - } - - optional StatsdMetadata statsd_metadata = 7; - message StatsdMetadata { - optional int64 triggering_alert_id = 1; - optional int32 triggering_config_uid = 2; - optional int64 triggering_config_id = 3; - optional int64 triggering_subscription_id = 4; - } - - optional bool write_into_file = 8; - optional string output_path = 29; - optional uint32 file_write_period_ms = 9; - optional uint64 max_file_size_bytes = 10; - - optional GuardrailOverrides guardrail_overrides = 11; - message GuardrailOverrides { - optional uint64 max_upload_per_day_bytes = 1; - } - - optional bool deferred_start = 12; - optional uint32 flush_period_ms = 13; - optional uint32 flush_timeout_ms = 14; - optional uint32 data_source_stop_timeout_ms = 23; - optional bool notify_traceur = 16; - optional int32 bugreport_score = 30; - - optional TriggerConfig trigger_config = 17; - message TriggerConfig { - optional TriggerMode trigger_mode = 1; - enum TriggerMode { - UNSPECIFIED = 0; - START_TRACING = 1; - STOP_TRACING = 2; - } - - repeated Trigger triggers = 2; - message Trigger { - optional string name = 1; - optional string producer_name_regex = 2; - optional uint32 stop_delay_ms = 3; - optional uint32 max_per_24_h = 4; - optional double skip_probability = 5; - } - - optional uint32 trigger_timeout_ms = 3; - } - - repeated string activate_triggers = 18; - - optional IncrementalStateConfig incremental_state_config = 21; - message IncrementalStateConfig { - optional uint32 clear_period_ms = 1; - } - - optional bool allow_user_build_tracing = 19; - optional string unique_session_name = 22; - - optional CompressionType compression_type = 24; - enum CompressionType { - COMPRESSION_TYPE_UNSPECIFIED = 0; - COMPRESSION_TYPE_DEFLATE = 1; - } - - optional IncidentReportConfig incident_report_config = 25; - message IncidentReportConfig { - optional string destination_package = 1; - optional string destination_class = 2; - optional int32 privacy_level = 3; - optional bool skip_incidentd = 5; - optional bool skip_dropbox = 4 [deprecated = true]; - } - - optional StatsdLogging statsd_logging = 31; - enum StatsdLogging { - STATSD_LOGGING_UNSPECIFIED = 0; - STATSD_LOGGING_ENABLED = 1; - STATSD_LOGGING_DISABLED = 2; - } - - optional int64 trace_uuid_msb = 27; - optional int64 trace_uuid_lsb = 28; - - optional TraceFilter trace_filter = 33; - message TraceFilter { - optional bytes bytecode = 1; - } - - optional AndroidReportConfig android_report_config = 34; - message AndroidReportConfig { - optional string reporter_service_package = 1; - optional string reporter_service_class = 2; - optional bool skip_report = 3; - optional bool use_pipe_in_framework_for_testing = 4; - } - - optional CmdTraceStartDelay cmd_trace_start_delay = 35; - message CmdTraceStartDelay { - optional uint32 min_delay_ms = 1; - optional uint32 max_delay_ms = 2; - } - - reserved 15, 26, 32; -} diff --git a/proto/protos/perfetto/config/track_event/track_event_config.proto b/proto/protos/perfetto/config/track_event/track_event_config.proto deleted file mode 100644 index 3d9e2fa..0000000 --- a/proto/protos/perfetto/config/track_event/track_event_config.proto +++ /dev/null @@ -1,14 +0,0 @@ -syntax = "proto2"; - -package perfetto.protos; - -message TrackEventConfig { - repeated string disabled_categories = 1; - repeated string enabled_categories = 2; - repeated string disabled_tags = 3; - repeated string enabled_tags = 4; - optional bool disable_incremental_timestamps = 5; - optional uint64 timestamp_unit_multiplier = 6; - optional bool filter_debug_annotations = 7; - optional bool enable_thread_time_sampling = 8; -} diff --git a/proto/protos/perfetto/trace/track_event/chrome_active_processes.proto b/proto/protos/perfetto/trace/track_event/chrome_active_processes.proto new file mode 100644 index 0000000..f75ca7e --- /dev/null +++ b/proto/protos/perfetto/trace/track_event/chrome_active_processes.proto @@ -0,0 +1,7 @@ +syntax = "proto2"; + +package perfetto.protos; + +message ChromeActiveProcesses { + repeated int32 pid = 1; +} diff --git a/proto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto b/proto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto index 0b53009..9efac23 100644 --- a/proto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto +++ b/proto/protos/perfetto/trace/track_event/chrome_frame_reporter.proto @@ -36,4 +36,13 @@ message ChromeFrameReporter { optional bool has_smooth_input_main = 9; optional bool has_missing_content = 10; optional uint64 layer_tree_host_id = 11; + optional bool has_high_latency = 12; + + optional FrameType frame_type = 13; + enum FrameType { + FORKED = 0; + BACKFILL = 1; + } + + repeated string high_latency_contribution_stage = 14; } diff --git a/proto/protos/perfetto/trace/track_event/chrome_mojo_event_info.proto b/proto/protos/perfetto/trace/track_event/chrome_mojo_event_info.proto index ccca3c6..2b83f4f 100644 --- a/proto/protos/perfetto/trace/track_event/chrome_mojo_event_info.proto +++ b/proto/protos/perfetto/trace/track_event/chrome_mojo_event_info.proto @@ -6,4 +6,8 @@ message ChromeMojoEventInfo { optional string watcher_notify_interface_tag = 1; optional uint32 ipc_hash = 2; optional string mojo_interface_tag = 3; + optional uint64 mojo_interface_method_iid = 4; + optional bool is_reply = 5; + optional uint64 payload_size = 6; + optional uint64 data_num_bytes = 7; } diff --git a/proto/protos/perfetto/trace/track_event/source_location.proto b/proto/protos/perfetto/trace/track_event/source_location.proto index d41df2f..db70213 100644 --- a/proto/protos/perfetto/trace/track_event/source_location.proto +++ b/proto/protos/perfetto/trace/track_event/source_location.proto @@ -2,6 +2,12 @@ syntax = "proto2"; package perfetto.protos; +message UnsymbolizedSourceLocation { + optional uint64 iid = 1; + optional uint64 mapping_id = 2; + optional uint64 rel_pc = 3; +} + message SourceLocation { optional uint64 iid = 1; optional string file_name = 2; diff --git a/proto/protos/perfetto/trace/track_event/track_event.proto b/proto/protos/perfetto/trace/track_event/track_event.proto index 8b9cf6d..3a3d61a 100644 --- a/proto/protos/perfetto/trace/track_event/track_event.proto +++ b/proto/protos/perfetto/trace/track_event/track_event.proto @@ -5,6 +5,7 @@ package perfetto.protos; import "protos/perfetto/trace/track_event/debug_annotation.proto"; import "protos/perfetto/trace/track_event/log_message.proto"; import "protos/perfetto/trace/track_event/task_execution.proto"; +import "protos/perfetto/trace/track_event/chrome_active_processes.proto"; import "protos/perfetto/trace/track_event/chrome_application_state_info.proto"; import "protos/perfetto/trace/track_event/chrome_compositor_scheduler_state.proto"; import "protos/perfetto/trace/track_event/chrome_content_settings_event_info.proto"; @@ -38,8 +39,10 @@ message TrackEvent { repeated int64 extra_counter_values = 12; repeated uint64 extra_double_counter_track_uuids = 45; repeated double extra_double_counter_values = 46; - repeated uint64 flow_ids = 36; - repeated uint64 terminating_flow_ids = 42; + repeated uint64 flow_ids_old = 36 [deprecated = true]; + repeated fixed64 flow_ids = 47; + repeated uint64 terminating_flow_ids_old = 42 [deprecated = true]; + repeated fixed64 terminating_flow_ids = 48; repeated DebugAnnotation debug_annotations = 4; optional TaskExecution task_execution = 5; optional LogMessage log_message = 21; @@ -54,6 +57,7 @@ message TrackEvent { optional ChromeRendererSchedulerState chrome_renderer_scheduler_state = 40; optional ChromeWindowHandleEventInfo chrome_window_handle_event_info = 41; optional ChromeContentSettingsEventInfo chrome_content_settings_event_info = 43; + optional ChromeActiveProcesses chrome_active_processes = 49; optional ChromeMessagePump chrome_message_pump = 35; optional ChromeMojoEventInfo chrome_mojo_event_info = 38; diff --git a/proto/protos/third_party/chromium/chrome_track_event.proto b/proto/protos/third_party/chromium/chrome_track_event.proto index 8f46e69..1f1a0b9 100644 --- a/proto/protos/third_party/chromium/chrome_track_event.proto +++ b/proto/protos/third_party/chromium/chrome_track_event.proto @@ -10,6 +10,23 @@ message ChromeMemoryPressureNotification { optional uint64 creation_location_iid = 2; } +message BlinkTaskScope { + optional TaskScopeType type = 1; + enum TaskScopeType { + TASK_SCOPE_UNKNOWN = 0; + TASK_SCOPE_CALLBACK = 1; + TASK_SCOPE_SCHEDULED_ACTION = 2; + TASK_SCOPE_SCRIPT_EXECUTION = 3; + TASK_SCOPE_POST_MESSAGE = 4; + TASK_SCOPE_POP_STATE = 5; + } + + optional int64 scope_task_id = 2; + optional int64 running_task_id_to_be_restored = 3; + optional int64 continuation_task_id_to_be_restored = 4; + optional int64 parent_task_id = 5; +} + message ChromeTaskAnnotator { optional uint32 ipc_hash = 1; optional uint64 task_delay_us = 2; @@ -63,6 +80,16 @@ message FrameTreeNodeInfo { optional bool has_speculative_render_frame_host = 3; optional RenderFrameHost current_frame_host = 4; optional RenderFrameHost speculative_frame_host = 5; + + optional FrameType frame_type = 6; + enum FrameType { + UNSPECIFIED_FRAME_TYPE = 0; + SUBFRAME = 1; + PRIMARY_MAIN_FRAME = 2; + PRERENDER_MAIN_FRAME = 3; + FENCED_FRAME_ROOT = 4; + } + repeated DebugAnnotation debug_annotations = 99; } @@ -75,6 +102,19 @@ message ChromeHashedPerformanceMark { optional uint32 sequence_number = 6; } +message ChromeSqlDiagnostics { + optional int32 reported_sqlite_error_code = 1; + optional int32 error_code = 2; + optional int32 last_errno = 3; + optional string sql_statement = 4; + optional int32 version = 5; + repeated string schema_sql_rows = 6; + repeated string schema_other_row_names = 7; + optional bool has_valid_header = 8; + optional bool has_valid_schema = 9; + optional string error_message = 10; +} + message ChromeWebAppBadNavigate { optional bool is_kiosk = 1; optional bool has_hosted_app_controller = 2; @@ -208,6 +248,7 @@ message SendBeginMainFrameToCommitBreakdown { optional uint64 animate_us = 2; optional uint64 style_update_us = 3; optional uint64 layout_update_us = 4; + optional uint64 accessibility_update_us = 12; optional uint64 prepaint_us = 5; optional uint64 compositing_inputs_us = 6; optional uint64 compositing_assignments_us = 7; @@ -251,6 +292,7 @@ message RenderFrameHost { optional RenderFrameHost outer_document = 9; optional RenderFrameHost embedder = 10; optional BrowsingContextState browsing_context_state = 11; + optional FrameTreeNodeInfo.FrameType frame_type = 12; repeated DebugAnnotation debug_annotations = 99; } @@ -416,6 +458,8 @@ message RendererMainThreadTaskExecution { TASK_TYPE_INTERNAL_INPUT_BLOCKING = 77; TASK_TYPE_WEB_GPU = 78; TASK_TYPE_INTERNAL_POST_MESSAGE_FORWARDING = 79; + TASK_TYPE_INTERNAL_NAVIGATION_CANCELLATION = 80; + TASK_TYPE_LOW_PRIORITY_SCRIPT_EXECUTION = 81; } optional bool frame_visible = 2; @@ -463,6 +507,9 @@ message EventLatency { GESTURE_PINCH_UPDATE = 25; INERTIAL_GESTURE_SCROLL_UPDATE = 26; } + + optional bool has_high_latency = 2; + repeated string high_latency_stage = 3; } message ProcessSingleton { @@ -506,6 +553,204 @@ message NavigationHandle { repeated DebugAnnotation debug_annotations = 99; } +message AndroidIPC { + optional string name = 1; + optional int64 dur_ms = 2; +} + +message SequenceManagerTask { + optional Priority priority = 1; + enum Priority { + UNKNOWN = 0; + CONTROL_PRIORITY = 1; + HIGHEST_PRIORITY = 2; + VERY_HIGH_PRIORITY = 3; + HIGH_PRIORITY = 4; + NORMAL_PRIORITY = 5; + LOW_PRIORITY = 6; + BEST_EFFORT_PRIORITY = 7; + } + + optional QueueName queue_name = 2; + enum QueueName { + UNKNOWN_TQ = 0; + DEFAULT_TQ = 1; + TASK_ENVIRONMENT_DEFAULT_TQ = 2; + TEST2_TQ = 3; + TEST_TQ = 4; + CONTROL_TQ = 5; + SUBTHREAD_CONTROL_TQ = 6; + SUBTHREAD_DEFAULT_TQ = 7; + SUBTHREAD_INPUT_TQ = 8; + UI_BEST_EFFORT_TQ = 9; + UI_BOOTSTRAP_TQ = 10; + UI_CONTROL_TQ = 11; + UI_DEFAULT_TQ = 12; + UI_NAVIGATION_NETWORK_RESPONSE_TQ = 13; + UI_RUN_ALL_PENDING_TQ = 14; + UI_SERVICE_WORKER_STORAGE_CONTROL_RESPONSE_TQ = 15; + UI_THREAD_TQ = 16; + UI_USER_BLOCKING_TQ = 17; + UI_USER_INPUT_TQ = 18; + UI_USER_VISIBLE_TQ = 19; + IO_BEST_EFFORT_TQ = 20; + IO_BOOTSTRAP_TQ = 21; + IO_CONTROL_TQ = 22; + IO_DEFAULT_TQ = 23; + IO_NAVIGATION_NETWORK_RESPONSE_TQ = 24; + IO_RUN_ALL_PENDING_TQ = 25; + IO_SERVICE_WORKER_STORAGE_CONTROL_RESPONSE_TQ = 26; + IO_THREAD_TQ = 27; + IO_USER_BLOCKING_TQ = 28; + IO_USER_INPUT_TQ = 29; + IO_USER_VISIBLE_TQ = 30; + COMPOSITOR_TQ = 31; + DETACHED_TQ = 32; + FRAME_DEFERRABLE_TQ = 33; + FRAME_LOADING_CONTROL_TQ = 34; + FRAME_LOADING_TQ = 35; + FRAME_PAUSABLE_TQ = 36; + FRAME_THROTTLEABLE_TQ = 37; + FRAME_UNPAUSABLE_TQ = 38; + IDLE_TQ = 39; + INPUT_TQ = 40; + IPC_TRACKING_FOR_CACHED_PAGES_TQ = 41; + NON_WAKING_TQ = 42; + OTHER_TQ = 43; + V8_TQ = 44; + WEB_SCHEDULING_TQ = 45; + WORKER_IDLE_TQ = 46; + WORKER_PAUSABLE_TQ = 47; + WORKER_THREAD_INTERNAL_TQ = 48; + WORKER_THROTTLEABLE_TQ = 49; + WORKER_UNPAUSABLE_TQ = 50; + WORKER_WEB_SCHEDULING_TQ = 51; + UI_USER_BLOCKING_DEFERRABLE_TQ = 52; + IO_USER_BLOCKING_DEFERRABLE_TQ = 53; + } +} + +message AndroidToolbar { + optional BlockCaptureReason block_capture_reason = 1; + enum BlockCaptureReason { + BLOCKED_UNKNOWN = 0; + BLOCKED_TOOLBAR_OR_RESULT_NULL = 1; + BLOCKED_VIEW_NOT_DIRTY = 2; + BLOCKED_SNAPSHOT_SAME = 3; + BLOCKED_URL_BAR_HAS_FOCUS = 4; + BLOCKED_URL_BAR_FOCUS_IN_PROGRESS = 5; + BLOCKED_OPTIONAL_BUTTON_ANIMATION_IN_PROGRESS = 6; + BLOCKED_STATUS_ICON_ANIMATION_IN_PROGRESS = 7; + BLOCKED_SCROLL_ABLATION = 8; + BLOCKED_BROWSER_CONTROLS_LOCKED = 9; + BLOCKED_TAB_SWITCHER_MODE = 10; + BLOCKED_COMPOSITOR_IN_MOTION = 11; + } + + optional AllowCaptureReason allow_capture_reason = 2; + enum AllowCaptureReason { + ALLOWED_UNKNOWN = 0; + ALLOWED_FORCE_CAPTURE = 1; + ALLOWED_SNAPSHOT_DIFFERENCE = 2; + } + + optional SnapshotDifference snapshot_difference = 3; + enum SnapshotDifference { + DIFF_NONE = 0; + DIFF_NULL = 1; + DIFF_TINT = 2; + DIFF_TAB_COUNT = 3; + DIFF_OPTIONAL_BUTTON_DATA = 4; + DIFF_VISUAL_STATE = 5; + DIFF_SECURITY_ICON = 6; + DIFF_SHOWING_UPDATE_BADGE = 7; + DIFF_PAINT_PREVIEW = 8; + DIFF_PROGRESS = 9; + DIFF_LOCATION_BAR_WIDTH = 10; + DIFF_URL_TEXT = 11; + DIFF_HOME_BUTTON_COLOR = 12; + DIFF_TITLE_TEXT = 13; + DIFF_CCT_ANIMATION = 14; + } +} + +message ActiveProcesses { + repeated int32 pid = 1; +} + +message UkmPageLoadTimingUpdate { + optional int64 ukm_source_id = 1; + optional string latest_url = 2; + optional float latest_cumulative_layout_shift = 3; + optional double latest_largest_contentful_paint_ms = 4; + optional double first_contentful_paint_ms = 5; +} + +message V8StackFrame { + optional string function_name = 1; + + optional ScriptLocation script_location = 2; + message ScriptLocation { + optional string source_url = 1; + optional int64 line_number = 2; + optional int64 column_number = 3; + } +} + +message BlinkExecutionContext { + optional ContextType type = 1; + enum ContextType { + UNKNOWN_CONTEXT = 0; + WINDOW = 1; + WORKLET = 2; + DEDICATED_WORKER = 3; + SHARED_WORKER = 4; + SERVICE_WORKER = 5; + } + + optional string url = 2; + optional string origin = 3; +} + +message BlinkSourceLocation { + optional string function_name = 1; + optional int32 script_id = 2; + optional string url = 3; + optional int32 line_number = 4; + optional int32 column_number = 5; + optional string stack_trace = 6; + repeated V8StackFrame stack_frames = 7; +} + +message BlinkHighEntropyAPI { + optional BlinkExecutionContext execution_context = 1; + + optional CalledJsApi called_api = 2; + message CalledJsApi { + optional string identifier = 1; + repeated JSFunctionArgument func_arguments = 2; + optional BlinkSourceLocation source_location = 3; + } + + message JSFunctionArgument { + optional ArgumentType type = 1; + enum ArgumentType { + UNKNOWN_TYPE = 0; + NULL_TYPE = 1; + UNDEFINED = 2; + BIGINT = 3; + BOOLEAN = 4; + FUNCTION = 5; + NUMBER = 6; + STRING = 7; + SYMBOL = 8; + OBJECT = 9; + } + + optional string value = 2; + } +} + message ChromeTrackEvent { extend TrackEvent { optional ChromeAppState chrome_app_state = 1000; @@ -546,6 +791,14 @@ message ChromeTrackEvent { optional BrowsingContextState browsing_context_state = 1035; optional DeviceThermalState device_thermal_state = 1036; optional NavigationHandle navigation = 1037; + optional AndroidIPC android_ipc = 1038; + optional ChromeSqlDiagnostics sql_diagnostics = 1039; + optional SequenceManagerTask sequence_manager_task = 1040; + optional AndroidToolbar android_toolbar = 1041; + optional ActiveProcesses active_processes = 1042; + optional BlinkTaskScope blink_task_scope = 1043; + optional UkmPageLoadTimingUpdate ukm_page_load_timing_update = 1044; + optional BlinkHighEntropyAPI high_entropy_api = 1045; } } diff --git a/src/constants.ts b/src/constants.ts index f79dbab..c6790ac 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -1,4 +1,4 @@ /** * The launcher version sent to the demux API on startup. It can be found in the upc.exe file properties (e.g. File version: 132.2.0.10690) */ -export const API_VERSION = 10857; +export const API_VERSION = 10872; diff --git a/src/generated/proto_download_service/download_service.ts b/src/generated/proto_download_service/download_service.ts index 62d4b5b..f1807e0 100644 --- a/src/generated/proto_download_service/download_service.ts +++ b/src/generated/proto_download_service/download_service.ts @@ -37,6 +37,7 @@ export interface InitializeReq { expiration?: number; signature?: string; ownershipToken: string; + networkId: string; } export interface InitializeRsp { diff --git a/src/generated/proto_overlay/overlay.ts b/src/generated/proto_overlay/overlay.ts index c9490a9..1195282 100644 --- a/src/generated/proto_overlay/overlay.ts +++ b/src/generated/proto_overlay/overlay.ts @@ -259,6 +259,7 @@ export interface StreamingVGPEventReq { source: number; profileId: string; streamingGamepadId: number; + vidPid: number; } export interface StreamingHostCreateTokenPush { @@ -304,6 +305,11 @@ export interface StreamingHostUpdateGuestRemainingTimeReq { errorCode: number; } +export interface StreamingHostUpdateCredentialsPush { + ubiTicket: string; + sessionId: string; +} + export interface StreamingHostReadyReq { } @@ -425,6 +431,7 @@ export interface Push { streamingHostCreateToken?: StreamingHostCreateTokenPush; streamingHostDecodeToken?: StreamingHostDecodeTokenPush; streamingHostUpdateGuestRemainingTime?: StreamingHostUpdateGuestRemainingTimePush; + streamingHostUpdateCredentials?: StreamingHostUpdateCredentialsPush; } export interface Upstream { diff --git a/src/generated/proto_ownership/ownership.ts b/src/generated/proto_ownership/ownership.ts index 15ab96f..272562c 100644 --- a/src/generated/proto_ownership/ownership.ts +++ b/src/generated/proto_ownership/ownership.ts @@ -287,6 +287,9 @@ export enum RegisterOwnershipRsp_Result { Result_NoLongerAvailable = 9, Result_NotAvailableInRegion = 10, Result_UsedCdKeyThisAccount = 11, + Result_BadUbiTicket = 12, + Result_AgeGateRestricted = 13, + Result_BadRequest = 14, UNRECOGNIZED = -1, } @@ -608,6 +611,8 @@ export interface Req { registerOwnershipFromWegameReq?: RegisterOwnershipFromWeGameReq; ownershipTokenReq?: OwnershipTokenReq; registerTemporaryOwnershipReq?: RegisterTemporaryOwnershipReq; + ubiTicket: string; + ubiSessionId: string; } export interface Rsp { diff --git a/src/generated/proto_statistics/Statistics.ts b/src/generated/proto_statistics/Statistics.ts index 35a812e..ad69240 100644 --- a/src/generated/proto_statistics/Statistics.ts +++ b/src/generated/proto_statistics/Statistics.ts @@ -109,12 +109,12 @@ export interface GameLaunchObjectData { } export interface AppQuitObjectData { - quitReason: AppQuitObjectData_QuitReason; secondsSinceStart: number; demuxConnectionFailureCount: number; discardedEventsCount: number; generatedFromCache: boolean; shopVisible: boolean; + quitReason: string; } export enum AppQuitObjectData_QuitReason { @@ -266,6 +266,7 @@ export interface DownloadObjectData { brand: number; initiatedFrom: string; installerId: string; + networkId: string; } export interface HardwareScoreData { @@ -625,6 +626,21 @@ export interface TrustedDeviceActionData { defaultFriendlyName: boolean; } +export interface GameStarterStartRequestObjectData { + steamId: string; + steamTicket: string; +} + +export interface MercuryCheckoutRequestObjectData { + steamId: string; + partnerPlatformType: string; +} + +export interface MercuryWebshopGetObjectData { + partnerPlatformType: string; + misconfiguredProductSteamIds: string; +} + export interface SharePlayHostSessionStreamingStartData { hostPeerId: string; side: string; @@ -758,6 +774,8 @@ export interface StreamingVGPEvent { side: string; spaceIdGame: string; state: string; + vid: string; + pid: string; } export interface StreamingHostLinkCreatedEvent { @@ -853,6 +871,9 @@ export interface EventObjectData { remotePlaySessionStart?: RemotePlayHostSessionStreamingStartData; remotePlaySessionStop?: RemotePlayHostSessionStreamingStopData; streamingStatus?: StreamingStatusData; + gameStarterStartRequest?: GameStarterStartRequestObjectData; + mercuryCheckoutRequest?: MercuryCheckoutRequestObjectData; + mercuryWebshopGet?: MercuryWebshopGetObjectData; } export interface Event {