Merge "Cast PERFETTO_TYPE_IDENTIFIER to bool"
diff --git a/Android.bp b/Android.bp
index 2196b71..f4f9a2d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -689,6 +689,7 @@
"src/android_internal/health_hal.cc",
"src/android_internal/incident_service.cc",
"src/android_internal/power_stats.cc",
+ "src/android_internal/statsd.cc",
"src/android_internal/statsd_logging.cc",
"src/android_internal/tracing_service_proxy.cc",
],
@@ -706,6 +707,7 @@
"libincident",
"liblog",
"libservices",
+ "libstatspull",
"libstatssocket",
"libtracingproxy",
"libutils",
@@ -10038,6 +10040,7 @@
"src/trace_processor/metrics/sql/android/java_heap_histogram.sql",
"src/trace_processor/metrics/sql/android/java_heap_stats.sql",
"src/trace_processor/metrics/sql/android/mem_stats_priority_breakdown.sql",
+ "src/trace_processor/metrics/sql/android/network_activity_template.sql",
"src/trace_processor/metrics/sql/android/p_state.sql",
"src/trace_processor/metrics/sql/android/power_drain_in_watts.sql",
"src/trace_processor/metrics/sql/android/power_profile_data.sql",
diff --git a/BUILD b/BUILD
index 0f0551b..195292f 100644
--- a/BUILD
+++ b/BUILD
@@ -1787,6 +1787,7 @@
"src/trace_processor/metrics/sql/android/java_heap_histogram.sql",
"src/trace_processor/metrics/sql/android/java_heap_stats.sql",
"src/trace_processor/metrics/sql/android/mem_stats_priority_breakdown.sql",
+ "src/trace_processor/metrics/sql/android/network_activity_template.sql",
"src/trace_processor/metrics/sql/android/p_state.sql",
"src/trace_processor/metrics/sql/android/power_drain_in_watts.sql",
"src/trace_processor/metrics/sql/android/power_profile_data.sql",
diff --git a/include/perfetto/protozero/proto_decoder.h b/include/perfetto/protozero/proto_decoder.h
index 2210532..c27fcad 100644
--- a/include/perfetto/protozero/proto_decoder.h
+++ b/include/perfetto/protozero/proto_decoder.h
@@ -340,7 +340,8 @@
uint32_t field_id,
bool* parse_error_location) const {
const Field& field = Get(field_id);
- if (field.valid()) {
+ if (field.valid() &&
+ field.type() == proto_utils::ProtoWireType::kLengthDelimited) {
return PackedRepeatedFieldIterator<wire_type, cpp_type>(
field.data(), field.size(), parse_error_location);
}
diff --git a/protos/perfetto/metrics/android/monitor_contention_metric.proto b/protos/perfetto/metrics/android/monitor_contention_metric.proto
index 91122eb..00585d8 100644
--- a/protos/perfetto/metrics/android/monitor_contention_metric.proto
+++ b/protos/perfetto/metrics/android/monitor_contention_metric.proto
@@ -21,28 +21,38 @@
// This metric provides information about the monitor contention graph in a
// trace
message AndroidMonitorContentionMetric {
+ // Next field id: 24
message Node {
+ // Global context
optional int64 node_parent_id = 1;
optional int64 node_id = 2;
optional int64 ts = 3;
optional int64 dur = 4;
- optional string blocking_method = 5;
- optional string blocked_method = 6;
- optional string short_blocking_method = 7;
- optional string short_blocked_method = 8;
- optional string blocking_src = 9;
- optional string blocked_src = 10;
- optional uint32 waiter_count = 11;
- optional string blocked_thread_name = 12;
- optional string blocking_thread_name = 13;
optional string process_name = 14;
- optional bool is_blocked_thread_main = 15;
- optional bool is_blocking_thread_main = 16;
- optional int64 binder_reply_ts = 17;
- optional uint32 binder_reply_tid = 18;
-
+ optional uint32 pid = 23;
+ optional uint32 waiter_count = 11;
repeated ThreadStateBreakdown thread_states = 19;
repeated BlockedFunctionBreakdown blocked_functions = 20;
+
+ // Blocking context
+ optional string blocking_method = 5;
+ optional string short_blocking_method = 7;
+ optional string blocking_src = 9;
+ optional string blocking_thread_name = 13;
+ optional bool is_blocking_thread_main = 16;
+ optional uint32 blocking_thread_tid = 22;
+
+ // Blocked context
+ optional string blocked_method = 6;
+ optional string short_blocked_method = 8;
+ optional string blocked_src = 10;
+ optional string blocked_thread_name = 12;
+ optional bool is_blocked_thread_main = 15;
+ optional uint32 blocked_thread_tid = 21;
+
+ // Binder context
+ optional int64 binder_reply_ts = 17;
+ optional uint32 binder_reply_tid = 18;
}
message ThreadStateBreakdown {
diff --git a/protos/perfetto/metrics/perfetto_merged_metrics.proto b/protos/perfetto/metrics/perfetto_merged_metrics.proto
index 5fb597d..393095c 100644
--- a/protos/perfetto/metrics/perfetto_merged_metrics.proto
+++ b/protos/perfetto/metrics/perfetto_merged_metrics.proto
@@ -1193,28 +1193,38 @@
// This metric provides information about the monitor contention graph in a
// trace
message AndroidMonitorContentionMetric {
+ // Next field id: 24
message Node {
+ // Global context
optional int64 node_parent_id = 1;
optional int64 node_id = 2;
optional int64 ts = 3;
optional int64 dur = 4;
- optional string blocking_method = 5;
- optional string blocked_method = 6;
- optional string short_blocking_method = 7;
- optional string short_blocked_method = 8;
- optional string blocking_src = 9;
- optional string blocked_src = 10;
- optional uint32 waiter_count = 11;
- optional string blocked_thread_name = 12;
- optional string blocking_thread_name = 13;
optional string process_name = 14;
- optional bool is_blocked_thread_main = 15;
- optional bool is_blocking_thread_main = 16;
- optional int64 binder_reply_ts = 17;
- optional uint32 binder_reply_tid = 18;
-
+ optional uint32 pid = 23;
+ optional uint32 waiter_count = 11;
repeated ThreadStateBreakdown thread_states = 19;
repeated BlockedFunctionBreakdown blocked_functions = 20;
+
+ // Blocking context
+ optional string blocking_method = 5;
+ optional string short_blocking_method = 7;
+ optional string blocking_src = 9;
+ optional string blocking_thread_name = 13;
+ optional bool is_blocking_thread_main = 16;
+ optional uint32 blocking_thread_tid = 22;
+
+ // Blocked context
+ optional string blocked_method = 6;
+ optional string short_blocked_method = 8;
+ optional string blocked_src = 10;
+ optional string blocked_thread_name = 12;
+ optional bool is_blocked_thread_main = 15;
+ optional uint32 blocked_thread_tid = 21;
+
+ // Binder context
+ optional int64 binder_reply_ts = 17;
+ optional uint32 binder_reply_tid = 18;
}
message ThreadStateBreakdown {
diff --git a/protos/third_party/chromium/chrome_track_event.proto b/protos/third_party/chromium/chrome_track_event.proto
index 1f5a211..cce5e76 100644
--- a/protos/third_party/chromium/chrome_track_event.proto
+++ b/protos/third_party/chromium/chrome_track_event.proto
@@ -513,7 +513,10 @@
optional int32 browsing_instance_id = 1;
// The ID of the CoopRelatedGroup that the BrowsingContextState belongs to.
- optional int32 coop_related_group_id = 2;
+ optional int32 coop_related_group_id = 2 [deprecated = true];
+
+ // The token of the CoopRelatedGroup that the BrowsingContextState belongs to.
+ optional string coop_related_group_token = 3;
// Additional untyped debug information associated with this
// FrameTreeNode, populated via TracedProto::AddDebugAnnotations API.
diff --git a/python/perfetto/trace_processor/metrics.descriptor b/python/perfetto/trace_processor/metrics.descriptor
index f390a02..536dff9 100644
--- a/python/perfetto/trace_processor/metrics.descriptor
+++ b/python/perfetto/trace_processor/metrics.descriptor
Binary files differ
diff --git a/src/android_internal/BUILD.gn b/src/android_internal/BUILD.gn
index 8435eab..a175063 100644
--- a/src/android_internal/BUILD.gn
+++ b/src/android_internal/BUILD.gn
@@ -32,6 +32,7 @@
"health_hal.cc",
"incident_service.cc",
"power_stats.cc",
+ "statsd.cc",
"statsd_logging.cc",
"tracing_service_proxy.cc",
]
@@ -53,7 +54,7 @@
"services",
"tracingproxy",
"utils",
- "libstatspull",
+ "statspull",
]
# This target should never depend on any other perfetto target to avoid ODR
diff --git a/src/android_internal/statsd.cc b/src/android_internal/statsd.cc
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/android_internal/statsd.cc
diff --git a/src/protozero/proto_decoder_unittest.cc b/src/protozero/proto_decoder_unittest.cc
index 0991f88..1e962d7 100644
--- a/src/protozero/proto_decoder_unittest.cc
+++ b/src/protozero/proto_decoder_unittest.cc
@@ -592,5 +592,26 @@
ASSERT_FALSE(field.valid());
}
+// Check what happens when trying to parse packed repeated field and finding a
+// mismatching wire type instead. A compliant protobuf decoder should accept it,
+// but protozero doesn't handle that. At least it shouldn't crash.
+TEST(ProtoDecoderTest, PacketRepeatedWireTypeMismatch) {
+ protozero::HeapBuffered<pbtest::PackedRepeatedFields> message;
+ // A proper packed encoding should have a length delimited wire type. Use a
+ // var int wire type instead.
+ constexpr int kFieldId = pbtest::PackedRepeatedFields::kFieldInt32FieldNumber;
+ message->AppendTinyVarInt(kFieldId, 5);
+ auto data = message.SerializeAsArray();
+
+ pbtest::PackedRepeatedFields::Decoder decoder(data.data(), data.size());
+ bool parse_error = false;
+ auto it = decoder.field_int32(&parse_error);
+ // The decoder doesn't return a parse error (maybe it should, but that has
+ // been the behavior since the beginning).
+ ASSERT_FALSE(parse_error);
+ // But the iterator returns 0 elements.
+ EXPECT_FALSE(it);
+}
+
} // namespace
} // namespace protozero
diff --git a/src/trace_processor/db/sorting_overlay.h b/src/trace_processor/db/sorting_overlay.h
index 4d490e3..7b536a1 100644
--- a/src/trace_processor/db/sorting_overlay.h
+++ b/src/trace_processor/db/sorting_overlay.h
@@ -31,8 +31,8 @@
class SortingOverlay : public ColumnOverlay {
public:
explicit SortingOverlay(ColumnOverlay* ancestor);
- void Filter(FilterOp, SqlValue, RowMap&) override;
- void StableSort(uint32_t* rows_order, uint32_t rows_size) override;
+ void Filter(FilterOp, SqlValue, RowMap&) const override;
+ void StableSort(uint32_t* rows_order, uint32_t rows_size) const override;
private:
std::unique_ptr<ColumnOverlay> inner_;
diff --git a/src/trace_processor/metrics/sql/android/BUILD.gn b/src/trace_processor/metrics/sql/android/BUILD.gn
index bf54d44..a566661 100644
--- a/src/trace_processor/metrics/sql/android/BUILD.gn
+++ b/src/trace_processor/metrics/sql/android/BUILD.gn
@@ -82,6 +82,7 @@
"java_heap_histogram.sql",
"java_heap_stats.sql",
"mem_stats_priority_breakdown.sql",
+ "network_activity_template.sql",
"p_state.sql",
"power_drain_in_watts.sql",
"power_profile_data.sql",
diff --git a/src/trace_processor/metrics/sql/android/android_monitor_contention.sql b/src/trace_processor/metrics/sql/android/android_monitor_contention.sql
index 7cfaeb8..52e1693 100644
--- a/src/trace_processor/metrics/sql/android/android_monitor_contention.sql
+++ b/src/trace_processor/metrics/sql/android/android_monitor_contention.sql
@@ -35,7 +35,10 @@
'waiter_count', waiter_count,
'blocking_thread_name', blocking_thread_name,
'blocked_thread_name', blocked_thread_name,
+ 'blocked_thread_tid', blocked_thread_tid,
+ 'blocking_thread_tid', blocking_thread_tid,
'process_name', process_name,
+ 'pid', pid,
'is_blocked_thread_main', is_blocked_thread_main,
'is_blocking_thread_main', is_blocking_thread_main,
'binder_reply_ts', binder_reply_ts,
diff --git a/src/trace_processor/metrics/sql/android/network_activity_template.sql b/src/trace_processor/metrics/sql/android/network_activity_template.sql
new file mode 100644
index 0000000..2dcfa31
--- /dev/null
+++ b/src/trace_processor/metrics/sql/android/network_activity_template.sql
@@ -0,0 +1,74 @@
+--
+-- Copyright 2023 The Android Open Source Project
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- https://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+
+SELECT IMPORT('android.network_packets');
+
+-- Creates a view of aggregated network activity. It is common among networking
+-- to have the interface active for some time after network use. For example, in
+-- mobile networking, it is common to have the cellular interface active for 10
+-- or more seconds after the last packet was sent or received. This view takes
+-- raw packet timing and aggregates it into something that approximates the
+-- activity of the underlying interface.
+--
+-- @arg view_name The name of the output view.
+-- @arg group_by Expression to group by (set to 'null' for no grouping).
+-- @arg filter Expression on `android_network_packets` to filter by.
+-- @arg idle_ns The amount of time before considering the network idle.
+-- @arg quant_ns Quantization value, to group rows before the heavy
+-- part of the query. This should be smaller than idle_ns.
+--
+-- @column group_by The group_by columns are all present in the output.
+-- @column ts The timestamp indicating the start of the segment.
+-- @column dur The duration of the current segment.
+-- @column packet_count The total number of packets in this segment.
+-- @column packet_length The total number of bytes for packets in this segment.
+CREATE VIEW {{view_name}} AS
+WITH quantized AS (
+ SELECT
+ {{group_by}},
+ MIN(ts) AS ts,
+ MAX(ts+dur)-MIN(ts) AS dur,
+ SUM(packet_count) AS packet_count,
+ SUM(packet_length) AS packet_length
+ FROM android_network_packets
+ WHERE {{filter}}
+ GROUP BY CAST(ts / {{quant_ns}} AS INT64), {{group_by}}
+),
+with_last AS (
+ SELECT
+ *,
+ LAG(ts) OVER (
+ PARTITION BY {{group_by}}
+ ORDER BY ts
+ ) AS last_ts
+ FROM quantized
+),
+with_group AS (
+ SELECT
+ *,
+ COUNT(IIF(ts-last_ts>{{idle_ns}}, 1, null)) OVER (
+ PARTITION BY {{group_by}}
+ ORDER BY ts
+ ) AS group_id
+ FROM with_last
+)
+SELECT
+ {{group_by}},
+ MIN(ts) AS ts,
+ MAX(ts+dur)-MIN(ts)+{{idle_ns}} AS dur,
+ SUM(packet_count) AS packet_count,
+ SUM(packet_length) AS packet_length
+FROM with_group
+GROUP BY group_id, {{group_by}}
diff --git a/src/trace_processor/metrics/sql/android/startup/thread_state_breakdown.sql b/src/trace_processor/metrics/sql/android/startup/thread_state_breakdown.sql
index b3939bb..4ef1fc4 100644
--- a/src/trace_processor/metrics/sql/android/startup/thread_state_breakdown.sql
+++ b/src/trace_processor/metrics/sql/android/startup/thread_state_breakdown.sql
@@ -38,8 +38,10 @@
CREATE TABLE launch_thread_state_io_wait_dur_sum AS
SELECT startup_id, state, is_main_thread, thread_name, io_wait, SUM(dur) AS dur
FROM launch_threads_by_thread_state l
+JOIN android_startup_processes p USING (startup_id)
WHERE
- is_main_thread
+ -- If it is a main thread, only add it if it is the lauching thread.
+ (is_main_thread AND p.startup_type NOT NULL)
-- Allowlist specific threads which need this. Do not add to this list
-- without careful consideration as every thread added here can cause
-- memory usage to balloon.
diff --git a/src/trace_processor/prelude/functions/utils.h b/src/trace_processor/prelude/functions/utils.h
index 21fed04..ac848d0 100644
--- a/src/trace_processor/prelude/functions/utils.h
+++ b/src/trace_processor/prelude/functions/utils.h
@@ -19,6 +19,7 @@
#include <sqlite3.h>
#include <unordered_map>
+
#include "perfetto/ext/base/base64.h"
#include "perfetto/ext/base/file_utils.h"
#include "perfetto/ext/trace_processor/demangle.h"
@@ -26,9 +27,9 @@
#include "src/trace_processor/export_json.h"
#include "src/trace_processor/importers/common/clock_tracker.h"
#include "src/trace_processor/prelude/functions/create_function_internal.h"
-#include "src/trace_processor/util/status_macros.h"
-
#include "src/trace_processor/prelude/functions/sql_function.h"
+#include "src/trace_processor/sqlite/sqlite_utils.h"
+#include "src/trace_processor/util/status_macros.h"
namespace perfetto {
namespace trace_processor {
diff --git a/src/trace_processor/stdlib/android/battery_stats.sql b/src/trace_processor/stdlib/android/battery_stats.sql
index 753fd61..2507cb1 100644
--- a/src/trace_processor/stdlib/android/battery_stats.sql
+++ b/src/trace_processor/stdlib/android/battery_stats.sql
@@ -21,7 +21,7 @@
-- @arg value LONG The counter value.
-- @ret STRING The human-readable name for the counter value.
SELECT CREATE_FUNCTION(
- 'BATTERY_STATS_COUNTER_TO_STRING(track STRING, value LONG)',
+ 'BATTERY_STATS_COUNTER_TO_STRING(track STRING, value FLOAT)',
'STRING',
'
SELECT
@@ -125,16 +125,16 @@
--
-- @column ts Timestamp in nanoseconds.
-- @column dur The duration the state was active.
--- @column name The name of the counter track.
+-- @column track_name The name of the counter track.
-- @column value The counter value as a number.
-- @column value_name The counter value as a human-readable string.
CREATE VIEW android_battery_stats_state AS
SELECT
ts,
- name,
- value,
- BATTERY_STATS_VALUE_TO_STRING(name, value) AS value_name,
- LEAD(ts, 1, TRACE_END()) OVER (PARTITION BY track_id ORDER BY ts) - ts AS dur
+ name AS track_name,
+ CAST(value AS INT64) AS value,
+ BATTERY_STATS_COUNTER_TO_STRING(name, value) AS value_name,
+ IFNULL(LEAD(ts) OVER (PARTITION BY track_id ORDER BY ts) - ts, -1) AS dur
FROM counter
JOIN counter_track
ON counter.track_id = counter_track.id
diff --git a/src/trace_processor/stdlib/android/monitor_contention.sql b/src/trace_processor/stdlib/android/monitor_contention.sql
index c1de58f..595c1fe 100644
--- a/src/trace_processor/stdlib/android/monitor_contention.sql
+++ b/src/trace_processor/stdlib/android/monitor_contention.sql
@@ -192,10 +192,13 @@
slice.dur,
slice.track_id,
thread.is_main_thread AS is_blocked_thread_main,
+ thread.tid AS blocked_thread_tid,
blocking_thread.is_main_thread AS is_blocking_thread_main,
+ blocking_thread.tid AS blocking_thread_tid,
binder_reply.id AS binder_reply_id,
binder_reply.ts AS binder_reply_ts,
- binder_reply_thread.tid AS binder_reply_tid
+ binder_reply_thread.tid AS binder_reply_tid,
+ process.pid
FROM slice
JOIN thread_track
ON thread_track.id = slice.track_id
diff --git a/src/trace_processor/trace_processor_impl.cc b/src/trace_processor/trace_processor_impl.cc
index f00c7fa..f64b1c1 100644
--- a/src/trace_processor/trace_processor_impl.cc
+++ b/src/trace_processor/trace_processor_impl.cc
@@ -596,7 +596,7 @@
// Legacy tables.
engine_.RegisterVirtualTableModule<SqlStatsTable>(
- "sql_stats", storage, SqliteTable::TableType::kEponymousOnly, false);
+ "sqlstats", storage, SqliteTable::TableType::kEponymousOnly, false);
engine_.RegisterVirtualTableModule<StatsTable>(
"stats", storage, SqliteTable::TableType::kEponymousOnly, false);
diff --git a/test/cts/reporter/reporter_test_cts.cc b/test/cts/reporter/reporter_test_cts.cc
index f9294f4..f27d3da 100644
--- a/test/cts/reporter/reporter_test_cts.cc
+++ b/test/cts/reporter/reporter_test_cts.cc
@@ -42,6 +42,7 @@
trace_config.add_buffers()->set_size_kb(1024);
trace_config.set_duration_ms(200);
trace_config.set_allow_user_build_tracing(true);
+ trace_config.set_unique_session_name("TestEndToEndReport");
auto* ds_config = trace_config.add_data_sources()->mutable_config();
ds_config->set_name("android.perfetto.FakeProducer");
@@ -72,6 +73,7 @@
auto perfetto_proc = Exec("perfetto",
{
"--upload",
+ "--no-guardrails",
"-c",
"-",
},
diff --git a/test/trace_processor/diff_tests/android/android_battery_stats_state.out b/test/trace_processor/diff_tests/android/android_battery_stats_state.out
new file mode 100644
index 0000000..04ea953
--- /dev/null
+++ b/test/trace_processor/diff_tests/android/android_battery_stats_state.out
@@ -0,0 +1,4 @@
+"ts","track_name","value","value_name","dur"
+1000,"battery_stats.audio",1,"active",-1
+1000,"battery_stats.data_conn",13,"lte",3000
+4000,"battery_stats.data_conn",20,"nr",-1
diff --git a/test/trace_processor/diff_tests/android/android_monitor_contention.out b/test/trace_processor/diff_tests/android/android_monitor_contention.out
index 02a6412..163815d 100644
--- a/test/trace_processor/diff_tests/android/android_monitor_contention.out
+++ b/test/trace_processor/diff_tests/android/android_monitor_contention.out
@@ -12,7 +12,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "PackageManager"
+ blocked_thread_tid: 693
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -39,7 +42,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -66,7 +72,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -93,7 +102,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -120,7 +132,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1737055785896
@@ -154,7 +169,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "StorageUserConn"
+ blocked_thread_tid: 1759
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -171,7 +189,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "StorageUserConn"
+ blocked_thread_tid: 1759
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -208,7 +229,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -225,7 +249,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -242,7 +269,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -259,7 +289,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -276,7 +309,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -293,7 +329,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -310,7 +349,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -327,7 +369,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -344,7 +389,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -361,7 +409,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -378,7 +429,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -395,7 +449,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -412,7 +469,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -429,7 +489,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -446,7 +509,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -463,7 +529,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -480,7 +549,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -497,7 +569,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -514,7 +589,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -531,7 +609,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -548,7 +629,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -565,7 +649,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -582,7 +669,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -599,7 +689,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -616,7 +709,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -633,7 +729,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -650,7 +749,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -667,7 +769,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -684,7 +789,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -701,7 +809,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -718,7 +829,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -735,7 +849,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -752,7 +869,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -769,7 +889,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -786,7 +909,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -803,7 +929,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -820,7 +949,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -837,7 +969,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -854,7 +989,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -871,7 +1009,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -888,7 +1029,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -905,7 +1049,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -922,7 +1069,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -939,7 +1089,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -956,7 +1109,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -973,7 +1129,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -990,7 +1149,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1007,7 +1169,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1024,7 +1189,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1041,7 +1209,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.display"
+ blocked_thread_tid: 663
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1063,7 +1234,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1090,7 +1264,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1117,7 +1294,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1144,7 +1324,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "binder:642_11"
+ blocked_thread_tid: 2505
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1182,7 +1365,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1210,7 +1396,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1237,7 +1426,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_12"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -1269,7 +1461,10 @@
waiter_count: 2
blocking_thread_name: "binder:642_12"
blocked_thread_name: "binder:642_2"
+ blocked_thread_tid: 658
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1291,7 +1486,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1308,7 +1506,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1325,7 +1526,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1342,7 +1546,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1359,7 +1566,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1376,7 +1586,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1393,7 +1606,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1410,7 +1626,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1427,7 +1646,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1444,7 +1666,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1461,7 +1686,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1478,7 +1706,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1495,7 +1726,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1512,7 +1746,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1529,7 +1766,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1546,7 +1786,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1563,7 +1806,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1580,7 +1826,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_12"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2720
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -1597,7 +1846,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1624,7 +1876,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1651,7 +1906,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1678,7 +1936,10 @@
waiter_count: 0
blocking_thread_name: "batterystats-handler"
blocked_thread_name: "binder:642_11"
+ blocked_thread_tid: 2505
+ blocking_thread_tid: 676
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1710,7 +1971,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1737,7 +2001,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1764,7 +2031,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1791,7 +2061,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1818,7 +2091,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1845,7 +2121,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1872,7 +2151,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1899,7 +2181,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1926,7 +2211,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1953,7 +2241,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -1980,7 +2271,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2007,7 +2301,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2034,7 +2331,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2061,7 +2361,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2088,7 +2391,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2115,7 +2421,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2142,7 +2451,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2169,7 +2481,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_11"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 2505
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2196,7 +2511,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2223,7 +2541,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2245,7 +2566,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "binder:642_2"
+ blocked_thread_tid: 658
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
binder_reply_ts: 1737145697570
@@ -2274,7 +2598,10 @@
waiter_count: 0
blocking_thread_name: "Thread-45"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 3486
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -2301,7 +2628,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2328,7 +2658,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2355,7 +2688,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2382,7 +2718,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2410,7 +2749,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "binder:642_14"
+ blocked_thread_tid: 3485
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -2442,7 +2784,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -2479,7 +2824,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2496,7 +2844,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2513,7 +2864,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2530,7 +2884,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "binder:642_11"
+ blocked_thread_tid: 2505
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1737164232343
@@ -2549,7 +2906,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2566,7 +2926,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2583,7 +2946,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2600,7 +2966,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2617,7 +2986,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2634,7 +3006,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2651,7 +3026,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2668,7 +3046,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2685,7 +3066,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2702,7 +3086,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2719,7 +3106,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2736,7 +3126,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2753,7 +3146,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2770,7 +3166,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2787,7 +3186,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2804,7 +3206,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2821,7 +3226,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2838,7 +3246,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -2855,7 +3266,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2882,7 +3296,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2909,7 +3326,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2936,7 +3356,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2963,7 +3386,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -2990,7 +3416,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3017,7 +3446,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3044,7 +3476,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3071,7 +3506,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3098,7 +3536,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3125,7 +3566,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3152,7 +3596,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3179,7 +3626,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -3206,7 +3656,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3233,7 +3686,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3260,7 +3716,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3287,7 +3746,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "binder:642_11"
+ blocked_thread_tid: 2505
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1737183173575
@@ -3316,7 +3778,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "binder:642_14"
+ blocked_thread_tid: 3485
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3343,7 +3808,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3370,7 +3838,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3397,7 +3868,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3424,7 +3898,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3451,7 +3928,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3478,7 +3958,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3505,7 +3988,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3532,7 +4018,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3559,7 +4048,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3586,7 +4078,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3613,7 +4108,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3640,7 +4138,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3667,7 +4168,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3694,7 +4198,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3721,7 +4228,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3748,7 +4258,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3775,7 +4288,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3802,7 +4318,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_14"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 3485
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3829,7 +4348,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3856,7 +4378,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3883,7 +4408,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3910,7 +4438,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3947,7 +4478,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -3964,7 +4498,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_2"
+ blocked_thread_tid: 658
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -3986,7 +4523,10 @@
waiter_count: 2
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_A"
+ blocked_thread_tid: 1675
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4008,7 +4548,10 @@
waiter_count: 3
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_8"
+ blocked_thread_tid: 1548
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4030,7 +4573,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_F"
blocked_thread_name: "binder:642_1"
+ blocked_thread_tid: 657
+ blocking_thread_tid: 2029
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4062,7 +4608,10 @@
waiter_count: 4
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_13"
+ blocked_thread_tid: 2721
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4084,7 +4633,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4101,7 +4653,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4118,7 +4673,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4135,7 +4693,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4152,7 +4713,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4169,7 +4733,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4186,7 +4753,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4203,7 +4773,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4220,7 +4793,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4237,7 +4813,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4254,7 +4833,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4271,7 +4853,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4288,7 +4873,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4305,7 +4893,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4322,7 +4913,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4339,7 +4933,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -4356,7 +4953,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4383,7 +4983,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4405,7 +5008,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4432,7 +5038,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_2"
+ blocked_thread_tid: 658
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4459,7 +5068,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_A"
+ blocked_thread_tid: 1675
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4481,7 +5093,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_8"
+ blocked_thread_tid: 1548
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4508,7 +5123,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_13"
+ blocked_thread_tid: 2721
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4530,7 +5148,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_13"
blocked_thread_name: "binder:642_12"
+ blocked_thread_tid: 2720
+ blocking_thread_tid: 2721
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1737229638872
@@ -4564,7 +5185,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_13"
blocked_thread_name: "binder:642_8"
+ blocked_thread_tid: 1548
+ blocking_thread_tid: 2721
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4591,7 +5215,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_13"
blocked_thread_name: "binder:642_A"
+ blocked_thread_tid: 1675
+ blocking_thread_tid: 2721
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4628,7 +5255,10 @@
waiter_count: 2
blocking_thread_name: "binder:642_13"
blocked_thread_name: "binder:642_E"
+ blocked_thread_tid: 1934
+ blocking_thread_tid: 2721
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4650,7 +5280,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_8"
+ blocked_thread_tid: 1548
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4672,7 +5305,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_A"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1675
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4699,7 +5335,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "binder:642_E"
+ blocked_thread_tid: 1934
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4721,7 +5360,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -4743,7 +5385,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4770,7 +5415,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4797,7 +5445,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4824,7 +5475,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4851,7 +5505,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4878,7 +5535,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4905,7 +5565,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4932,7 +5595,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4959,7 +5625,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -4986,7 +5655,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5013,7 +5685,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5040,7 +5715,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5067,7 +5745,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5094,7 +5775,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5121,7 +5805,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5148,7 +5835,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5175,7 +5865,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5212,7 +5905,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
}
@@ -5229,7 +5925,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 672
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5256,7 +5955,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5283,7 +5985,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "tworkPolicy.uid"
+ blocked_thread_tid: 1193
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5310,7 +6015,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5337,7 +6045,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5359,7 +6070,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5386,7 +6100,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5413,7 +6130,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5440,7 +6160,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5467,7 +6190,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5494,7 +6220,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5521,7 +6250,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5548,7 +6280,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5575,7 +6310,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5602,7 +6340,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5629,7 +6370,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5656,7 +6400,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5683,7 +6430,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5710,7 +6460,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5737,7 +6490,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5764,7 +6520,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5791,7 +6550,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5818,7 +6580,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "PackageManager"
+ blocked_thread_tid: 693
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5845,7 +6610,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "tworkPolicy.uid"
+ blocked_thread_tid: 1193
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5872,7 +6640,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5899,7 +6670,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5926,7 +6700,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 670
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -5953,7 +6730,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -5980,7 +6760,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6007,7 +6790,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "android.fg"
+ blocked_thread_tid: 660
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6034,7 +6820,10 @@
waiter_count: 0
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -6076,7 +6865,10 @@
waiter_count: 1
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "binder:642_1"
+ blocked_thread_tid: 657
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1739927686578
@@ -6115,7 +6907,10 @@
waiter_count: 2
blocking_thread_name: "StorageManagerService"
blocked_thread_name: "binder:642_E"
+ blocked_thread_tid: 1934
+ blocking_thread_tid: 743
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1739931677940
@@ -6134,7 +6929,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_E"
blocked_thread_name: "StorageManagerS"
+ blocked_thread_tid: 743
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6161,7 +6959,10 @@
waiter_count: 2
blocking_thread_name: "binder:642_E"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
}
@@ -6178,7 +6979,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6200,7 +7004,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6227,7 +7034,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "PackageManager"
+ blocked_thread_tid: 693
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6254,7 +7064,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6281,7 +7094,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6308,7 +7124,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_1"
+ blocked_thread_tid: 657
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6335,7 +7154,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6352,7 +7174,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6369,7 +7194,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6386,7 +7214,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_13"
+ blocked_thread_tid: 2721
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1739956996641
@@ -6415,7 +7246,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6432,7 +7266,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6449,7 +7286,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6466,7 +7306,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6483,7 +7326,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6500,7 +7346,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6517,7 +7366,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6534,7 +7386,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6551,7 +7406,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6568,7 +7426,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6585,7 +7446,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -6617,7 +7481,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6634,7 +7501,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "batterystats-ha"
+ blocked_thread_tid: 676
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6651,7 +7521,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6668,7 +7541,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "PowerManagerSer"
+ blocked_thread_tid: 687
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -6685,7 +7561,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3519
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6712,7 +7591,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "binder:642_E"
+ blocked_thread_tid: 1934
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
binder_reply_ts: 1739981897430
@@ -6741,7 +7623,10 @@
waiter_count: 1
blocking_thread_name: "main"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -6778,7 +7663,10 @@
waiter_count: 2
blocking_thread_name: "main"
blocked_thread_name: "StorageManagerS"
+ blocked_thread_tid: 743
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -6800,7 +7688,10 @@
waiter_count: 3
blocking_thread_name: "main"
blocked_thread_name: "binder:642_13"
+ blocked_thread_tid: 2721
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
binder_reply_ts: 1739982622780
@@ -6819,7 +7710,10 @@
waiter_count: 3
blocking_thread_name: "binder:642_E"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -6841,7 +7735,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3487
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -6868,7 +7765,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3519
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6895,7 +7795,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_13"
blocked_thread_name: "system_server"
+ blocked_thread_tid: 642
+ blocking_thread_tid: 2721
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -6922,7 +7825,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3487
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -6949,7 +7855,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3519
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -6976,7 +7885,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "binder:642_1"
+ blocked_thread_tid: 657
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
binder_reply_ts: 1740012085111
@@ -7010,7 +7922,10 @@
waiter_count: 0
blocking_thread_name: "android.bg"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3519
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7037,7 +7952,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "binder:642_13"
+ blocked_thread_tid: 2721
+ blocking_thread_tid: 642
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: true
binder_reply_ts: 1740024094690
@@ -7066,7 +7984,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "StorageManagerS"
+ blocked_thread_tid: 743
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7098,7 +8019,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -7115,7 +8039,10 @@
waiter_count: 1
blocking_thread_name: "binder:642_E"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7137,7 +8064,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -7154,7 +8084,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -7171,7 +8104,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_E"
blocked_thread_name: "tworkPolicy.uid"
+ blocked_thread_tid: 1193
+ blocking_thread_tid: 1934
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
}
@@ -7188,7 +8124,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "fg"
+ blocked_thread_tid: 3516
+ blocking_thread_tid: 3487
process_name: "com.android.providers.media.module"
+ pid: 3487
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -7215,7 +8154,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7242,7 +8184,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7269,7 +8214,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7296,7 +8244,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7323,7 +8274,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7350,7 +8304,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7377,7 +8334,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7404,7 +8364,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7431,7 +8394,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7458,7 +8424,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7485,7 +8454,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7512,7 +8484,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7539,7 +8514,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7566,7 +8544,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7593,7 +8574,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7620,7 +8604,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7647,7 +8634,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7674,7 +8664,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7701,7 +8694,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7728,7 +8724,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7755,7 +8754,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7782,7 +8784,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7809,7 +8814,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7836,7 +8844,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7863,7 +8874,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7890,7 +8904,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7917,7 +8934,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7944,7 +8964,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_1"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 657
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -7971,7 +8994,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -7998,7 +9024,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8025,7 +9054,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8052,7 +9084,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8079,7 +9114,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8106,7 +9144,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8133,7 +9174,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8160,7 +9204,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8187,7 +9234,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8214,7 +9264,10 @@
waiter_count: 0
blocking_thread_name: "android.ui"
blocked_thread_name: "android.bg"
+ blocked_thread_tid: 670
+ blocking_thread_tid: 661
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8246,7 +9299,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8273,7 +9329,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "ActivityManager"
+ blocked_thread_tid: 671
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8300,7 +9359,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8327,7 +9389,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8354,7 +9419,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8381,7 +9449,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8408,7 +9479,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8435,7 +9509,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8462,7 +9539,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8489,7 +9569,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8516,7 +9599,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8543,7 +9629,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8570,7 +9659,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8597,7 +9689,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8624,7 +9719,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8651,7 +9749,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8678,7 +9779,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8705,7 +9809,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8732,7 +9839,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8759,7 +9869,10 @@
waiter_count: 0
blocking_thread_name: "binder:642_8"
blocked_thread_name: "android.ui"
+ blocked_thread_tid: 661
+ blocking_thread_tid: 1548
process_name: "system_server"
+ pid: 642
is_blocked_thread_main: false
is_blocking_thread_main: false
thread_states {
@@ -8786,7 +9899,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8813,7 +9929,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8840,7 +9959,10 @@
waiter_count: 0
blocking_thread_name: "sAsyncHandlerThread"
blocked_thread_name: "d.process.media"
+ blocked_thread_tid: 2003
+ blocking_thread_tid: 2128
process_name: "android.process.media"
+ pid: 2003
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8867,7 +9989,10 @@
waiter_count: 0
blocking_thread_name: "SysUiBg"
blocked_thread_name: "ndroid.systemui"
+ blocked_thread_tid: 1253
+ blocking_thread_tid: 1331
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8894,7 +10019,10 @@
waiter_count: 0
blocking_thread_name: "SysUiBg"
blocked_thread_name: "ndroid.systemui"
+ blocked_thread_tid: 1253
+ blocking_thread_tid: 1331
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8921,7 +10049,10 @@
waiter_count: 0
blocking_thread_name: "SysUiBg"
blocked_thread_name: "ndroid.systemui"
+ blocked_thread_tid: 1253
+ blocking_thread_tid: 1331
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8948,7 +10079,10 @@
waiter_count: 0
blocking_thread_name: "SysUiBg"
blocked_thread_name: "ndroid.systemui"
+ blocked_thread_tid: 1253
+ blocking_thread_tid: 1331
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -8975,7 +10109,10 @@
waiter_count: 0
blocking_thread_name: "SysUiBg"
blocked_thread_name: "ndroid.systemui"
+ blocked_thread_tid: 1253
+ blocking_thread_tid: 1331
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: true
is_blocking_thread_main: false
thread_states {
@@ -9002,7 +10139,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "SysUiBg"
+ blocked_thread_tid: 1331
+ blocking_thread_tid: 1253
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -9024,7 +10164,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "plugin"
+ blocked_thread_tid: 1341
+ blocking_thread_tid: 1253
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
@@ -9051,7 +10194,10 @@
waiter_count: 0
blocking_thread_name: "main"
blocked_thread_name: "RenderThread"
+ blocked_thread_tid: 1436
+ blocking_thread_tid: 1253
process_name: "com.android.systemui"
+ pid: 1253
is_blocked_thread_main: false
is_blocking_thread_main: true
thread_states {
diff --git a/test/trace_processor/diff_tests/android/android_network_activity.out b/test/trace_processor/diff_tests/android/android_network_activity.out
new file mode 100644
index 0000000..14418e4
--- /dev/null
+++ b/test/trace_processor/diff_tests/android/android_network_activity.out
@@ -0,0 +1,4 @@
+"package_name","ts","dur","packet_count","packet_length"
+"uid=123",1000,1010,2,100
+"uid=123",3000,2500,4,200
+"uid=456",1005,1010,2,300
diff --git a/test/trace_processor/diff_tests/android/tests.py b/test/trace_processor/diff_tests/android/tests.py
index cec98ae..84bafc1 100644
--- a/test/trace_processor/diff_tests/android/tests.py
+++ b/test/trace_processor/diff_tests/android/tests.py
@@ -159,6 +159,109 @@
""",
out=Path('android_battery_stats_event_slices.out'))
+ def test_android_battery_stats_counters(self):
+ return DiffTestBlueprint(
+ trace=TextProto(r"""
+ packet {
+ ftrace_events {
+ cpu: 1
+ event {
+ timestamp: 1000
+ pid: 1
+ print {
+ buf: "C|1000|battery_stats.data_conn|13\n"
+ }
+ }
+ event {
+ timestamp: 4000
+ pid: 1
+ print {
+ buf: "C|1000|battery_stats.data_conn|20\n"
+ }
+ }
+ event {
+ timestamp: 1000
+ pid: 1
+ print {
+ buf: "C|1000|battery_stats.audio|1\n"
+ }
+ }
+ }
+ }
+ """),
+ query="""
+ SELECT IMPORT('android.battery_stats');
+ SELECT * FROM android_battery_stats_state
+ ORDER BY ts, track_name;
+ """,
+ out=Path('android_battery_stats_state.out'))
+
+ def test_android_network_activity(self):
+ # The following should have three activity regions:
+ # * uid=123 from 1000 to 2010 (note: end is max(ts)+idle_ns)
+ # * uid=456 from 1005 to 2015 (note: doesn't group with above due to name)
+ # * uid=123 from 3000 to 5500 (note: gap between 1010 to 3000 > idle_ns)
+ # Note: packet_timestamps are delta encoded from the base timestamp.
+ return DiffTestBlueprint(
+ trace=TextProto(r"""
+ packet {
+ timestamp: 0
+ network_packet_bundle {
+ ctx {
+ direction: DIR_EGRESS
+ interface: "wlan"
+ uid: 123
+ }
+ packet_timestamps: [
+ 1000, 1010,
+ 3000, 3050, 4000, 4500
+ ],
+ packet_lengths: [
+ 50, 50,
+ 50, 50, 50, 50
+ ],
+ }
+ }
+ packet {
+ timestamp: 0
+ network_packet_bundle {
+ ctx {
+ direction: DIR_EGRESS
+ interface: "wlan"
+ uid: 456
+ }
+ packet_timestamps: [1005, 1015]
+ packet_lengths: [100, 200]
+ }
+ }
+ packet {
+ timestamp: 0
+ network_packet_bundle {
+ ctx {
+ direction: DIR_INGRESS
+ interface: "loopback"
+ uid: 123
+ }
+ packet_timestamps: [6000]
+ packet_lengths: [100]
+ }
+ }
+ """),
+ query="""
+ SELECT RUN_METRIC(
+ 'android/network_activity_template.sql',
+ 'view_name', 'android_network_activity',
+ 'group_by', 'package_name',
+ 'filter', 'iface = "wlan"',
+ 'idle_ns', '1000',
+ 'quant_ns', '100'
+ );
+
+ SELECT * FROM android_network_activity
+ ORDER BY package_name, ts;
+ """,
+ out=Path('android_network_activity.out'))
+
def test_binder_sync_binder_metrics(self):
return DiffTestBlueprint(
trace=DataPath('android_binder_metric_trace.atr'),
diff --git a/ui/src/common/query_result.ts b/ui/src/common/query_result.ts
index e8d482d..90fb8f4 100644
--- a/ui/src/common/query_result.ts
+++ b/ui/src/common/query_result.ts
@@ -159,7 +159,7 @@
// One row extracted from an SQL result:
export interface Row {
- [key: string]: ColumnType;
+ [key: string]: ColumnType|undefined;
}
// The methods that any iterator has to implement.
diff --git a/ui/src/common/recordingV2/recording_config_utils.ts b/ui/src/common/recordingV2/recording_config_utils.ts
index 2840b3c..d02da5a 100644
--- a/ui/src/common/recordingV2/recording_config_utils.ts
+++ b/ui/src/common/recordingV2/recording_config_utils.ts
@@ -79,9 +79,8 @@
export function genTraceConfig(
uiCfg: RecordConfig, targetInfo: TargetInfo): TraceConfig {
- const androidApiLevel = (targetInfo.targetType === 'ANDROID') ?
- targetInfo.androidApiLevel :
- undefined;
+ const isAndroid = targetInfo.targetType === 'ANDROID';
+ const androidApiLevel = isAndroid ? targetInfo.androidApiLevel : undefined;
const protoCfg = new TraceConfig();
protoCfg.durationMs = uiCfg.durationMs;
@@ -96,8 +95,8 @@
protoCfg.buffers.push(new BufferConfig());
protoCfg.buffers.push(new BufferConfig());
- protoCfg.buffers[1].sizeKb = slowBufSizeKb;
protoCfg.buffers[0].sizeKb = fastBufSizeKb;
+ protoCfg.buffers[1].sizeKb = slowBufSizeKb;
if (uiCfg.mode === 'STOP_WHEN_FULL') {
protoCfg.buffers[0].fillPolicy = BufferConfig.FillPolicy.DISCARD;
@@ -131,6 +130,14 @@
let procThreadAssociationFtrace = false;
let trackInitialOomScore = false;
+ if (isAndroid) {
+ const ds = new TraceConfig.DataSource();
+ ds.config = new DataSourceConfig();
+ ds.config.targetBuffer = 1;
+ ds.config.name = 'android.packages_list';
+ protoCfg.dataSources.push(ds);
+ }
+
if (uiCfg.cpuSched) {
procThreadAssociationPolling = true;
procThreadAssociationFtrace = true;
diff --git a/ui/src/controller/record_controller_jsdomtest.ts b/ui/src/controller/record_controller_jsdomtest.ts
index f160290..bc7c15b 100644
--- a/ui/src/controller/record_controller_jsdomtest.ts
+++ b/ui/src/controller/record_controller_jsdomtest.ts
@@ -32,7 +32,8 @@
const result =
TraceConfig.decode(genConfigProto(config, {os: 'Q', name: 'Android Q'}));
const sources = assertExists(result.dataSources);
- const srcConfig = assertExists(sources[0].config);
+ // TODO(hjd): This is all bad. Should just match the whole config.
+ const srcConfig = assertExists(sources[1].config);
const ftraceConfig = assertExists(srcConfig.ftraceConfig);
const ftraceEvents = assertExists(ftraceConfig.ftraceEvents);
expect(ftraceEvents.includes('raw_syscalls/sys_enter')).toBe(true);
@@ -45,7 +46,7 @@
const result =
TraceConfig.decode(genConfigProto(config, {os: 'S', name: 'Android S'}));
const sources = assertExists(result.dataSources);
- const srcConfig = assertExists(sources[1].config);
+ const srcConfig = assertExists(sources[2].config);
const ftraceConfig = assertExists(srcConfig.ftraceConfig);
const ftraceEvents = assertExists(ftraceConfig.ftraceEvents);
expect(ftraceConfig.symbolizeKsyms).toBe(true);
@@ -58,7 +59,7 @@
const result =
TraceConfig.decode(genConfigProto(config, {os: 'Q', name: 'Android Q'}));
const sources = assertExists(result.dataSources);
- const srcConfig = assertExists(sources[1].config);
+ const srcConfig = assertExists(sources[2].config);
const ftraceConfig = assertExists(srcConfig.ftraceConfig);
const ftraceEvents = assertExists(ftraceConfig.ftraceEvents);
expect(ftraceConfig.symbolizeKsyms).toBe(false);
@@ -72,7 +73,7 @@
const result =
TraceConfig.decode(genConfigProto(config, {os: 'Q', name: 'Android Q'}));
const sources = assertExists(result.dataSources);
- const srcConfig = assertExists(sources[0].config);
+ const srcConfig = assertExists(sources[1].config);
const ftraceConfig = assertExists(srcConfig.ftraceConfig);
const ftraceEvents = assertExists(ftraceConfig.ftraceEvents);
expect(ftraceConfig.symbolizeKsyms).toBe(true);
@@ -86,7 +87,7 @@
const result =
TraceConfig.decode(genConfigProto(config, {os: 'Q', name: 'Android Q'}));
const sources = assertExists(result.dataSources);
- const srcConfig = assertExists(sources[0].config);
+ const srcConfig = assertExists(sources[1].config);
const ftraceConfig = assertExists(srcConfig.ftraceConfig);
const ftraceEvents = assertExists(ftraceConfig.ftraceEvents);
expect(ftraceConfig.symbolizeKsyms).toBe(false);
diff --git a/ui/src/controller/track_decider.ts b/ui/src/controller/track_decider.ts
index 4882400..aadb889 100644
--- a/ui/src/controller/track_decider.ts
+++ b/ui/src/controller/track_decider.ts
@@ -198,14 +198,39 @@
return 'Unknown';
}
+ async guessCpuSizes(): Promise<Map<number, string>> {
+ const cpuToSize = new Map<number, string>();
+ await this.engine.query(`
+ SELECT IMPORT('common.cpus');
+ `);
+ const result = await this.engine.query(`
+ SELECT cpu, GUESS_CPU_SIZE(cpu) as size FROM cpu_counter_track;
+ `);
+
+ const it = result.iter({
+ cpu: NUM,
+ size: STR,
+ });
+
+ for (; it.valid(); it.next()) {
+ cpuToSize.set(it.cpu, it.size);
+ }
+
+ return cpuToSize;
+ }
+
async addCpuSchedulingTracks(): Promise<void> {
const cpus = await this.engine.getCpus();
+ const cpuToSize = await this.guessCpuSizes();
+
for (const cpu of cpus) {
+ const size = cpuToSize.get(cpu);
+ const name = size === undefined ? `Cpu ${cpu}` : `Cpu ${cpu} (${size})`;
this.tracksToAdd.push({
engineId: this.engineId,
kind: CPU_SLICE_TRACK_KIND,
trackSortKey: PrimaryTrackSortKey.ORDINARY_TRACK,
- name: `Cpu ${cpu}`,
+ name,
trackGroup: SCROLLING_TRACK_GROUP,
config: {
cpu,
diff --git a/ui/src/frontend/clipboard.ts b/ui/src/frontend/clipboard.ts
index c7a27d7..38d0099 100644
--- a/ui/src/frontend/clipboard.ts
+++ b/ui/src/frontend/clipboard.ts
@@ -43,7 +43,7 @@
const line = [];
for (const col of resp.columns) {
const value = row[col];
- line.push(value === null ? 'NULL' : value.toString());
+ line.push(value === null ? 'NULL' : `${value}`);
}
lines.push(line);
}
diff --git a/ui/src/frontend/query_table.ts b/ui/src/frontend/query_table.ts
index a58d1d6..a77c0ef 100644
--- a/ui/src/frontend/query_table.ts
+++ b/ui/src/frontend/query_table.ts
@@ -18,9 +18,7 @@
import {Actions} from '../common/actions';
import {QueryResponse} from '../common/queries';
-import {ColumnType, Row} from '../common/query_result';
-import {TPTime, tpTimeFromNanos} from '../common/time';
-import {TPDuration} from '../common/time';
+import {Row} from '../common/query_result';
import {Anchor} from './anchor';
import {copyToClipboard, queryResponseToClipboard} from './clipboard';
@@ -28,10 +26,7 @@
import {globals} from './globals';
import {Panel} from './panel';
import {Router} from './router';
-import {
- focusHorizontalRange,
- verticalScrollToTrack,
-} from './scroll_helper';
+import {reveal} from './scroll_helper';
import {Button} from './widgets/button';
interface QueryTableRowAttrs {
@@ -39,116 +34,126 @@
columns: string[];
}
-// Convert column value to number if it's a bigint or a number, otherwise throw
-function colToTimestamp(colValue: ColumnType): TPTime {
- if (typeof colValue === 'bigint') {
- return colValue;
- } else if (typeof colValue === 'number') {
- return tpTimeFromNanos(colValue);
+type Numeric = bigint|number;
+
+function isIntegral(x: Row[string]): x is Numeric {
+ return typeof x === 'bigint' ||
+ (typeof x === 'number' && Number.isInteger(x));
+}
+
+function hasTs(row: Row): row is Row&{ts: Numeric} {
+ return ('ts' in row && isIntegral(row.ts));
+}
+
+function hasDur(row: Row): row is Row&{dur: Numeric} {
+ return ('dur' in row && isIntegral(row.dur));
+}
+
+function hasTrackId(row: Row): row is Row&{track_id: Numeric} {
+ return ('track_id' in row && isIntegral(row.track_id));
+}
+
+function hasType(row: Row): row is Row&{type: string} {
+ return ('type' in row && typeof row.type === 'string');
+}
+
+function hasId(row: Row): row is Row&{id: Numeric} {
+ return ('id' in row && isIntegral(row.id));
+}
+
+function hasSliceId(row: Row): row is Row&{slice_id: Numeric} {
+ return ('slice_id' in row && isIntegral(row.slice_id));
+}
+
+// These are properties that a row should have in order to be "slice-like",
+// insofar as it represents a time range and a track id which can be revealed
+// or zoomed-into on the timeline.
+type Sliceish = {
+ ts: Numeric,
+ dur: Numeric,
+ track_id: Numeric
+};
+
+export function isSliceish(row: Row): row is Row&Sliceish {
+ return hasTs(row) && hasDur(row) && hasTrackId(row);
+}
+
+// Attempts to extract a slice ID from a row, or undefined if none can be found
+export function getSliceId(row: Row): number|undefined {
+ if (hasType(row) && row.type.includes('slice')) {
+ if (hasId(row)) {
+ return Number(row.id);
+ }
} else {
- throw Error('Value is not a number or a bigint');
+ if (hasSliceId(row)) {
+ return Number(row.slice_id);
+ }
}
-}
-
-function colToNumber(colValue: ColumnType): number {
- if (typeof colValue === 'bigint') {
- return Number(colValue);
- } else if (typeof colValue === 'number') {
- return colValue;
- } else {
- throw Error('Value is not a number or a bigint');
- }
-}
-
-function colToDuration(colValue: ColumnType): TPDuration {
- return colToTimestamp(colValue);
-}
-
-function clampDurationLower(
- dur: TPDuration, lowerClamp: TPDuration): TPDuration {
- return BigintMath.max(dur, lowerClamp);
+ return undefined;
}
class QueryTableRow implements m.ClassComponent<QueryTableRowAttrs> {
- static columnsContainsSliceLocation(columns: string[]) {
- const requiredColumns = ['ts', 'dur', 'track_id'];
- for (const col of requiredColumns) {
- if (!columns.includes(col)) return false;
- }
- return true;
- }
-
- static rowOnClickHandler(
- event: Event, row: Row, nextTab: 'CurrentSelection'|'QueryResults') {
- // TODO(dproy): Make click handler work from analyze page.
- if (Router.parseUrl(window.location.href).page !== '/viewer') return;
- // If the click bubbles up to the pan and zoom handler that will deselect
- // the slice.
- event.stopPropagation();
-
- const sliceStart = colToTimestamp(row.ts);
- // row.dur can be negative. Clamp to 1ns.
- const sliceDur = clampDurationLower(colToDuration(row.dur), 1n);
- const sliceEnd = sliceStart + sliceDur;
- const trackId = colToNumber(row.track_id);
- const uiTrackId = globals.state.uiTrackIdByTraceTrackId[trackId];
- if (uiTrackId === undefined) return;
- verticalScrollToTrack(uiTrackId, true);
- focusHorizontalRange(sliceStart, sliceEnd);
-
- let sliceId: number|undefined;
- if (row.type?.toString().includes('slice')) {
- sliceId = colToNumber(row.id);
- } else {
- sliceId = colToNumber(row.slice_id);
- }
- if (sliceId !== undefined) {
- globals.makeSelection(
- Actions.selectChromeSlice(
- {id: sliceId, trackId: uiTrackId, table: 'slice'}),
- nextTab === 'QueryResults' ? globals.state.currentTab :
- 'current_selection');
- }
- }
-
view(vnode: m.Vnode<QueryTableRowAttrs>) {
- const cells = [];
const {row, columns} = vnode.attrs;
- for (const col of columns) {
- const value = row[col];
- if (value instanceof Uint8Array) {
- cells.push(
- m('td',
- m(Anchor,
- {
- onclick: () => downloadData(`${col}.blob`, value),
- },
- `Blob (${value.length} bytes)`)));
- } else if (typeof value === 'bigint') {
- cells.push(m('td', value.toString()));
- } else {
- cells.push(m('td', value));
+ const cells = columns.map((col) => this.renderCell(col, row[col]));
+
+ // TODO(dproy): Make click handler work from analyze page.
+ if (Router.parseUrl(window.location.href).page === '/viewer' &&
+ isSliceish(row)) {
+ return m(
+ 'tr',
+ {
+ onclick: () => this.highlightSlice(row, globals.state.currentTab),
+ // TODO(altimin): Consider improving the logic here (e.g. delay?) to
+ // account for cases when dblclick fires late.
+ ondblclick: () => this.highlightSlice(row),
+ clickable: true,
+ },
+ cells);
+ } else {
+ return m('tr', cells);
+ }
+ }
+
+ private renderCell(name: string, value: Row[string]) {
+ if (value instanceof Uint8Array) {
+ return m('td', this.renderBlob(name, value));
+ } else {
+ return m('td', `${value}`);
+ }
+ }
+
+ private renderBlob(name: string, value: Uint8Array) {
+ return m(
+ Anchor,
+ {
+ onclick: () => downloadData(`${name}.blob`, value),
+ },
+ `Blob (${value.length} bytes)`);
+ }
+
+ private highlightSlice(row: Row&Sliceish, nextTab?: string) {
+ const trackId = Number(row.track_id);
+ const sliceStart = BigInt(row.ts);
+ // row.dur can be negative. Clamp to 1ns.
+ const sliceDur = BigintMath.max(BigInt(row.dur), 1n);
+ const uiTrackId = globals.state.uiTrackIdByTraceTrackId[trackId];
+ if (uiTrackId !== undefined) {
+ reveal(uiTrackId, sliceStart, sliceStart + sliceDur, true);
+ const sliceId = getSliceId(row);
+ if (sliceId !== undefined) {
+ this.selectSlice(sliceId, uiTrackId, nextTab);
}
}
- const containsSliceLocation =
- QueryTableRow.columnsContainsSliceLocation(columns);
- const maybeOnClick = containsSliceLocation ?
- (e: Event) => QueryTableRow.rowOnClickHandler(e, row, 'QueryResults') :
- null;
- const maybeOnDblClick = containsSliceLocation ?
- (e: Event) =>
- QueryTableRow.rowOnClickHandler(e, row, 'CurrentSelection') :
- null;
- return m(
- 'tr',
- {
- 'onclick': maybeOnClick,
- // TODO(altimin): Consider improving the logic here (e.g. delay?) to
- // account for cases when dblclick fires late.
- 'ondblclick': maybeOnDblClick,
- 'clickable': containsSliceLocation,
- },
- cells);
+ }
+
+ private selectSlice(sliceId: number, uiTrackId: string, nextTab?: string) {
+ const action = Actions.selectChromeSlice({
+ id: sliceId,
+ trackId: uiTrackId,
+ table: 'slice',
+ });
+ globals.makeSelection(action, nextTab);
}
}
diff --git a/ui/src/frontend/query_table_unittest.ts b/ui/src/frontend/query_table_unittest.ts
new file mode 100644
index 0000000..fc351a6
--- /dev/null
+++ b/ui/src/frontend/query_table_unittest.ts
@@ -0,0 +1,46 @@
+// Copyright (C) 2023 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import {getSliceId, isSliceish} from './query_table';
+
+describe('getSliceId', () => {
+ test('get slice_id if present when no other clues are available', () => {
+ expect(getSliceId({})).toBe(undefined);
+ expect(getSliceId({id: 123})).toBe(undefined);
+ expect(getSliceId({slice_id: 456})).toBe(456);
+ expect(getSliceId({id: 123, slice_id: 456})).toBe(456);
+
+ expect(getSliceId({type: 'foo'})).toBe(undefined);
+ expect(getSliceId({type: 'foo', id: 123})).toBe(undefined);
+ expect(getSliceId({type: 'foo', slice_id: 456})).toBe(456);
+ expect(getSliceId({type: 'foo', id: 123, slice_id: 456})).toBe(456);
+ });
+
+ test('get id if present when row looks like a slice', () => {
+ expect(getSliceId({type: 'slice'})).toBe(undefined);
+ expect(getSliceId({type: 'slice', id: 123})).toBe(123);
+ expect(getSliceId({type: 'slice', slice_id: 456})).toBe(undefined);
+ expect(getSliceId({type: 'slice', id: 123, slice_id: 456})).toBe(123);
+ });
+});
+
+test('isSliceish', () => {
+ expect(isSliceish({})).toBeFalsy();
+ expect(isSliceish({ts: 123, dur: 456})).toBeFalsy();
+ expect(isSliceish({ts: 123, dur: 456, track_id: 798})).toBeTruthy();
+ expect(isSliceish({ts: 123n, dur: 456n})).toBeFalsy();
+ expect(isSliceish({ts: 123n, dur: 456n, track_id: 798n})).toBeTruthy();
+ expect(isSliceish({ts: 123.4, dur: 456.7, track_id: 798.9})).toBeFalsy();
+ expect(isSliceish({ts: '123', dur: '456', track_id: '789'})).toBeFalsy();
+});
diff --git a/ui/src/frontend/scroll_helper.ts b/ui/src/frontend/scroll_helper.ts
index f177a65..671fd4b 100644
--- a/ui/src/frontend/scroll_helper.ts
+++ b/ui/src/frontend/scroll_helper.ts
@@ -153,3 +153,10 @@
}
horizontalScrollToTs(ts);
}
+
+// Scroll vertically and horizontally to a track and time range
+export function reveal(
+ trackId: string|number, start: TPTime, end: TPTime, openGroup = false) {
+ verticalScrollToTrack(trackId, openGroup);
+ focusHorizontalRange(start, end);
+}
diff --git a/ui/src/frontend/widgets/tree.ts b/ui/src/frontend/widgets/tree.ts
index b362391..e797343 100644
--- a/ui/src/frontend/widgets/tree.ts
+++ b/ui/src/frontend/widgets/tree.ts
@@ -1,7 +1,10 @@
import m from 'mithril';
+
import {classNames} from '../classnames';
import {globals} from '../globals';
+
import {Button} from './button';
+import {Spinner} from './spinner';
import {hasChildren} from './utils';
export enum TreeLayout {
@@ -50,14 +53,14 @@
interface TreeNodeAttrs {
// Content to display in the left hand column.
// If omitted, this side will be blank.
- left?: m.Child;
+ left?: m.Children;
// Content to display in the right hand column.
// If omitted, this side will be left blank.
- right?: m.Child;
+ right?: m.Children;
// Content to display in the right hand column when the node is collapsed.
// If omitted, the value of `right` shall be shown when collapsed instead.
// If the node has no children, this value is never shown.
- summary?: m.Child;
+ summary?: m.Children;
// Whether this node is collapsed or not.
// If omitted, collapsed state 'uncontrolled' - i.e. controlled internally.
collapsed?: boolean;
@@ -92,7 +95,7 @@
private renderRight(vnode: m.CVnode<TreeNodeAttrs>) {
const {attrs: {right, summary}} = vnode;
- if (hasChildren(vnode) && this.collapsed) {
+ if (hasChildren(vnode) && this.isCollapsed(vnode)) {
return m('.pf-tree-right', summary ?? right);
} else {
return m('.pf-tree-right', right);
@@ -146,3 +149,70 @@
}
return m(Tree, children);
}
+
+interface LazyTreeNodeAttrs {
+ // Same as TreeNode (see above).
+ left?: m.Children;
+ // Same as TreeNode (see above).
+ right?: m.Children;
+ // Same as TreeNode (see above).
+ summary?: m.Children;
+ // A callback to be called when the TreeNode is expanded, in order to fetch
+ // child nodes.
+ // The callback must return a promise to a function which returns m.Children.
+ // The reason the promise must return a function rather than the actual
+ // children is to avoid storing vnodes between render cycles, which is a bug
+ // in Mithril.
+ fetchData: () => Promise<() => m.Children>;
+ // Whether to keep child nodes in memory after the node has been collapsed.
+ // Defaults to true
+ hoardData?: boolean;
+}
+
+// This component is a TreeNode which only loads child nodes when it's expanded.
+// This allows us to represent huge trees without having to load all the data
+// up front, and even allows us to represent infinite or recursive trees.
+export class LazyTreeNode implements m.ClassComponent<LazyTreeNodeAttrs> {
+ private collapsed: boolean = true;
+ private renderChildren = this.renderSpinner;
+
+ private renderSpinner(): m.Children {
+ return m(TreeNode, {left: m(Spinner)});
+ }
+
+ view({attrs}: m.CVnode<LazyTreeNodeAttrs>): m.Children {
+ const {
+ left,
+ right,
+ summary,
+ fetchData,
+ hoardData = true,
+ } = attrs;
+
+ return m(
+ TreeNode,
+ {
+ left,
+ right,
+ summary,
+ collapsed: this.collapsed,
+ onCollapseChanged: (collapsed) => {
+ if (collapsed) {
+ if (!hoardData) {
+ this.renderChildren = this.renderSpinner;
+ }
+ } else {
+ fetchData().then((result) => {
+ if (!this.collapsed) {
+ this.renderChildren = result;
+ globals.rafScheduler.scheduleFullRedraw();
+ }
+ });
+ }
+ this.collapsed = collapsed;
+ globals.rafScheduler.scheduleFullRedraw();
+ },
+ },
+ this.renderChildren());
+ }
+}
diff --git a/ui/src/frontend/widgets_page.ts b/ui/src/frontend/widgets_page.ts
index 5d550e2..989be89 100644
--- a/ui/src/frontend/widgets_page.ts
+++ b/ui/src/frontend/widgets_page.ts
@@ -34,7 +34,7 @@
import {Spinner} from './widgets/spinner';
import {Switch} from './widgets/switch';
import {TextInput} from './widgets/text_input';
-import {Tree, TreeLayout, TreeNode} from './widgets/tree';
+import {LazyTreeNode, Tree, TreeLayout, TreeNode} from './widgets/tree';
const options: {[key: string]: boolean} = {
foobar: false,
@@ -243,6 +243,18 @@
}
}
+function recursiveLazyTreeNode(
+ left: string, summary: string, hoardData: boolean): m.Children {
+ return m(LazyTreeNode, {
+ left,
+ summary,
+ hoardData,
+ fetchData: async () => {
+ await new Promise((r) => setTimeout(r, 200));
+ return () => recursiveLazyTreeNode(left, summary, hoardData);
+ },
+ });
+}
export const WidgetsPage = createPage({
view() {
@@ -563,6 +575,8 @@
left: 'Process',
right: m(Anchor, {text: '/bin/foo[789]', icon: 'open_in_new'}),
}),
+ recursiveLazyTreeNode('Lazy', '(hoarding)', true),
+ recursiveLazyTreeNode('Lazy', '(non-hoarding)', false),
m(
TreeNode,
{
diff --git a/ui/src/tracks/debug/add_debug_track_menu.ts b/ui/src/tracks/debug/add_debug_track_menu.ts
index d14bfd8..32bc871 100644
--- a/ui/src/tracks/debug/add_debug_track_menu.ts
+++ b/ui/src/tracks/debug/add_debug_track_menu.ts
@@ -89,7 +89,7 @@
m(FormLabel,
{for: 'track_name',
},
- 'Name'),
+ 'Track name'),
m(TextInput, {
id: 'track_name',
onkeydown: (e: KeyboardEvent) => {