Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client unable to keep up with pending messages #90281

Closed
KitHubek opened this issue Mar 25, 2023 · 44 comments
Closed

Client unable to keep up with pending messages #90281

KitHubek opened this issue Mar 25, 2023 · 44 comments

Comments

@KitHubek
Copy link

KitHubek commented Mar 25, 2023

Read before posting

#95386

The problem

this error at log.
Systemwasnt load too high
cpu all the time about 15-25% and memory 30-40%

What version of Home Assistant Core has the issue?

2023.2.5 and newer

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Home Assistant WebSocket API

Link to integration documentation on our website

https://www.home-assistant.io/integrations/websocket_api

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/http.py:159
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 16:01:05 (2 occurrences)
Last logged: 22:04:18

[546291820880] Client unable to keep up with pending messages. Stayed over 512 for 5 seconds. The system's load is too high or an integration is misbehaving
[547007151456] Client unable to keep up with pending messages. Stayed over 512 for 5 seconds. The system's load is too high or an integration is misbehaving

Additional information

No response

@home-assistant
Copy link

Hey there @home-assistant/core, mind taking a look at this issue as it has been labeled with an integration (websocket_api) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of websocket_api can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign websocket_api Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


websocket_api documentation
websocket_api source
(message by IssueLinks)

@bdraco
Copy link
Member

bdraco commented Mar 25, 2023

Update to 2023.3.x. It should give you more information about why

@bdraco
Copy link
Member

bdraco commented Mar 25, 2023

Also please post a py-spy using version 0.3.14

https://community.home-assistant.io/t/instructions-to-install-py-spy-on-haos/480473

And a callgrind.out file from the profiler integrations profiler.start service

@balloob
Copy link
Member

balloob commented Mar 26, 2023

Are you using Node Red or AppDaemon?

@KitHubek
Copy link
Author

KitHubek commented Mar 26, 2023

Yes i am using Node Red.
This error shows in one scenario:
back home, open HA app and want unlock door. Then this error shows at logs, but app connect to HA and all working

ps. but i am using nodered only to play one automation: sending mail with attachment. Only one automation and its all

@balloob
Copy link
Member

balloob commented Mar 27, 2023

Try disabling the node red custom component

@KitHubek
Copy link
Author

KitHubek commented Apr 24, 2023

i uninstall nodered and problem hit today three times.

@bdraco below file callgrind.out i just start service profiler and this file generated:

event: ns : Nanoseconds events: ns summary: 1001499731 fl=/config/custom_components/ble_monitor/binary_sensor.py fn=async_run 108 34483 cfl=/usr/local/lib/python3.10/_weakrefset.py cfn=_remove calls=1 39 108 5015 cfl=/usr/local/lib/python3.10/asyncio/tasks.py cfn=wait_for calls=3 392 108 171216 cfl=/usr/src/homeassistant/homeassistant/util/dt.py cfn=now calls=1 108 108 9541 cfl=~ cfn= calls=1 0 108 601

fl=/config/custom_components/ble_monitor/device_tracker.py
fn=async_run
90 52280
cfl=/usr/local/lib/python3.10/_weakrefset.py
cfn=_remove
calls=1 39
90 8873
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=wait_for
calls=3 392
90 297768
cfl=/usr/src/homeassistant/homeassistant/util/dt.py
cfn=now
calls=1 108
90 25670

fl=/config/custom_components/ble_monitor/sensor.py
fn=async_run
125 28865
cfl=/usr/local/lib/python3.10/_weakrefset.py
cfn=_remove
calls=1 39
125 4194
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=wait_for
calls=3 392
125 156484
cfl=/usr/src/homeassistant/homeassistant/util/dt.py
cfn=now
calls=1 108
125 6933

fl=/usr/local/lib/python3.10/_collections_abc.py
fn=iter
1034 21726
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=getitem
calls=6 91
1034 7517

fl=/usr/local/lib/python3.10/_weakrefset.py
fn=_remove
39 20852
cfl=~
cfn=<method 'discard' of 'set' objects>
calls=4 0
39 5127

fl=/usr/local/lib/python3.10/_weakrefset.py
fn=add
86 25163
cfl=~
cfn=<method 'add' of 'set' objects>
calls=4 0
86 4791

fl=/usr/local/lib/python3.10/abc.py
fn=instancecheck
117 13834
cfl=~
cfn=
calls=2 0
117 8952

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=create_future
427 156974
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=get_debug
calls=25 1914
427 19727

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=create_task
431 86264
cfl=/usr/local/lib/python3.10/_weakrefset.py
cfn=add
calls=4 86
431 29954
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_check_closed
calls=4 513
431 3020
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_soon
calls=4 740
431 56932
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=get_debug
calls=4 1914
431 2309

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=_check_closed
513 51893

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=_check_default_executor
517 1319

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=time
693 641761
cfl=~
cfn=
calls=233 0
693 303413

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=call_later
702 84484
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=time
calls=8 693
702 23901
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_at
calls=8 724
702 337732

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=call_at
724 118632
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_check_closed
calls=12 513
724 13616
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=init:103
calls=12 103
724 210967
cfl=~
cfn=
calls=12 0
724 136415

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=call_soon
740 144725
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_check_closed
calls=35 513
740 34393
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_call_soon
calls=35 769
740 395142

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=_call_soon
769 189928
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=init:31
calls=35 31
769 188080
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=35 0
769 17134

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=run_in_executor
804 18948
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_check_closed
calls=1 513
804 864
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_check_default_executor
calls=1 517
804 1319
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=wrap_future
calls=1 405
804 112949
cfl=/usr/local/lib/python3.10/concurrent/futures/thread.py
cfn=submit
calls=1 161
804 121437

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=_add_callback
1803 863388
cfl=~
cfn=
calls=194 0
1803 275170
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=97 0
1803 76687

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=_timer_handle_cancelled
1816 15404

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=_run_once
1821 5554755
cfl=/usr/local/lib/python3.10/_weakrefset.py
cfn=_remove
calls=1 39
1821 7897
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=time
calls=218 693
1821 903952
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=_run
calls=154 78
1821 86273463
cfl=/usr/local/lib/python3.10/asyncio/selector_events.py
cfn=_process_events
calls=118 592
1821 2144508
cfl=/usr/local/lib/python3.10/selectors.py
cfn=select
calls=118 452
1821 904923254
cfl=~
cfn=
calls=1 0
1821 479462
cfl=~
cfn=
calls=10 0
1821 261994
cfl=~
cfn=
calls=236 0
1821 284892
cfl=~
cfn=
calls=100 0
1821 288203
cfl=~
cfn=
calls=100 0
1821 189304
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=10 0
1821 35819
cfl=~
cfn=<method 'append' of 'list' objects>
calls=154 0
1821 52419
cfl=~
cfn=<method 'popleft' of 'collections.deque' objects>
calls=154 0
1821 99809

fl=/usr/local/lib/python3.10/asyncio/base_events.py
fn=get_debug
1914 60395

fl=/usr/local/lib/python3.10/asyncio/base_futures.py
fn=isfuture
14 20188
cfl=~
cfn=
calls=9 0
14 25809

fl=/usr/local/lib/python3.10/asyncio/coroutines.py
fn=iscoroutinefunction
164 14909
cfl=/usr/local/lib/python3.10/inspect.py
cfn=iscoroutinefunction
calls=2 308
164 57325
cfl=~
cfn=
calls=2 0
164 19880

fl=/usr/local/lib/python3.10/asyncio/coroutines.py
fn=iscoroutine
177 14114
cfl=~
cfn=
calls=2 0
177 36432

fl=/usr/local/lib/python3.10/asyncio/events.py
fn=init:31
31 243057
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=get_debug
calls=47 1914
31 31805
cfl=~
cfn=
calls=18 0
31 26595

fl=/usr/local/lib/python3.10/asyncio/events.py
fn=cancel:64
64 59076
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=get_debug
calls=8 1914
64 6554

fl=/usr/local/lib/python3.10/asyncio/events.py
fn=_run
78 1122160
cfl=~
cfn=<method 'run' of '_contextvars.Context' objects>
calls=154 0
78 85151303

fl=/usr/local/lib/python3.10/asyncio/events.py
fn=init:103
103 97590
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=init:31
calls=12 31
103 113377

fl=/usr/local/lib/python3.10/asyncio/events.py
fn=lt
120 446645
cfl=~
cfn=
calls=418 0
120 110241

fl=/usr/local/lib/python3.10/asyncio/events.py
fn=cancel:148
148 80361
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_timer_handle_cancelled
calls=8 1816
148 15404
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=cancel:64
calls=8 64
148 65630

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=_get_loop
297 8001
cfl=~
cfn=<method 'get_loop' of '_asyncio.Future' objects>
calls=1 0
297 562

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=_set_result_unless_cancelled
309 6393
cfl=~
cfn=<method 'cancelled' of '_asyncio.Future' objects>
calls=1 0
309 1075
cfl=~
cfn=<method 'set_result' of '_asyncio.Future' objects>
calls=1 0
309 35259

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=_copy_future_state
343 24662
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=cancelled
calls=1 385
343 9245
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=done
calls=1 395
343 18848
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=result
calls=1 430
343 11670
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=exception
calls=1 465
343 8114
cfl=~
cfn=<method 'cancelled' of '_asyncio.Future' objects>
calls=1 0
343 727
cfl=~
cfn=<method 'done' of '_asyncio.Future' objects>
calls=1 0
343 478
cfl=~
cfn=<method 'set_result' of '_asyncio.Future' objects>
calls=1 0
343 37511

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=_chain_future
363 34443
cfl=/usr/local/lib/python3.10/asyncio/base_futures.py
cfn=isfuture
calls=4 14
363 11865
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=_get_loop
calls=1 297
363 8563
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=add_done_callback
calls=1 410
363 24166
cfl=~
cfn=
calls=1 0
363 457
cfl=~
cfn=<method 'add_done_callback' of '_asyncio.Future' objects>
calls=1 0
363 1431

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=_set_state
379 4797
cfl=/usr/local/lib/python3.10/asyncio/base_futures.py
cfn=isfuture
calls=1 14
379 4148
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=_copy_future_state
calls=1 343
379 111255

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=_call_check_cancel
385 3309
cfl=~
cfn=<method 'cancelled' of '_asyncio.Future' objects>
calls=1 0
385 482

fl=/usr/local/lib/python3.10/asyncio/futures.py
fn=wrap_future
405 13095
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=1 427
405 7944
cfl=/usr/local/lib/python3.10/asyncio/base_futures.py
cfn=isfuture
calls=1 14
405 10568
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=_chain_future
calls=1 363
405 80925
cfl=~
cfn=
calls=1 0
405 417

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=aenter
13 14333
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=acquire
calls=4 93
13 9386

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=aexit
19 10661
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=release
calls=4 125
19 15468

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=locked
89 3687

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=acquire
93 15763

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=release
125 17529
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=_wake_up_first
calls=7 142
125 6823

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=_wake_up_first
142 6823

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=set
183 27808

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=clear
195 46211

fl=/usr/local/lib/python3.10/asyncio/locks.py
fn=wait
250 57145
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=3 427
250 9114
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=locked
calls=3 89
250 2269
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=acquire
calls=3 93
250 6377
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=release
calls=3 125
250 8884
cfl=/usr/local/lib/python3.10/asyncio/mixins.py
cfn=_get_loop
calls=3 22
250 25241
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=3 0
250 1180
cfl=~
cfn=<method 'remove' of 'collections.deque' objects>
calls=3 0
250 2652

fl=/usr/local/lib/python3.10/asyncio/mixins.py
fn=_get_loop
22 93397
cfl=~
cfn=
calls=13 0
22 86271

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=_get
51 73073
cfl=~
cfn=<method 'popleft' of 'collections.deque' objects>
calls=44 0
51 20748

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=_put
54 58599
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=38 0
54 16503

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=_wakeup_next
59 95323
cfl=~
cfn=<method 'done' of '_asyncio.Future' objects>
calls=8 0
59 3865
cfl=~
cfn=<method 'popleft' of 'collections.deque' objects>
calls=8 0
59 5195
cfl=~
cfn=<method 'set_result' of '_asyncio.Future' objects>
calls=8 0
59 166264

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=qsize
87 88631
cfl=~
cfn=
calls=76 0
87 35416

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=empty
96 88506

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=full
100 85061
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=qsize
calls=38 87
100 67955

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=put_nowait
138 256041
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=clear
calls=38 195
138 39423
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=_put
calls=38 54
138 75102
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=_wakeup_next
calls=38 59
138 236415
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=full
calls=38 100
138 153016

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=get
150 189836
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=10 427
150 100467
cfl=/usr/local/lib/python3.10/asyncio/mixins.py
cfn=_get_loop
calls=10 22
150 154427
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=empty
calls=20 96
150 26939
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=get_nowait
calls=10 176
150 93110
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=10 0
150 6447

fl=/usr/local/lib/python3.10/asyncio/queues.py
fn=get_nowait
176 180150
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=_get
calls=44 51
176 93821
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=_wakeup_next
calls=44 59
176 34232
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=empty
calls=44 96
176 22315

fl=/usr/local/lib/python3.10/asyncio/selector_events.py
fn=_read_from_self
112 139300
cfl=/usr/local/lib/python3.10/asyncio/unix_events.py
cfn=_process_self_data
calls=9 81
112 27795
cfl=~
cfn=<method 'recv' of '_socket.socket' objects>
calls=18 0
112 758807

fl=/usr/local/lib/python3.10/asyncio/selector_events.py
fn=_process_events
592 929263
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=_add_callback
calls=97 1803
592 1215245

fl=/usr/local/lib/python3.10/asyncio/selector_events.py
fn=_read_ready
810 18093
cfl=/usr/local/lib/python3.10/asyncio/selector_events.py
cfn=_read_ready__data_received
calls=3 850
810 2214041

fl=/usr/local/lib/python3.10/asyncio/selector_events.py
fn=_read_ready__data_received
850 59489
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=data_received
calls=2 524
850 678723
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
cfn=data_received
calls=1 280
850 1355329
cfl=~
cfn=<method 'recv' of '_socket.socket' objects>
calls=3 0
850 120500

fl=/usr/local/lib/python3.10/asyncio/selector_events.py
fn=write
896 123215
cfl=~
cfn=
calls=10 0
896 5595
cfl=~
cfn=<method 'send' of '_socket.socket' objects>
calls=10 0
896 2007137

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=feed_ssldata
156 78076
cfl=/usr/local/lib/python3.10/ssl.py
cfn=read
calls=4 908
156 133633
cfl=~
cfn=
calls=2 0
156 2651
cfl=~
cfn=<method 'append' of 'list' objects>
calls=2 0
156 1759
cfl=~
cfn=<method 'write' of '_ssl.MemoryBIO' objects>
calls=2 0
156 21699

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=feed_appdata
231 217121
cfl=/usr/local/lib/python3.10/ssl.py
cfn=write
calls=10 920
231 355949
cfl=~
cfn=
calls=30 0
231 15962
cfl=~
cfn=<method 'append' of 'list' objects>
calls=10 0
231 8948
cfl=~
cfn=<method 'read' of '_ssl.MemoryBIO' objects>
calls=10 0
231 21497

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=is_closing
304 13335

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=write
381 58180
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=_write_appdata
calls=10 601
381 3142858
cfl=~
cfn=
calls=10 0
381 6182

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=data_received
524 25261
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=feed_ssldata
calls=2 156
524 237818
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py
cfn=data_received
calls=2 326
524 415644

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=_write_appdata
601 93197
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=_process_write_backlog
calls=10 671
601 3037065
cfl=~
cfn=
calls=10 0
601 4892
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=10 0
601 7704

fl=/usr/local/lib/python3.10/asyncio/sslproto.py
fn=_process_write_backlog
671 262877
cfl=/usr/local/lib/python3.10/asyncio/selector_events.py
cfn=write
calls=10 896
671 2135947
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=feed_appdata
calls=10 231
671 619477
cfl=~
cfn=
calls=30 0
671 18764

fl=/usr/local/lib/python3.10/asyncio/tasks.py
fn=_release_waiter
387 22182
cfl=~
cfn=<method 'done' of '_asyncio.Future' objects>
calls=6 0
387 4470
cfl=~
cfn=<method 'set_result' of '_asyncio.Future' objects>
calls=6 0
387 103959

fl=/usr/local/lib/python3.10/asyncio/tasks.py
fn=wait_for
392 115256
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=3 427
392 11671
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_later
calls=3 702
392 133281
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=cancel:148
calls=3 148
392 53005
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=_cancel_and_wait
calls=6 507
392 115041
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=ensure_future
calls=3 610
392 164207
cfl=~
cfn=
calls=3 0
392 18870
cfl=~
cfn=<method 'add_done_callback' of '_asyncio.Task' objects>
calls=3 0
392 2249
cfl=~
cfn=<method 'done' of '_asyncio.Task' objects>
calls=3 0
392 1881
cfl=~
cfn=<method 'remove_done_callback' of '_asyncio.Task' objects>
calls=3 0
392 3345
cfl=~
cfn=<method 'result' of '_asyncio.Task' objects>
calls=3 0
392 6662

fl=/usr/local/lib/python3.10/asyncio/tasks.py
fn=_cancel_and_wait
507 39285
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=3 427
507 16727
cfl=~
cfn=<method 'add_done_callback' of '_asyncio.Task' objects>
calls=3 0
507 3686
cfl=~
cfn=<method 'cancel' of '_asyncio.Task' objects>
calls=3 0
507 53143
cfl=~
cfn=<method 'remove_done_callback' of '_asyncio.Task' objects>
calls=3 0
507 2200

fl=/usr/local/lib/python3.10/asyncio/tasks.py
fn=sleep
593 27040
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=1 427
593 7533
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_later
calls=1 702
593 77762
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=cancel:148
calls=1 148
593 19075
cfl=~
cfn=
calls=1 0
593 7220

fl=/usr/local/lib/python3.10/asyncio/tasks.py
fn=ensure_future
610 5858
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=_ensure_future
calls=3 618
610 158349

fl=/usr/local/lib/python3.10/asyncio/tasks.py
fn=_ensure_future
618 22663
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_task
calls=3 431
618 111201
cfl=/usr/local/lib/python3.10/asyncio/base_futures.py
cfn=isfuture
calls=3 14
618 19416
cfl=/usr/local/lib/python3.10/asyncio/coroutines.py
cfn=iscoroutine
calls=3 177
618 5069

fl=/usr/local/lib/python3.10/asyncio/unix_events.py
fn=_process_self_data
81 27795

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=init
330 13377
cfl=/usr/local/lib/python3.10/threading.py
cfn=init
calls=1 236
330 19641

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=cancelled
385 4499
cfl=/usr/local/lib/python3.10/threading.py
cfn=enter
calls=1 264
385 2537
cfl=/usr/local/lib/python3.10/threading.py
cfn=exit
calls=1 267
385 2209

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=done
395 8736
cfl=/usr/local/lib/python3.10/threading.py
cfn=enter
calls=1 264
395 6381
cfl=/usr/local/lib/python3.10/threading.py
cfn=exit
calls=1 267
395 3731

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=__get_result
400 1283

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=add_done_callback
410 9705
cfl=/usr/local/lib/python3.10/threading.py
cfn=enter
calls=1 264
410 7856
cfl=/usr/local/lib/python3.10/threading.py
cfn=exit
calls=1 267
410 5563
cfl=~
cfn=<method 'append' of 'list' objects>
calls=1 0
410 1042

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=result
430 6049
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=__get_result
calls=1 400
430 1283
cfl=/usr/local/lib/python3.10/threading.py
cfn=enter
calls=1 264
430 2598
cfl=/usr/local/lib/python3.10/threading.py
cfn=exit
calls=1 267
430 1740

fl=/usr/local/lib/python3.10/concurrent/futures/_base.py
fn=exception
465 4490
cfl=/usr/local/lib/python3.10/threading.py
cfn=enter
calls=1 264
465 2110
cfl=/usr/local/lib/python3.10/threading.py
cfn=exit
calls=1 267
465 1514

fl=/usr/local/lib/python3.10/concurrent/futures/thread.py
fn=init
47 4517

fl=/usr/local/lib/python3.10/concurrent/futures/thread.py
fn=submit
161 30480
cfl=/usr/local/lib/python3.10/concurrent/futures/_base.py
cfn=init
calls=1 330
161 33018
cfl=/usr/local/lib/python3.10/concurrent/futures/thread.py
cfn=init
calls=1 47
161 4517
cfl=/usr/local/lib/python3.10/concurrent/futures/thread.py
cfn=_adjust_thread_count
calls=1 180
161 39846
cfl=~
cfn=<method 'exit' of '_thread.lock' objects>
calls=2 0
161 1200
cfl=~
cfn=<method 'put' of '_queue.SimpleQueue' objects>
calls=1 0
161 12376

fl=/usr/local/lib/python3.10/concurrent/futures/thread.py
fn=_adjust_thread_count
180 7314
cfl=/usr/local/lib/python3.10/threading.py
cfn=acquire
calls=1 428
180 32532

fl=/usr/local/lib/python3.10/contextlib.py
fn=init:102
102 46575
cfl=~
cfn=
calls=8 0
102 8747

fl=/usr/local/lib/python3.10/contextlib.py
fn=enter:130
130 33311
cfl=~
cfn=
calls=8 0
130 63507

fl=/usr/local/lib/python3.10/contextlib.py
fn=exit:139
139 29898
cfl=~
cfn=
calls=8 0
139 52348

fl=/usr/local/lib/python3.10/contextlib.py
fn=helper
279 24445
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=init:102
calls=8 102
279 55322

fl=/usr/local/lib/python3.10/contextlib.py
fn=init:420
420 40082

fl=/usr/local/lib/python3.10/contextlib.py
fn=enter:423
423 12685

fl=/usr/local/lib/python3.10/contextlib.py
fn=exit:426
426 26989
cfl=~
cfn=
calls=3 0
426 2111

fl=/usr/local/lib/python3.10/enum.py
fn=call
359 45771
cfl=/usr/local/lib/python3.10/enum.py
cfn=new
calls=11 678
359 82550

fl=/usr/local/lib/python3.10/enum.py
fn=new
678 74174
cfl=/usr/local/lib/python3.10/enum.py
cfn=missing
calls=3 741
678 1811
cfl=~
cfn=
calls=3 0
678 6565

fl=/usr/local/lib/python3.10/enum.py
fn=missing
741 1811

fl=/usr/local/lib/python3.10/enum.py
fn=hash
783 4901
cfl=~
cfn=
calls=1 0
783 1179

fl=/usr/local/lib/python3.10/enum.py
fn=value
801 44044

fl=/usr/local/lib/python3.10/functools.py
fn=_unwrap_partial
421 3947
cfl=~
cfn=
calls=2 0
421 978

fl=/usr/local/lib/python3.10/inspect.py
fn=ismethod
199 10626
cfl=~
cfn=
calls=4 0
199 1858

fl=/usr/local/lib/python3.10/inspect.py
fn=isfunction
277 5051
cfl=~
cfn=
calls=2 0
277 691

fl=/usr/local/lib/python3.10/inspect.py
fn=_has_code_flag
290 28478
cfl=/usr/local/lib/python3.10/functools.py
cfn=_unwrap_partial
calls=2 421
290 4925
cfl=/usr/local/lib/python3.10/inspect.py
cfn=ismethod
calls=4 199
290 12484
cfl=/usr/local/lib/python3.10/inspect.py
cfn=isfunction
calls=2 277
290 5742

fl=/usr/local/lib/python3.10/inspect.py
fn=iscoroutinefunction
308 5696
cfl=/usr/local/lib/python3.10/inspect.py
cfn=_has_code_flag
calls=2 290
308 51629

fl=/usr/local/lib/python3.10/logging/init.py
fn=debug:1455
1455 359470
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=isEnabledFor:1724
calls=108 1724
1455 292484

fl=/usr/local/lib/python3.10/logging/init.py
fn=isEnabledFor:1724
1724 504919

fl=/usr/local/lib/python3.10/logging/init.py
fn=debug:1831
1831 82662
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=log
calls=12 1872
1831 94383

fl=/usr/local/lib/python3.10/logging/init.py
fn=log
1872 28389
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=isEnabledFor:1881
calls=12 1881
1872 65994

fl=/usr/local/lib/python3.10/logging/init.py
fn=isEnabledFor:1881
1881 37248
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=isEnabledFor:1724
calls=12 1724
1881 28746

fl=/usr/local/lib/python3.10/selectors.py
fn=_key_from_fd
276 485583

fl=/usr/local/lib/python3.10/selectors.py
fn=select
452 4264617
cfl=/usr/local/lib/python3.10/selectors.py
cfn=_key_from_fd
calls=97 276
452 485583
cfl=~
cfn=
calls=118 0
452 68859
cfl=~
cfn=
calls=118 0
452 160903
cfl=~
cfn=
calls=100 0
452 225514
cfl=~
cfn=<method 'append' of 'list' objects>
calls=97 0
452 113248
cfl=~
cfn=<method 'poll' of 'select.epoll' objects>
calls=118 0
452 899604530

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
fn=_init_read
56 3423
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
cfn=_read_exactly
calls=1 61
56 7324

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
fn=_read_exactly
61 10207
cfl=~
cfn=
calls=2 0
61 649

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
fn=data_received
280 34043
cfl=/usr/local/lib/python3.10/enum.py
cfn=hash
calls=1 783
280 6080
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
cfn=_init_read
calls=1 56
280 10747
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
cfn=_read_exactly
calls=1 61
280 3532
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
cfn=_handle_frame
calls=1 376
280 1299496
cfl=~
cfn=
calls=2 0
280 1431

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py
fn=_handle_frame
376 40102
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/connection.py
cfn=_process_packet
calls=1 590
376 867318
cfl=/usr/local/lib/python3.10/site-packages/noise/connection.py
cfn=decrypt
calls=1 137
376 387274
cfl=
cfn=init:2
calls=1 2
376 3995
cfl=~
cfn=
calls=2 0
376 807

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/client.py
fn=on_msg
446 29944
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=from_pb
calls=1 842
446 189800
cfl=/usr/src/homeassistant/homeassistant/components/esphome/bluetooth/scanner.py
cfn=async_on_advertisement
calls=1 13
446 134144

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/connection.py
fn=_process_packet
590 34033
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1455
calls=1 1455
590 7030
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/client.py
cfn=on_msg
calls=1 446
590 353888
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=init
calls=1 498
590 41061
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=MergeFromString
calls=1 1124
590 430143
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=1 0
590 1163

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=_convert_bluetooth_le_service_uuids
781 9447
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=
calls=1 787
781 34409
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=len
calls=1 95
781 3028

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=
787 18025
cfl=/usr/local/lib/python3.10/_collections_abc.py
cfn=iter
calls=2 1034
787 14442
cfl=~
cfn=
calls=1 0
787 659
cfl=~
cfn=<method 'lower' of 'str' objects>
calls=1 0
787 1283

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=_convert_bluetooth_le_service_data
793 6079
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=:803
calls=1 803
793 32950
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=len
calls=1 95
793 1741
cfl=~
cfn=
calls=1 0
793 6379

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=:803
803 17734
cfl=/usr/local/lib/python3.10/_collections_abc.py
cfn=iter
calls=2 1034
803 8118
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=getter:688
calls=4 688
803 5917
cfl=~
cfn=
calls=1 0
803 473
cfl=~
cfn=<method 'lower' of 'str' objects>
calls=1 0
803 708

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=_convert_bluetooth_le_manufacturer_data
812 5617
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=:822
calls=1 822
812 21730
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=len
calls=1 95
812 1645
cfl=~
cfn=
calls=1 0
812 841

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=:822
822 10742
cfl=/usr/local/lib/python3.10/_collections_abc.py
cfn=iter
calls=2 1034
822 6683
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=getter:688
calls=3 688
822 4305

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=_convert_bluetooth_le_name
825 3015
cfl=~
cfn=<method 'decode' of 'bytes' objects>
calls=1 0
825 2319

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=post_init
831 542

fl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
fn=from_pb
842 30332
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=_convert_bluetooth_le_service_uuids
calls=1 781
842 46884
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=_convert_bluetooth_le_service_data
calls=1 793
842 47149
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=_convert_bluetooth_le_manufacturer_data
calls=1 812
842 29833
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=_convert_bluetooth_le_name
calls=1 825
842 5334
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=getter:644
calls=3 644
842 7049
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=getter:688
calls=4 688
842 6711
cfl=
cfn=init:2
calls=1 2
842 16508

fl=/usr/local/lib/python3.10/site-packages/aiohttp/connector.py
fn=_cleanup_closed
390 22753
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=cancel:148
calls=2 148
390 50344
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
cfn=weakref_handle
calls=2 603
390 94516

fl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
fn=_weakref_handle
595 37960
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=init:420
calls=2 420
595 6560
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=enter:423
calls=2 423
595 989
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=exit:426
calls=2 426
595 2167
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/connector.py
cfn=_cleanup_closed
calls=2 390
595 167613
cfl=~
cfn=
calls=2 0
595 3513

fl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
fn=weakref_handle
603 23661
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=time
calls=2 693
603 5010
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_at
calls=2 724
603 65845

fl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
fn=call_later
615 20007
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=time
calls=2 693
615 5239
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_at
calls=2 724
615 76053
cfl=~
cfn=
calls=2 0
615 3532

fl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
fn=set_result
790 22520
cfl=~
cfn=<method 'done' of '_asyncio.Future' objects>
calls=4 0
790 2305
cfl=~
cfn=<method 'set_result' of '_asyncio.Future' objects>
calls=4 0
790 66563

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=json
93 9501
cfl=~
cfn=<orjson.loads>
calls=2 0
93 21672

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=feed_data
283 9117
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=_feed_data
calls=2 294
283 392812

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=_feed_data
294 89915
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=parse_frame
calls=2 417
294 130856
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
cfn=feed_data:649
calls=2 649
294 117591
cfl=
cfn=:1
calls=2 1
294 10197
cfl=~
cfn=
calls=4 0
294 2448
cfl=~
cfn=<method 'clear' of 'bytearray' objects>
calls=2 0
294 2626
cfl=~
cfn=<method 'decode' of 'bytes' objects>
calls=2 0
294 3446
cfl=~
cfn=<method 'decompress' of 'zlib.Decompress' objects>
calls=2 0
294 30465
cfl=~
cfn=<method 'extend' of 'bytearray' objects>
calls=4 0
294 5268

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=parse_frame
417 118038
cfl=~
cfn=<aiohttp._websocket._websocket_mask_cython>
calls=2 0
417 5951
cfl=~
cfn=
calls=2 0
417 1839
cfl=~
cfn=<method 'append' of 'list' objects>
calls=2 0
417 916
cfl=~
cfn=<method 'extend' of 'bytearray' objects>
calls=2 0
417 4112

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=_send_frame
596 436498
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=_write
calls=10 661
596 3291771
cfl=~
cfn=
calls=40 0
596 22580
cfl=~
cfn=<method 'compress' of 'zlib.Compress' objects>
calls=10 0
596 9388244
cfl=~
cfn=<method 'endswith' of 'bytes' objects>
calls=10 0
596 33437
cfl=~
cfn=<method 'flush' of 'zlib.Compress' objects>
calls=10 0
596 4588672
cfl=~
cfn=<method 'pack' of '_struct.Struct' objects>
calls=10 0
596 33732

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=_write
661 71216
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=is_closing
calls=10 304
661 13335
cfl=/usr/local/lib/python3.10/asyncio/sslproto.py
cfn=write
calls=10 381
661 3207220

fl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
fn=send
678 127303
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=_send_frame
calls=10 596
678 17794934
cfl=~
cfn=
calls=10 0
678 3593
cfl=~
cfn=<method 'encode' of 'str' objects>
calls=10 0
678 21470

fl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
fn=feed_data:594
594 17149
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
cfn=set_result
calls=2 790
594 82287
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=2 0
594 1166

fl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
fn=read:611
611 31873
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=2 427
611 8324
cfl=~
cfn=<method 'popleft' of 'collections.deque' objects>
calls=2 0
611 811

fl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
fn=feed_data:649
649 16989
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
cfn=feed_data:594
calls=2 594
649 100602

fl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
fn=read:655
655 22456
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
cfn=read:611
calls=4 611
655 41008

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py
fn=_handle
470 6432
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py
cfn=impl
calls=2 114
470 1422944

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py
fn=impl
114 5912
cfl=/usr/src/homeassistant/homeassistant/components/http/security_filter.py
cfn=security_filter_middleware
calls=2 42
114 1417032

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py
fn=data_received
326 13715
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=feed_data
calls=2 283
326 401929

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py
fn=_process_keepalive
407 29489
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=time
calls=3 693
407 7072
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_later
calls=3 702
407 147942

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py
fn=_handle_request
425 6947
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py
cfn=_handle
calls=2 470
425 1429376

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
fn=_cancel_heartbeat
93 12919
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=cancel:148
calls=2 148
93 38971

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
fn=_reset_heartbeat
102 14946
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
cfn=call_later
calls=2 615
102 104831
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
cfn=_cancel_heartbeat
calls=2 93
102 51890

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
fn=closed
273 12317

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
fn=send_str
303 96227
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=send
calls=10 678
303 17947300
cfl=~
cfn=
calls=10 0
303 4759

fl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
fn=receive
390 82384
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_future
calls=2 427
390 14921
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
cfn=set_result
calls=2 790
390 9101
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/streams.py
cfn=read:655
calls=4 655
390 63464
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
cfn=_reset_heartbeat
calls=2 102
390 171667
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=timeout
calls=2 21
390 42890
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=aenter
calls=2 119
390 20560
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=aexit
calls=2 123
390 27785

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=timeout
21 12122
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=init
calls=2 89
21 9182
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=_get_running_loop
calls=2 238
21 21586

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=init
89 9182

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=aenter
119 6079
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=_do_enter
calls=2 203
119 14481

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=aexit
123 6266
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=_do_exit
calls=2 209
123 21519

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=_reject
149 3830

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=_reschedule
187 4937

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=_do_enter
203 9544
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=_reschedule
calls=2 187
203 4937

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=_do_exit
209 17689
cfl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
cfn=_reject
calls=2 149
209 3830

fl=/usr/local/lib/python3.10/site-packages/async_timeout/init.py
fn=_get_running_loop
238 6674
cfl=~
cfn=
calls=2 0
238 14912

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py
fn=_parse_msg
708 3477175
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1455
calls=88 1455
708 557909
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py
cfn=_run_advertisement_callbacks
calls=88 862
708 12544621
cfl=/usr/local/lib/python3.10/typing.py
cfn=cast
calls=88 1737
708 67029
cfl=~
cfn=<method 'keys' of 'dict' objects>
calls=88 0
708 107282
cfl=~
cfn=<method 'update' of 'dict' objects>
calls=88 0
708 245716

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py
fn=_run_advertisement_callbacks
862 846510
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py
cfn=_handle_advertising_data
calls=88 238
862 11499210
cfl=~
cfn=<method 'copy' of 'dict' objects>
calls=88 0
862 198901

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py
fn=_handle_advertising_data
238 3401892
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py
cfn=:249
calls=88 249
238 415345
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py
cfn=:252
calls=88 252
238 300630
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/scanner.py
cfn=create_or_update_device
calls=88 175
238 869094
cfl=/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py
cfn=_async_detection_callback
calls=88 165
238 5477484
cfl=
cfn=:1
calls=88 1
238 557225
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=528 0
238 376298
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=176 0
238 101242

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py
fn=:249
249 415345

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/scanner.py
fn=:252
252 300630

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/device.py
fn=init
25 3873

fl=/usr/local/lib/python3.10/site-packages/bleak/backends/scanner.py
fn=create_or_update_device
175 869094

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
fn=_set_tag
140 11727
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py
cfn=openssl_assert
calls=1 208
140 3380
cfl=~
cfn=
calls=1 0
140 804
cfl=~
cfn=
calls=1 0
140 4867

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
fn=_set_nonce_operation
147 30076
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py
cfn=openssl_assert
calls=1 208
147 7534
cfl=~
cfn=
calls=1 0
147 23468
cfl=~
cfn=<method 'from_buffer' of '_cffi_backend.FFI' objects>
calls=1 0
147 5587

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
fn=_process_aad
168 18368
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py
cfn=openssl_assert
calls=1 208
168 2801
cfl=~
cfn=
calls=1 0
168 503
cfl=~
cfn=
calls=1 0
168 35950
cfl=~
cfn=<method 'new' of '_cffi_backend.FFI' objects>
calls=1 0
168 6272

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
fn=_process_data
176 19782
cfl=~
cfn=
calls=2 0
176 1293
cfl=~
cfn=
calls=1 0
176 7373
cfl=~
cfn=<method 'new' of '_cffi_backend.FFI' objects>
calls=2 0
176 5724

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
fn=_decrypt
245 58651
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
cfn=_set_tag
calls=1 140
245 20778
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
cfn=_set_nonce_operation
calls=1 147
245 66665
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
cfn=_process_aad
calls=1 168
245 63894
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
cfn=_process_data
calls=1 176
245 34172
cfl=~
cfn=
calls=3 0
245 3434
cfl=~
cfn=
calls=1 0
245 544
cfl=~
cfn=
calls=1 0
245 5088
cfl=~
cfn=<method 'new' of '_cffi_backend.FFI' objects>
calls=2 0
245 6916

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/backend.py
fn=openssl_assert
208 10316
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl/binding.py
cfn=_openssl_assert
calls=3 82
208 3399

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl/binding.py
fn=_openssl_assert
82 3399

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/aead.py
fn=decrypt
60 31121
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/aead.py
cfn=_decrypt
calls=1 245
60 260142
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/aead.py
cfn=_check_params
calls=1 75
60 23595
cfl=~
cfn=<method 'exit' of 'builtins.PoolAcquisition' objects>
calls=1 0
60 4162
cfl=~
cfn=<method 'acquire' of 'builtins.FixedPool' objects>
calls=1 0
60 9750

fl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/aead.py
fn=_check_params
75 12033
cfl=/usr/local/lib/python3.10/site-packages/cryptography/utils.py
cfn=_check_bytes
calls=2 28
75 5916
cfl=/usr/local/lib/python3.10/site-packages/cryptography/utils.py
cfn=_check_byteslike
calls=1 33
75 5248
cfl=~
cfn=
calls=1 0
75 398

fl=/usr/local/lib/python3.10/site-packages/cryptography/utils.py
fn=_check_bytes
28 4644
cfl=~
cfn=
calls=2 0
28 1272

fl=/usr/local/lib/python3.10/site-packages/cryptography/utils.py
fn=_check_byteslike
33 5248

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=init:73
73 5865

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=getitem
91 7517

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=len
95 4380
cfl=~
cfn=
calls=3 0
95 2034

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=init:132
132 7677
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=init:73
calls=1 73
132 2335

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=append
148 7747
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/type_checkers.py
cfn=CheckValue
calls=1 207
148 10572
cfl=~
cfn=<method 'append' of 'list' objects>
calls=1 0
148 1043

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=init:254
254 8120
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=init:73
calls=2 73
254 3530

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
fn=add
272 17753
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=init
calls=2 498
272 36181
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=_SetListener
calls=2 1408
272 3249
cfl=~
cfn=<method 'append' of 'list' objects>
calls=2 0
272 1166

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=DecodeVarint
107 48667

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=ReadTag
156 43474
cfl=~
cfn=<method 'tobytes' of 'memoryview' objects>
calls=10 0
156 8311

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=DecodeField:234
234 13963
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeVarint
calls=2 107
234 22873
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=InnerDecode
calls=1 256
234 15609

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=InnerDecode
256 5681
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeVarint
calls=1 107
256 5768
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/wire_format.py
cfn=ZigZagDecode
calls=1 110
256 4160

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=_ConvertToUnicode
549 11438
cfl=~
cfn=<method 'tobytes' of 'memoryview' objects>
calls=3 0
549 2183

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=DecodeRepeatedField:566
566 21874
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=append
calls=1 148
566 19362
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeVarint
calls=1 107
566 4458
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=_ConvertToUnicode
calls=1 549
566 6747
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=MakeRepeatedScalarDefault
calls=1 442
566 16528
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=1 0
566 509
cfl=~
cfn=<method 'setdefault' of 'dict' objects>
calls=1 0
566 2127

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=DecodeField:583
583 9691
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeVarint
calls=2 107
583 5059
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=_ConvertToUnicode
calls=2 549
583 6874

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=DecodeField:624
624 8506
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeVarint
calls=2 107
624 5129
cfl=~
cfn=<method 'tobytes' of 'memoryview' objects>
calls=2 0
624 1194

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
fn=DecodeRepeatedField:694
694 24555
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=add
calls=2 272
694 58349
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeVarint
calls=2 107
694 5380
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=MakeRepeatedMessageDefault
calls=2 436
694 20219
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=InternalParse
calls=2 1144
694 90078
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=2 0
694 862
cfl=~
cfn=<method 'setdefault' of 'dict' objects>
calls=2 0
694 1357

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/message_listener.py
fn=Modified
77 1273

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=MakeRepeatedMessageDefault
436 8569
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=init:254
calls=2 254
436 11650

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=MakeRepeatedScalarDefault
442 6516
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/containers.py
cfn=init:132
calls=1 132
442 10012

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=init
498 41211
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=init
calls=3 1489
498 31865
cfl=~
cfn=
calls=3 0
498 2014
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=3 0
498 2152

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=getter:644
644 5916
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=3 0
644 1133

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=getter:688
688 13053
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=11 0
688 3880

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=MergeFromString
1124 8859
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=InternalParse
calls=1 1144
1124 420344
cfl=~
cfn=
calls=1 0
1124 940

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=InternalParse
1144 65494
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=ReadTag
calls=10 156
1144 51785
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeField:234
calls=3 234
1144 52445
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeRepeatedField:566
calls=1 566
1144 71605
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeField:583
calls=2 583
1144 21624
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeField:624
calls=2 624
1144 14829
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/decoder.py
cfn=DecodeRepeatedField:694
calls=2 694
1144 200800
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=Modified:1444
calls=3 1444
1144 18249
cfl=~
cfn=
calls=3 0
1144 1492
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=10 0
1144 12099

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=_SetListener
1408 3249

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=Modified:1444
1444 14769
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/message_listener.py
cfn=Modified
calls=1 77
1444 1273
cfl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
cfn=Modified:1508
calls=2 1508
1444 2207

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=init
1489 23405
cfl=~
cfn=
calls=3 0
1489 4254
cfl=~
cfn=
calls=3 0
1489 4206

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/python_message.py
fn=Modified:1508
1508 2207

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/type_checkers.py
fn=CheckValue
207 7112
cfl=~
cfn=
calls=2 0
207 1880
cfl=~
cfn=<method 'encode' of 'str' objects>
calls=1 0
207 1580

fl=/usr/local/lib/python3.10/site-packages/google/protobuf/internal/wire_format.py
fn=ZigZagDecode
110 4160

fl=/usr/local/lib/python3.10/site-packages/janus/init.py
fn=_qsize
205 4328
cfl=~
cfn=
calls=3 0
205 1244

fl=/usr/local/lib/python3.10/site-packages/janus/init.py
fn=_check_closing
267 3131

fl=/usr/local/lib/python3.10/site-packages/janus/init.py
fn=get
533 70351
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=aenter
calls=3 13
533 15424
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=aexit
calls=3 19
533 18193
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=wait
calls=3 250
533 72464
cfl=/usr/local/lib/python3.10/site-packages/janus/init.py
cfn=_qsize
calls=3 205
533 5572
cfl=/usr/local/lib/python3.10/site-packages/janus/init.py
cfn=_check_closing
calls=3 267
533 3131
cfl=~
cfn=<method 'acquire' of '_thread.lock' objects>
calls=3 0
533 4679
cfl=~
cfn=<method 'release' of '_thread.lock' objects>
calls=3 0
533 2014

fl=/usr/local/lib/python3.10/site-packages/jinja2/environment.py
fn=render
1269 78282
cfl=/usr/local/lib/python3.10/site-packages/jinja2/environment.py
cfn=new_context
calls=8 1375
1269 289304
cfl=~
cfn=<method 'join' of 'str' objects>
calls=8 0
1269 225669

fl=/usr/local/lib/python3.10/site-packages/jinja2/environment.py
fn=new_context
1375 25543
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=new_context
calls=8 91
1375 263761

fl=/usr/local/lib/python3.10/site-packages/jinja2/nodes.py
fn=init
74 31779
cfl=~
cfn=
calls=8 0
74 6094

fl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
fn=new_context
91 88731
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=init
calls=8 163
91 175030

fl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
fn=init
163 125076
cfl=/usr/local/lib/python3.10/site-packages/jinja2/nodes.py
cfn=init
calls=8 74
163 37873
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=
calls=8 182
163 7813
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=8 0
163 4268

fl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
fn=
182 7813

fl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
fn=resolve_or_missing
227 16134

fl=/usr/local/lib/python3.10/site-packages/jinja2/sandbox.py
fn=getattr
321 34799
cfl=~
cfn=
calls=8 0
321 43686

fl=/usr/local/lib/python3.10/site-packages/noise/backends/default/ciphers.py
fn=decrypt
12 12319
cfl=/usr/local/lib/python3.10/site-packages/cryptography/hazmat/primitives/ciphers/aead.py
cfn=decrypt
calls=1 60
12 328770
cfl=/usr/local/lib/python3.10/site-packages/noise/backends/default/ciphers.py
cfn=format_nonce
calls=1 34
12 19833

fl=/usr/local/lib/python3.10/site-packages/noise/backends/default/ciphers.py
fn=format_nonce
34 16814
cfl=~
cfn=<method 'to_bytes' of 'int' objects>
calls=1 0
34 3019

fl=/usr/local/lib/python3.10/site-packages/noise/connection.py
fn=decrypt
137 10024
cfl=/usr/local/lib/python3.10/site-packages/noise/state.py
cfn=decrypt_with_ad
calls=1 59
137 375870
cfl=~
cfn=
calls=1 0
137 508
cfl=~
cfn=
calls=1 0
137 872

fl=/usr/local/lib/python3.10/site-packages/noise/state.py
fn=has_key
31 2555
cfl=~
cfn=
calls=1 0
31 1093

fl=/usr/local/lib/python3.10/site-packages/noise/state.py
fn=decrypt_with_ad
59 11300
cfl=/usr/local/lib/python3.10/site-packages/noise/backends/default/ciphers.py
cfn=decrypt
calls=1 12
59 360922
cfl=/usr/local/lib/python3.10/site-packages/noise/state.py
cfn=has_key
calls=1 31
59 3648

fl=/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py
fn=topic
424 34584
cfl=~
cfn=<method 'decode' of 'bytes' objects>
calls=20 0
424 16372

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=iteritems
17 7593
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=4 0
17 1248

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=call:269
269 35633
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=validate_dict
calls=4 559
269 473688
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=validate_value
calls=8 827
269 8684

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=validate_mapping
343 162292
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=validate_callable
calls=10 816
343 87134
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=validate_value
calls=2 827
343 1713
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
cfn=_run
calls=4 222
343 95218
cfl=~
cfn=
calls=8 0
343 2386
cfl=~
cfn=<method 'copy' of 'set' objects>
calls=4 0
343 6174
cfl=~
cfn=<method 'discard' of 'set' objects>
calls=8 0
343 41605
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=8 0
343 6136
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=4 0
343 1588

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=validate_dict
559 55212
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=iteritems
calls=4 17
559 8841
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=validate_mapping
calls=4 343
559 404246
cfl=~
cfn=
calls=4 0
559 1303
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=8 0
559 4086

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=validate_callable
816 44738
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=call:986
calls=8 986
816 47349
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
cfn=call:105
calls=4 105
816 7190
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
cfn=call:604
calls=4 604
816 11480
cfl=/usr/src/homeassistant/homeassistant/helpers/config_validation.py
cfn=string
calls=2 558
816 16075

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=validate_value
827 10397

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=call:986
986 19433
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=call:269
calls=8 269
986 27916

fl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
fn=hash
1005 15899
cfl=~
cfn=
calls=8 0
1005 6050

fl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
fn=call:105
105 7190

fl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
fn=_run
222 38493
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
cfn=_exec
calls=4 347
222 56725

fl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
fn=_exec
347 17027
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=validate_callable
calls=8 816
347 39698

fl=/usr/local/lib/python3.10/site-packages/voluptuous/validators.py
fn=call:604
604 11480

fl=/usr/local/lib/python3.10/socket.py
fn=readinto
691 1813886
cfl=~
cfn=<method '_checkClosed' of '_io._IOBase' objects>
calls=170 0
691 223203
cfl=~
cfn=<method '_checkReadable' of '_io._IOBase' objects>
calls=170 0
691 620679
cfl=~
cfn=<method 'recv_into' of '_socket.socket' objects>
calls=170 0
691 4762736

fl=/usr/local/lib/python3.10/socket.py
fn=readable
730 291890

fl=/usr/local/lib/python3.10/ssl.py
fn=read
908 17529
cfl=~
cfn=<method 'read' of '_ssl._SSLSocket' objects>
calls=4 0
908 116104

fl=/usr/local/lib/python3.10/ssl.py
fn=write
920 39108
cfl=~
cfn=<method 'write' of '_ssl._SSLSocket' objects>
calls=10 0
920 316841

fl=/usr/local/lib/python3.10/threading.py
fn=RLock
90 4607

fl=/usr/local/lib/python3.10/threading.py
fn=init
236 15034
cfl=/usr/local/lib/python3.10/threading.py
cfn=RLock
calls=1 90
236 4607

fl=/usr/local/lib/python3.10/threading.py
fn=enter
264 25353
cfl=~
cfn=<method 'enter' of '_thread.RLock' objects>
calls=5 0
264 7709
cfl=~
cfn=<method 'enter' of '_thread.lock' objects>
calls=1 0
264 1199

fl=/usr/local/lib/python3.10/threading.py
fn=exit
267 17890
cfl=~
cfn=<method 'exit' of '_thread.RLock' objects>
calls=5 0
267 3097
cfl=~
cfn=<method 'exit' of '_thread.lock' objects>
calls=1 0
267 887

fl=/usr/local/lib/python3.10/threading.py
fn=acquire
428 12636
cfl=/usr/local/lib/python3.10/threading.py
cfn=enter
calls=1 264
428 12779
cfl=/usr/local/lib/python3.10/threading.py
cfn=exit
calls=1 267
428 7117

fl=/usr/local/lib/python3.10/types.py
fn=get
176 109569
cfl=/usr/local/lib/python3.10/enum.py
cfn=value
calls=41 801
176 44044

fl=/usr/local/lib/python3.10/typing.py
fn=cast
1737 70334

fl=/usr/src/homeassistant/homeassistant/auth/models.py
fn=permissions
61 49827

fl=/usr/src/homeassistant/homeassistant/auth/permissions/init.py
fn=check_entity
42 84261
cfl=/usr/src/homeassistant/homeassistant/auth/permissions/init.py
cfn=
calls=18 80
42 10743
cfl=/usr/src/homeassistant/homeassistant/auth/permissions/util.py
cfn=apply_policy_allow_all
calls=18 43
42 13240

fl=/usr/src/homeassistant/homeassistant/auth/permissions/init.py
fn=
80 10743

fl=/usr/src/homeassistant/homeassistant/auth/permissions/util.py
fn=apply_policy_allow_all
43 13240

fl=/usr/src/homeassistant/homeassistant/backports/enum.py
fn=str
21 54921
cfl=/usr/local/lib/python3.10/types.py
cfn=get
calls=16 176
21 63472

fl=/usr/src/homeassistant/homeassistant/components/bluetooth/advertisement_tracker.py
fn=async_collect
36 75794
cfl=~
cfn=
calls=7 0
36 2992
cfl=~
cfn=<method 'append' of 'list' objects>
calls=5 0
36 2936
cfl=~
cfn=<method 'setdefault' of 'dict' objects>
calls=5 0
36 6958

fl=/usr/src/homeassistant/homeassistant/components/bluetooth/base_scanner.py
fn=_async_on_advertisement
283 56863
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/device.py
cfn=init
calls=1 25
283 3873
cfl=/usr/src/homeassistant/homeassistant/components/bluetooth/manager.py
cfn=scanner_adv_received
calls=1 379
283 40078
cfl=
cfn=:1
calls=1 1
283 5474
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=1 0
283 2234

fl=/usr/src/homeassistant/homeassistant/components/bluetooth/manager.py
fn=_prefer_previous_adv_from_different_source
330 334048
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=38 0
330 35292

fl=/usr/src/homeassistant/homeassistant/components/bluetooth/manager.py
fn=scanner_adv_received
379 2279003
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=isEnabledFor:1724
calls=89 1724
379 183689
cfl=/usr/src/homeassistant/homeassistant/components/bluetooth/advertisement_tracker.py
cfn=async_collect
calls=5 36
379 88680
cfl=/usr/src/homeassistant/homeassistant/components/bluetooth/manager.py
cfn=_prefer_previous_adv_from_different_source
calls=38 330
379 369340
cfl=~
cfn=
calls=89 0
379 86178
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=326 0
379 296511

fl=/usr/src/homeassistant/homeassistant/components/bluetooth/scanner.py
fn=_async_detection_callback
165 2214161
cfl=/usr/src/homeassistant/homeassistant/components/bluetooth/manager.py
cfn=scanner_adv_received
calls=88 379
165 3263323

fl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
fn=_update_cost
257 156686
cfl=/usr/local/lib/python3.10/typing.py
cfn=cast
calls=6 1737
257 3305
cfl=/usr/src/homeassistant/homeassistant/components/sensor/recorder.py
cfn=reset_detected
calls=2 328
257 8822
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=get
calls=4 1376
257 30988
cfl=/usr/src/homeassistant/homeassistant/util/unit_conversion.py
cfn=convert
calls=2 65
257 2852
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=6 0
257 4892
cfl=~
cfn=<method 'partition' of 'str' objects>
calls=2 0
257 4527

fl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
fn=async_state_changed_listener
416 19551
cfl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
cfn=_update_cost
calls=2 257
416 212072
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=async_write_ha_state
calls=2 555
416 672402

fl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
fn=native_unit_of_measurement
448 9997

fl=/usr/src/homeassistant/homeassistant/components/esphome/bluetooth/scanner.py
fn=async_on_advertisement
13 25622
cfl=/usr/src/homeassistant/homeassistant/components/bluetooth/base_scanner.py
cfn=_async_on_advertisement
calls=1 283
13 108522

fl=/usr/src/homeassistant/homeassistant/components/homeassistant/triggers/numeric_state.py
fn=variables
111 9645

fl=/usr/src/homeassistant/homeassistant/components/homeassistant/triggers/numeric_state.py
fn=check_numeric_state
124 20572
cfl=/usr/src/homeassistant/homeassistant/components/homeassistant/triggers/numeric_state.py
cfn=variables
calls=2 111
124 9645
cfl=/usr/src/homeassistant/homeassistant/helpers/condition.py
cfn=async_numeric_state
calls=2 306
124 67513

fl=/usr/src/homeassistant/homeassistant/components/homeassistant/triggers/numeric_state.py
fn=state_automation_listener
143 33630
cfl=/usr/src/homeassistant/homeassistant/components/homeassistant/triggers/numeric_state.py
cfn=check_numeric_state
calls=2 124
143 97730
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=callback
calls=4 180
143 19494
cfl=~
cfn=<method 'add' of 'set' objects>
calls=2 0
143 3327
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=6 0
143 2557

fl=/usr/src/homeassistant/homeassistant/components/http/auth.py
fn=auth_middleware
204 4739
cfl=/usr/src/homeassistant/homeassistant/components/http/view.py
cfn=handle
calls=2 124
204 1393993

fl=/usr/src/homeassistant/homeassistant/components/http/ban.py
fn=ban_middleware
62 4535
cfl=/usr/src/homeassistant/homeassistant/components/http/auth.py
cfn=auth_middleware
calls=2 204
62 1398732

fl=/usr/src/homeassistant/homeassistant/components/http/forwarded.py
fn=forwarded_middleware
72 4357
cfl=/usr/src/homeassistant/homeassistant/components/http/request_context.py
cfn=request_context_middleware
calls=2 22
72 1407882

fl=/usr/src/homeassistant/homeassistant/components/http/request_context.py
fn=request_context_middleware
22 4615
cfl=/usr/src/homeassistant/homeassistant/components/http/ban.py
cfn=ban_middleware
calls=2 62
22 1403267

fl=/usr/src/homeassistant/homeassistant/components/http/security_filter.py
fn=security_filter_middleware
42 4793
cfl=/usr/src/homeassistant/homeassistant/components/http/forwarded.py
cfn=forwarded_middleware
calls=2 72
42 1412239

fl=/usr/src/homeassistant/homeassistant/components/http/view.py
fn=handle
124 5094
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
cfn=get
calls=2 50
124 1388899

fl=/usr/src/homeassistant/homeassistant/components/mqtt/client.py
fn=_mqtt_handle_message
655 247985
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1455
calls=2 1455
655 10248
cfl=/usr/local/lib/python3.10/site-packages/paho/mqtt/client.py
cfn=topic
calls=20 424
655 50956
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=process_write_state_requests
calls=2 262
655 5432022
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_run_hass_job
calls=16 562
655 2848848
cfl=
cfn=init
calls=16 1
655 68765
cfl=~
cfn=<method 'decode' of 'bytes' objects>
calls=16 0
655 16391

fl=/usr/src/homeassistant/homeassistant/components/mqtt/debug_info.py
fn=_log_message
31 178273
cfl=
cfn=eq
calls=160 1
31 360774
cfl=~
cfn=<method 'append' of 'collections.deque' objects>
calls=8 0
31 12723

fl=/usr/src/homeassistant/homeassistant/components/mqtt/debug_info.py
fn=wrapper
40 71333
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/debug_info.py
cfn=_log_message
calls=16 31
40 551770
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
cfn=attributes_message_received
calls=8 418
40 392108
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/sensor.py
cfn=message_received
calls=6 303
40 1356758
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/switch.py
cfn=state_message_received
calls=2 147
40 328101

fl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
fn=attributes_message_received
418 143540
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
cfn=
calls=8 425
418 95463
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=async_render_with_possible_json_value
calls=8 195
418 11818
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=write_state_request
calls=8 269
418 17077
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/util.py
cfn=get_mqtt_data
calls=8 139
418 11891
cfl=~
cfn=
calls=16 0
418 6219
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=8 0
418 4615
cfl=~
cfn=<orjson.loads>
calls=8 0
418 101485

fl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
fn=
425 95463

fl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
fn=extra_state_attributes
465 7967

fl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
fn=available
586 91082
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/util.py
cfn=get_mqtt_data
calls=8 139
586 12394
cfl=~
cfn=
calls=8 0
586 14335
cfl=~
cfn=<method 'values' of 'dict' objects>
calls=8 0
586 5585

fl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
fn=async_render_with_possible_json_value
195 144723
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1455
calls=8 1455
195 30273
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=name
calls=8 324
195 23679
cfl=/usr/src/homeassistant/homeassistant/helpers/template.py
cfn=async_render_with_possible_json_value
calls=8 599
195 1293422

fl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
fn=process_write_state_requests
262 73104
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=async_write_ha_state
calls=8 555
262 5349871
cfl=~
cfn=<method 'popitem' of 'dict' objects>
calls=8 0
262 9047

fl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
fn=write_state_request
269 28762

fl=/usr/src/homeassistant/homeassistant/components/mqtt/sensor.py
fn=_update_state
249 86463
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=async_render_with_possible_json_value
calls=6 195
249 1184960
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=device_class
calls=6 240
249 18076

fl=/usr/src/homeassistant/homeassistant/components/mqtt/sensor.py
fn=message_received
303 49949
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=write_state_request
calls=6 269
303 9237
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/sensor.py
cfn=_update_state
calls=6 249
303 1289499
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/util.py
cfn=get_mqtt_data
calls=6 139
303 8073

fl=/usr/src/homeassistant/homeassistant/components/mqtt/sensor.py
fn=available
355 27075
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
cfn=available
calls=6 586
355 85989

fl=/usr/src/homeassistant/homeassistant/components/mqtt/switch.py
fn=state_message_received
147 27396
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=async_render_with_possible_json_value
calls=2 195
147 295319
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/models.py
cfn=write_state_request
calls=2 269
147 2448
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/util.py
cfn=get_mqtt_data
calls=2 139
147 2938

fl=/usr/src/homeassistant/homeassistant/components/mqtt/switch.py
fn=assumed_state
185 2593

fl=/usr/src/homeassistant/homeassistant/components/mqtt/util.py
fn=get_mqtt_data
139 35296

fl=/usr/src/homeassistant/homeassistant/components/persistent_notification/init.py
fn=websocket_get_notifications
190 35619
cfl=/usr/src/homeassistant/homeassistant/components/persistent_notification/init.py
cfn=
calls=2 201
190 44357
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
cfn=_send_message
calls=2 120
190 191987
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=result_message
calls=2 50
190 7601
cfl=~
cfn=<method 'values' of 'dict' objects>
calls=2 0
190 1648

fl=/usr/src/homeassistant/homeassistant/components/persistent_notification/init.py
fn=
201 34603
cfl=/usr/src/homeassistant/homeassistant/components/persistent_notification/init.py
cfn=
calls=2 202
201 9754

fl=/usr/src/homeassistant/homeassistant/components/persistent_notification/init.py
fn=
202 9754

fl=/usr/src/homeassistant/homeassistant/components/profiler/init.py
fn=_async_run_profile
57 3292
cfl=/usr/src/homeassistant/homeassistant/components/profiler/init.py
cfn=_async_generate_profile
calls=1 231
57 49587

fl=/usr/src/homeassistant/homeassistant/components/profiler/init.py
fn=_async_generate_profile
231 22236
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=sleep
calls=1 593
231 25528
cfl=~
cfn=<method 'disable' of '_lsprof.Profiler' objects>
calls=1 0
231 1823

fl=/usr/src/homeassistant/homeassistant/components/recorder/core.py
fn=queue_task
247 27362
cfl=~
cfn=<method 'put' of '_queue.SimpleQueue' objects>
calls=8 0
247 28735

fl=/usr/src/homeassistant/homeassistant/components/recorder/core.py
fn=_async_event_filter
359 65985
cfl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
cfn=call
calls=9 58
359 701773
cfl=~
cfn=
calls=9 0
359 4921
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=9 0
359 4519

fl=/usr/src/homeassistant/homeassistant/components/recorder/core.py
fn=event_listener
1041 61464
cfl=/usr/src/homeassistant/homeassistant/components/recorder/core.py
cfn=queue_task
calls=8 247
1041 56097
cfl=/usr/src/homeassistant/homeassistant/components/recorder/core.py
cfn=_async_event_filter
calls=9 359
1041 777198
cfl=
cfn=init:2
calls=8 2
1041 12790

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=device_class
240 78402
cfl=~
cfn=
calls=62 0
240 33372

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=options
249 27693
cfl=~
cfn=
calls=22 0
249 15956

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=state_class
258 47885
cfl=~
cfn=
calls=32 0
258 25268

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=last_reset
267 19751
cfl=~
cfn=
calls=14 0
267 12126

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=capability_attributes
276 40903
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=state_class
calls=11 258
276 44112

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=state_attributes
311 42183
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=state_class
calls=4 258
311 5480
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=last_reset
calls=11 267
311 31877
cfl=~
cfn=<method 'isoformat' of 'datetime.datetime' objects>
calls=2 0
311 59230

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=native_value
341 7995

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=native_precision
346 24372
cfl=~
cfn=
calls=22 0
346 12703

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=precision
363 35567
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=native_precision
calls=11 346
363 37075

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=native_unit_of_measurement
400 45253
cfl=~
cfn=
calls=36 0
400 21242

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=unit_of_measurement
433 118243
cfl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
cfn=native_unit_of_measurement
calls=4 448
433 4904
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=device_class
calls=22 240
433 48757
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=native_unit_of_measurement
calls=18 400
433 38631

fl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
fn=state
460 541268
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=init:420
calls=11 420
460 20101
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=enter:423
calls=11 423
460 6024
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=exit:426
calls=11 426
460 19429
cfl=/usr/local/lib/python3.10/enum.py
cfn=call
calls=11 359
460 128321
cfl=/usr/src/homeassistant/homeassistant/backports/enum.py
cfn=str
calls=8 21
460 71386
cfl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
cfn=native_unit_of_measurement
calls=2 448
460 5093
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=device_class
calls=11 240
460 24105
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=options
calls=11 249
460 43649
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=state_class
calls=11 258
460 23561
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=native_value
calls=8 341
460 7995
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=precision
calls=11 363
460 72642
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=native_unit_of_measurement
calls=9 400
460 27864
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=unit_of_measurement
calls=11 433
460 116888
cfl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
cfn=native_value
calls=3 451
460 11987
cfl=~
cfn=
calls=17 0
460 17444
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=16 0
460 14065

fl=/usr/src/homeassistant/homeassistant/components/sensor/recorder.py
fn=reset_detected
328 8822

fl=/usr/src/homeassistant/homeassistant/components/stream/core.py
fn=async_add_part
126 55499
cfl=/usr/src/homeassistant/homeassistant/components/stream/core.py
cfn=part_put
calls=6 338
126 76910
cfl=~
cfn=<method 'append' of 'list' objects>
calls=6 0
126 3921

fl=/usr/src/homeassistant/homeassistant/components/stream/core.py
fn=part_put
338 42314
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=set
calls=6 183
338 27808
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=clear
calls=6 195
338 6788

fl=/usr/src/homeassistant/homeassistant/components/switch/init.py
fn=device_class
105 4383
cfl=~
cfn=
calls=2 0
105 2787

fl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
fn=_async_update_data
406 34214
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=aenter
calls=1 13
406 8295
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=aexit
calls=1 19
406 7936
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=locked
calls=1 89
406 1418
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_add_executor_job
calls=1 525
406 264768
cfl=/usr/src/homeassistant/homeassistant/helpers/dispatcher.py
cfn=async_dispatcher_send
calls=1 82
406 1360627

fl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
fn=native_value
451 6839
cfl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
cfn=data
calls=3 461
451 5148

fl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
fn=available
456 7995
cfl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
cfn=data
calls=3 461
456 9933

fl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
fn=data
461 15081

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
fn=forward_events
107 132530
cfl=/usr/src/homeassistant/homeassistant/auth/models.py
cfn=permissions
calls=18 61
107 19452
cfl=/usr/src/homeassistant/homeassistant/auth/permissions/init.py
cfn=check_entity
calls=18 42
107 45134
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
cfn=_send_message
calls=18 120
107 333386

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
fn=:116
116 56041
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=cached_event_message
calls=20 70
116 9857558

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
fn=:125
125 6820
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=cached_event_message
calls=2 70
125 75930

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
fn=forward_entity_changes
290 152592
cfl=/usr/src/homeassistant/homeassistant/auth/models.py
cfn=permissions
calls=18 61
290 30375
cfl=/usr/src/homeassistant/homeassistant/auth/permissions/init.py
cfn=check_entity
calls=18 42
290 63110
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
cfn=_send_message
calls=18 120
290 589082

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
fn=:301
301 74266
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=cached_state_diff_message
calls=20 92
301 1414160

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py
fn=async_handle
63 45025
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=call:269
calls=4 269
63 490089
cfl=/usr/src/homeassistant/homeassistant/components/persistent_notification/init.py
cfn=websocket_get_notifications
calls=2 190
63 281212

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
fn=get
50 6325
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
cfn=async_handle
calls=2 178
50 1382574

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
fn=_writer
80 691778
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=empty
calls=52 96
80 39252
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=get
calls=20 150
80 571226
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=get_nowait
calls=34 176
80 237408
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1831
calls=10 1831
80 147564
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
cfn=closed
calls=10 273
80 10612
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
cfn=send_str
calls=10 303
80 18048286
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
cfn=:116
calls=20 116
80 9913599
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
cfn=:125
calls=2 125
80 82750
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
cfn=:301
calls=20 301
80 1488426
cfl=~
cfn=
calls=44 0
80 31711
cfl=~
cfn=<method 'append' of 'list' objects>
calls=34 0
80 21450
cfl=~
cfn=<method 'join' of 'str' objects>
calls=8 0
80 74452

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
fn=_send_message
120 205974
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=qsize
calls=38 87
120 56092
cfl=/usr/local/lib/python3.10/asyncio/queues.py
cfn=put_nowait
calls=38 138
120 759997
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=message_to_json
calls=2 175
120 63749
cfl=~
cfn=
calls=38 0
120 28643

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
fn=async_handle
178 69232
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1831
calls=2 1831
178 29481
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/http_websocket.py
cfn=json
calls=2 93
178 31173
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
cfn=closed
calls=2 273
178 1705
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_ws.py
cfn=receive
calls=4 390
178 432772
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py
cfn=async_handle
calls=2 63
178 816326
cfl=~
cfn=
calls=2 0
178 1885

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=result_message
50 7601

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=event_message
65 34394

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=cached_event_message
70 144175
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=_cached_event_message
calls=11 82
70 9674228
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=hash:816
calls=22 816
70 59315
cfl=~
cfn=<method 'replace' of 'str' objects>
calls=22 0
70 55770

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=_cached_event_message
82 40276
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=event_message
calls=11 65
82 14924
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=message_to_json
calls=11 175
82 9619028

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=cached_state_diff_message
92 165877
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=_cached_state_diff_message
calls=10 104
92 1051348
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=hash:816
calls=20 816
92 134472
cfl=~
cfn=<method 'replace' of 'str' objects>
calls=20 0
92 62463

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=_cached_state_diff_message
104 52097
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=event_message
calls=10 65
104 19470
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=_state_diff_event
calls=10 114
104 746795
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=message_to_json
calls=10 175
104 232986

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=_state_diff_event
114 137786
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
cfn=_state_diff
calls=9 138
114 505233
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=hash:1159
calls=18 1159
114 74635
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=as_compressed_state
calls=1 1199
114 22184
cfl=~
cfn=
calls=19 0
114 6957

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=_state_diff
138 358787
cfl=~
cfn=<method 'difference' of 'set' objects>
calls=8 0
138 47702
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=116 0
138 45205
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=8 0
138 5080
cfl=~
cfn=<method 'setdefault' of 'dict' objects>
calls=12 0
138 10599
cfl=~
cfn=<method 'timestamp' of 'datetime.datetime' objects>
calls=9 0
138 37860

fl=/usr/src/homeassistant/homeassistant/components/websocket_api/messages.py
fn=message_to_json
175 56342
cfl=/usr/src/homeassistant/homeassistant/helpers/json.py
cfn=json_dumps
calls=23 108
175 9859421

fl=/usr/src/homeassistant/homeassistant/core.py
fn=valid_state
175 19025
cfl=~
cfn=
calls=9 0
175 6483

fl=/usr/src/homeassistant/homeassistant/core.py
fn=callback
180 20635
cfl=~
cfn=
calls=6 0
180 8007

fl=/usr/src/homeassistant/homeassistant/core.py
fn=is_callback
186 5413
cfl=~
cfn=
calls=2 0
186 3030

fl=/usr/src/homeassistant/homeassistant/core.py
fn=init:222
222 9483
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=_get_hassjob_callable_job_type
calls=2 232
222 133541

fl=/usr/src/homeassistant/homeassistant/core.py
fn=_get_hassjob_callable_job_type
232 31602
cfl=/usr/local/lib/python3.10/asyncio/coroutines.py
cfn=iscoroutinefunction
calls=2 164
232 92114
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=is_callback
calls=2 186
232 8443
cfl=~
cfn=
calls=2 0
232 1382

fl=/usr/src/homeassistant/homeassistant/core.py
fn=async_add_job
422 35862
cfl=/usr/local/lib/python3.10/asyncio/coroutines.py
cfn=iscoroutine
calls=2 177
422 45477
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=init:222
calls=2 222
422 143024
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_add_hass_job
calls=2 466
422 66624

fl=/usr/src/homeassistant/homeassistant/core.py
fn=async_add_hass_job
466 77761
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=create_task
calls=1 431
466 67278
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_soon
calls=6 740
466 129175

fl=/usr/src/homeassistant/homeassistant/core.py
fn=async_add_executor_job
525 9251
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=run_in_executor
calls=1 804
525 255517

fl=/usr/src/homeassistant/homeassistant/core.py
fn=async_run_hass_job
562 170906
cfl=/usr/src/homeassistant/homeassistant/components/energy/sensor.py
cfn=async_state_changed_listener
calls=2 416
562 904025
cfl=/usr/src/homeassistant/homeassistant/components/homeassistant/triggers/numeric_state.py
cfn=state_automation_listener
calls=2 143
562 156738
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_add_hass_job
calls=1 466
562 78460
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=interval_listener
calls=1 1377
562 263360
cfl=/usr/src/homeassistant/homeassistant/util/logging.py
cfn=wrapper
calls=19 165
562 4074367

fl=/usr/src/homeassistant/homeassistant/core.py
fn=init:762
762 37491

fl=/usr/src/homeassistant/homeassistant/core.py
fn=as_dict:778
778 35687

fl=/usr/src/homeassistant/homeassistant/core.py
fn=init:799
799 26989

fl=/usr/src/homeassistant/homeassistant/core.py
fn=hash:816
816 87609
cfl=~
cfn=
calls=42 0
816 106178

fl=/usr/src/homeassistant/homeassistant/core.py
fn=as_dict:821
821 120711
cfl=/usr/local/lib/python3.10/types.py
cfn=get
calls=11 176
821 47445
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=as_dict:778
calls=11 778
821 20387
cfl=~
cfn=<method 'isoformat' of 'datetime.datetime' objects>
calls=11 0
821 241735

fl=/usr/src/homeassistant/homeassistant/core.py
fn=async_fire
897 374693
cfl=/usr/local/lib/python3.10/logging/init.py
cfn=debug:1455
calls=9 1455
897 46494
cfl=/usr/src/homeassistant/homeassistant/components/recorder/core.py
cfn=event_listener
calls=9 1041
897 907549
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
cfn=forward_events
calls=18 107
897 530502
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py
cfn=forward_entity_changes
calls=18 290
897 835159
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_add_hass_job
calls=4 466
897 129130
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=init:799
calls=9 799
897 26989
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=_async_state_change_filter:272
calls=9 272
897 28374
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=_async_state_change_filter:460
calls=9 460
897 23947
cfl=~
cfn=
calls=9 0
897 3560
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=18 0
897 14372

fl=/usr/src/homeassistant/homeassistant/core.py
fn=init:1124
1124 121287
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=valid_state
calls=9 175
1124 25508
cfl=~
cfn=<method 'lower' of 'str' objects>
calls=9 0
1124 7465

fl=/usr/src/homeassistant/homeassistant/core.py
fn=hash:1159
1159 49669
cfl=~
cfn=
calls=18 0
1159 12128
cfl=~
cfn=
calls=18 0
1159 12838

fl=/usr/src/homeassistant/homeassistant/core.py
fn=as_dict:1173
1173 7940956
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=as_dict:778
calls=10 778
1173 15300
cfl=~
cfn=<method 'isoformat' of 'datetime.datetime' objects>
calls=17 0
1173 249149

fl=/usr/src/homeassistant/homeassistant/core.py
fn=as_compressed_state
1199 8395
cfl=/usr/src/homeassistant/homeassistant/util/dt.py
cfn=utc_to_timestamp
calls=1 153
1199 13789

fl=/usr/src/homeassistant/homeassistant/core.py
fn=expire
1259 34979
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=init:762
calls=9 762
1259 14088

fl=/usr/src/homeassistant/homeassistant/core.py
fn=get
1376 17834
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=4 0
1376 8401
cfl=~
cfn=<method 'lower' of 'str' objects>
calls=4 0
1376 4753

fl=/usr/src/homeassistant/homeassistant/core.py
fn=async_set
1475 416967
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=init:762
calls=9 762
1475 23403
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_fire
calls=9 897
1475 2920769
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=init:1124
calls=9 1124
1475 154260
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=expire
calls=9 1259
1475 49067
cfl=/usr/src/homeassistant/homeassistant/util/dt.py
cfn=utc_to_timestamp
calls=9 153
1475 113667
cfl=/usr/src/homeassistant/homeassistant/util/ulid.py
cfn=ulid
calls=9 21
1475 401041
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=13 0
1475 25398
cfl=~
cfn=<method 'lower' of 'str' objects>
calls=13 0
1475 14784

fl=/usr/src/homeassistant/homeassistant/helpers/condition.py
fn=condition_trace_set_result
93 8528
cfl=/usr/src/homeassistant/homeassistant/helpers/trace.py
cfn=trace_stack_top
calls=2 130
93 15799

fl=/usr/src/homeassistant/homeassistant/helpers/condition.py
fn=async_numeric_state
306 37144
cfl=/usr/src/homeassistant/homeassistant/helpers/condition.py
cfn=condition_trace_set_result
calls=2 93
306 24327
cfl=~
cfn=
calls=4 0
306 4880
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=2 0
306 1162

fl=/usr/src/homeassistant/homeassistant/helpers/config_validation.py
fn=string
558 12639
cfl=~
cfn=
calls=4 0
558 3436

fl=/usr/src/homeassistant/homeassistant/helpers/dispatcher.py
fn=async_dispatcher_send
82 28767
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_run_hass_job
calls=3 562
82 1326729
cfl=~
cfn=<method 'append' of 'list' objects>
calls=3 0
82 1401
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=2 0
82 3081
cfl=~
cfn=<method 'items' of 'dict' objects>
calls=1 0
82 649

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=has_entity_name
315 27915
cfl=~
cfn=
calls=26 0
315 19470

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=name
324 32939
cfl=~
cfn=
calls=21 0
324 13436

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=capability_attributes
338 5333

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=state_attributes
361 1564

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=extra_state_attributes
379 8640
cfl=~
cfn=
calls=5 0
379 4146

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=unit_of_measurement
407 5202
cfl=~
cfn=
calls=4 0
407 4639

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=icon
416 20315
cfl=~
cfn=
calls=16 0
416 7447

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=entity_picture
425 10030

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=available
430 4104

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=assumed_state
435 14936

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=force_update
440 39677
cfl=~
cfn=
calls=20 0
440 10133

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=supported_features
453 12620

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=attribution
487 10831

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=async_write_ha_state
555 87609
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=_async_write_ha_state
calls=13 580
555 7230841

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=_stringify_state
568 134943
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=state
calls=11 460
568 1151822
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=state
calls=2 1003
568 10302
cfl=~
cfn=
calls=13 0
568 9470

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=_async_write_ha_state
580 822034
cfl=/usr/src/homeassistant/homeassistant/backports/enum.py
cfn=str
calls=8 21
580 47007
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
cfn=extra_state_attributes
calls=8 465
580 7967
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py
cfn=available
calls=2 586
580 37407
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/sensor.py
cfn=available
calls=6 355
580 113064
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/switch.py
cfn=assumed_state
calls=2 185
580 2593
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=device_class
calls=11 240
580 20836
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=capability_attributes
calls=11 276
580 85015
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=state_attributes
calls=11 311
580 138770
cfl=/usr/src/homeassistant/homeassistant/components/sensor/init.py
cfn=unit_of_measurement
calls=11 433
580 93647
cfl=/usr/src/homeassistant/homeassistant/components/switch/init.py
cfn=device_class
calls=2 105
580 7170
cfl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
cfn=available
calls=3 456
580 17928
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_set
calls=13 1475
580 4119356
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=capability_attributes
calls=2 338
580 5333
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=state_attributes
calls=2 361
580 1564
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=extra_state_attributes
calls=5 379
580 12786
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=unit_of_measurement
calls=2 407
580 9841
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=icon
calls=11 416
580 27762
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=entity_picture
calls=13 425
580 10030
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=available
calls=2 430
580 4104
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=assumed_state
calls=11 435
580 14936
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=force_update
calls=13 440
580 49810
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=supported_features
calls=13 453
580 12620
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=attribution
calls=13 487
580 10831
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=_stringify_state
calls=13 568
580 1306537
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=friendly_name
calls=13 634
580 119818
cfl=/usr/src/homeassistant/homeassistant/helpers/entity_values.py
cfn=get
calls=13 35
580 54116
cfl=~
cfn=
calls=26 0
580 25597
cfl=~
cfn=<method 'update' of 'dict' objects>
calls=39 0
580 52362

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=friendly_name
634 49737
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=has_entity_name
calls=13 315
634 47385
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=name
calls=13 324
634 22696

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=state
1003 7727
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=is_on
calls=2 1011
1003 2575

fl=/usr/src/homeassistant/homeassistant/helpers/entity.py
fn=is_on
1011 2575

fl=/usr/src/homeassistant/homeassistant/helpers/entity_values.py
fn=get
35 54116

fl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
fn=call
58 32945
cfl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
cfn=entity_filter_3
calls=9 231
58 668828

fl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
fn=_test_against_patterns
148 50048
cfl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
cfn=
calls=1 150
148 1007
cfl=~
cfn=
calls=9 0
148 538451

fl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
fn=
150 233422
cfl=~
cfn=<method 'match' of 're.Pattern' objects>
calls=189 0
150 199537

fl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
fn=entity_excluded
197 37847
cfl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
cfn=_test_against_patterns
calls=9 148
197 589506

fl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
fn=entity_filter_3
231 41475
cfl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
cfn=entity_excluded
calls=9 197
231 627353

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=_async_state_change_filter:272
272 24991
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=9 0
272 3383

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=_async_state_change_dispatcher:277
277 44120
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_run_hass_job
calls=4 562
277 1105178
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=4 0
277 3323

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=_async_dispatch_domain_event
415 5393

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=_async_state_change_filter:460
460 18865
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=9 0
460 5082

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=_async_state_change_dispatcher:465
465 8068
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=_async_dispatch_domain_event
calls=1 415
465 5393
cfl=~
cfn=<method 'get' of 'dict' objects>
calls=1 0
465 1290

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=async_track_point_in_utc_time
1293 27462
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_later
calls=1 702
1293 87132
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=callback
calls=2 180
1293 9148
cfl=/usr/src/homeassistant/homeassistant/util/dt.py
cfn=as_utc
calls=1 113
1293 4862
cfl=/usr/src/homeassistant/homeassistant/util/dt.py
cfn=utc_to_timestamp
calls=1 153
1293 15002
cfl=~
cfn=
calls=1 0
1293 431
cfl=~
cfn=
calls=1 0
1293 844

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=run_action
1310 18799
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_run_hass_job
calls=1 562
1310 278294
cfl=~
cfn=
calls=1 0
1310 1013

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=next_interval
1373 15709

fl=/usr/src/homeassistant/homeassistant/helpers/event.py
fn=interval_listener
1377 13963
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_run_hass_job
calls=1 562
1377 88807
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=async_track_point_in_utc_time
calls=1 1293
1377 144881
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=next_interval
calls=1 1373
1377 15709

fl=/usr/src/homeassistant/homeassistant/helpers/json.py
fn=json_encoder_default
31 136376
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=as_dict:821
calls=11 821
31 430278
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=as_dict:1173
calls=19 1173
31 8205405
cfl=~
cfn=
calls=30 0
31 29099
cfl=~
cfn=
calls=60 0
31 36906

fl=/usr/src/homeassistant/homeassistant/helpers/json.py
fn=json_dumps
108 130975
cfl=~
cfn=<method 'decode' of 'bytes' objects>
calls=23 0
108 43761
cfl=~
cfn=<orjson.dumps>
calls=23 0
108 9684685

fl=/usr/src/homeassistant/homeassistant/helpers/template.py
fn=async_render_with_possible_json_value
599 156904
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=init:420
calls=8 420
599 13421
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=enter:423
calls=8 423
599 5672
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=exit:426
calls=8 426
599 7504
cfl=/usr/src/homeassistant/homeassistant/helpers/template.py
cfn=_render_with_context
calls=8 1979
599 1012027
cfl=~
cfn=<method 'strip' of 'str' objects>
calls=8 0
599 6521
cfl=~
cfn=<orjson.loads>
calls=8 0
599 91373

fl=/usr/src/homeassistant/homeassistant/helpers/template.py
fn=set_template
1969 54352
cfl=~
cfn=<method 'set' of '_contextvars.ContextVar' objects>
calls=16 0
1969 32605

fl=/usr/src/homeassistant/homeassistant/helpers/template.py
fn=_render_with_context
1979 159941
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=enter:130
calls=8 130
1979 96818
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=exit:139
calls=8 139
1979 82246
cfl=/usr/local/lib/python3.10/contextlib.py
cfn=helper
calls=8 279
1979 79767
cfl=/usr/local/lib/python3.10/site-packages/jinja2/environment.py
cfn=render
calls=8 1269
1979 593255

fl=/usr/src/homeassistant/homeassistant/helpers/trace.py
fn=trace_stack_top
130 11982
cfl=~
cfn=<method 'get' of '_contextvars.ContextVar' objects>
calls=2 0
130 3817

fl=/usr/src/homeassistant/homeassistant/util/dt.py
fn=now
108 18159
cfl=~
cfn=
calls=3 0
108 23985

fl=/usr/src/homeassistant/homeassistant/util/dt.py
fn=as_utc
113 4862

fl=/usr/src/homeassistant/homeassistant/util/dt.py
fn=utc_to_timestamp
153 132118
cfl=~
cfn=<method 'toordinal' of 'datetime.date' objects>
calls=11 0
153 10340

fl=/usr/src/homeassistant/homeassistant/util/logging.py
fn=wrapper
165 78120
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/debug_info.py
cfn=wrapper
calls=16 40
165 2700070
cfl=/usr/src/homeassistant/homeassistant/helpers/entity.py
cfn=async_write_ha_state
calls=3 555
165 1296177

fl=/usr/src/homeassistant/homeassistant/util/ulid.py
fn=ulid
21 352779
cfl=~
cfn=<method 'getrandbits' of '_random.Random' objects>
calls=9 0
21 20912
cfl=~
cfn=<method 'to_bytes' of 'int' objects>
calls=18 0
21 27350

fl=/usr/src/homeassistant/homeassistant/util/unit_conversion.py
fn=convert
65 2852

fl=
fn=eq
1 360774

fl=
fn=init
1 68765

fl=
fn=:1
1 316571
cfl=~
cfn=<built-in method new of type object at 0x7f406d41aa60>
calls=89 0
1 246128

fl=
fn=:1
1 5896
cfl=~
cfn=<built-in method new of type object at 0x7f406d41aa60>
calls=2 0
1 4301

fl=
fn=init:2
2 15966
cfl=/usr/local/lib/python3.10/site-packages/aioesphomeapi/model.py
cfn=post_init
calls=1 831
2 542

fl=
fn=init:2
2 3995

fl=
fn=init:2
2 12790

fl=
fn=root:4
4 14867
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=resolve_or_missing
calls=2 227
4 3512
cfl=/usr/local/lib/python3.10/site-packages/jinja2/sandbox.py
cfn=getattr
calls=2 321
4 15370

fl=
fn=root:4
4 25025
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=resolve_or_missing
calls=2 227
4 5324
cfl=/usr/local/lib/python3.10/site-packages/jinja2/sandbox.py
cfn=getattr
calls=2 321
4 24919

fl=
fn=root:4
4 24542
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=resolve_or_missing
calls=2 227
4 3317
cfl=/usr/local/lib/python3.10/site-packages/jinja2/sandbox.py
cfn=getattr
calls=2 321
4 18114

fl=
fn=root:4
4 18549
cfl=/usr/local/lib/python3.10/site-packages/jinja2/runtime.py
cfn=resolve_or_missing
calls=2 227
4 3981
cfl=/usr/local/lib/python3.10/site-packages/jinja2/sandbox.py
cfn=getattr
calls=2 321
4 20082

fl=~
fn=<aiohttp._websocket._websocket_mask_cython>
0 5951

fl=~
fn=<built-in method new of type object at 0x7f406d41aa60>
0 250429

fl=~
fn=
0 8952

fl=~
fn=
0 86271

fl=~
fn=
0 41002

fl=~
fn=
0 26595

fl=~
fn=
0 154280
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=lt
calls=289 120
0 325182

fl=~
fn=
0 112674
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=lt
calls=86 120
0 149320

fl=~
fn=
0 54031
cfl=/usr/local/lib/python3.10/asyncio/events.py
cfn=lt
calls=43 120
0 82384

fl=~
fn=
0 4254

fl=~
fn=
0 14335

fl=~
fn=
0 106499
cfl=/usr/src/homeassistant/homeassistant/helpers/entityfilter.py
cfn=
calls=197 150
0 431952

fl=~
fn=
0 6094

fl=~
fn=
0 81507

fl=~
fn=
0 237633

fl=~
fn=
0 125535

fl=~
fn=
0 12838

fl=~
fn=
0 609231
cfl=/usr/local/lib/python3.10/abc.py
cfn=instancecheck
calls=2 117
0 22786

fl=~
fn=
0 2111

fl=~
fn=
0 570131

fl=~
fn=
0 449106

fl=~
fn=
0 189304

fl=~
fn=
0 28898
cfl=/usr/src/homeassistant/homeassistant/helpers/template.py
cfn=set_template
calls=16 1969
0 86957

fl=~
fn=
0 8007

fl=~
fn=
0 4867

fl=~
fn=
0 5088

fl=~
fn=
0 23468

fl=~
fn=
0 43323

fl=~
fn=
0 229046

fl=~
fn=
0 23985

fl=~
fn=
0 303413

fl=~
fn=
0 25597

fl=~
fn=
0 1857

fl=~
fn=<method 'enter' of '_thread.RLock' objects>
0 7709

fl=~
fn=<method 'enter' of '_thread.lock' objects>
0 1199

fl=~
fn=<method 'exit' of '_thread.RLock' objects>
0 3097

fl=~
fn=<method 'exit' of '_thread.lock' objects>
0 2087

fl=~
fn=<method 'exit' of 'builtins.PoolAcquisition' objects>
0 4162

fl=~
fn=<method '_checkClosed' of '_io._IOBase' objects>
0 223203

fl=~
fn=<method '_checkReadable' of '_io._IOBase' objects>
0 328789
cfl=/usr/local/lib/python3.10/socket.py
cfn=readable
calls=170 730
0 291890

fl=~
fn=<method 'acquire' of '_thread.lock' objects>
0 4679

fl=~
fn=<method 'acquire' of 'builtins.FixedPool' objects>
0 9750

fl=~
fn=<method 'add' of 'set' objects>
0 8118

fl=~
fn=<method 'add_done_callback' of '_asyncio.Future' objects>
0 1431

fl=~
fn=<method 'add_done_callback' of '_asyncio.Task' objects>
0 5935

fl=~
fn=<method 'append' of 'collections.deque' objects>
0 175363

fl=~
fn=<method 'append' of 'list' objects>
0 210249

fl=~
fn=<method 'cancel' of '_asyncio.Task' objects>
0 13560
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_soon
calls=3 740
0 39583

fl=~
fn=<method 'cancelled' of '_asyncio.Future' objects>
0 2284

fl=~
fn=<method 'clear' of 'bytearray' objects>
0 2626

fl=~
fn=<method 'compress' of 'zlib.Compress' objects>
0 9388244

fl=~
fn=<method 'copy' of 'dict' objects>
0 198901

fl=~
fn=<method 'copy' of 'set' objects>
0 6174

fl=~
fn=<method 'decode' of 'bytes' objects>
0 82289

fl=~
fn=<method 'decompress' of 'zlib.Decompress' objects>
0 30465

fl=~
fn=<method 'difference' of 'set' objects>
0 47702

fl=~
fn=<method 'disable' of '_lsprof.Profiler' objects>
0 1823

fl=~
fn=<method 'discard' of 'set' objects>
0 24783
cfl=/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py
cfn=hash
calls=8 1005
0 21949

fl=~
fn=<method 'done' of '_asyncio.Future' objects>
0 11118

fl=~
fn=<method 'done' of '_asyncio.Task' objects>
0 1881

fl=~
fn=<method 'encode' of 'str' objects>
0 23050

fl=~
fn=<method 'endswith' of 'bytes' objects>
0 33437

fl=~
fn=<method 'extend' of 'bytearray' objects>
0 9380

fl=~
fn=<method 'flush' of 'zlib.Compress' objects>
0 4588672

fl=~
fn=<method 'from_buffer' of '_cffi_backend.FFI' objects>
0 5587

fl=~
fn=<method 'get' of '_contextvars.ContextVar' objects>
0 3817

fl=~
fn=<method 'get' of 'dict' objects>
0 872847

fl=~
fn=<method 'get_loop' of '_asyncio.Future' objects>
0 562

fl=~
fn=<method 'getrandbits' of '_random.Random' objects>
0 20912

fl=~
fn=<method 'isoformat' of 'datetime.datetime' objects>
0 550114

fl=~
fn=<method 'items' of 'dict' objects>
0 124928

fl=~
fn=<method 'join' of 'str' objects>
0 122519
cfl=
cfn=root:4
calls=4 4
0 55268
cfl=
cfn=root:4
calls=4 4
0 42612
cfl=
cfn=root:4
calls=4 4
0 45973
cfl=
cfn=root:4
calls=4 4
0 33749

fl=~
fn=<method 'keys' of 'dict' objects>
0 107282

fl=~
fn=<method 'lower' of 'str' objects>
0 28993

fl=~
fn=<method 'match' of 're.Pattern' objects>
0 199537

fl=~
fn=<method 'new' of '_cffi_backend.FFI' objects>
0 18912

fl=~
fn=<method 'pack' of '_struct.Struct' objects>
0 33732

fl=~
fn=<method 'partition' of 'str' objects>
0 4527

fl=~
fn=<method 'poll' of 'select.epoll' objects>
0 899604530

fl=~
fn=<method 'popitem' of 'dict' objects>
0 9047

fl=~
fn=<method 'popleft' of 'collections.deque' objects>
0 126563

fl=~
fn=<method 'put' of '_queue.SimpleQueue' objects>
0 41111

fl=~
fn=<method 'read' of '_ssl.MemoryBIO' objects>
0 21497

fl=~
fn=<method 'read' of '_ssl._SSLSocket' objects>
0 116104

fl=~
fn=<method 'recv' of '_socket.socket' objects>
0 879307

fl=~
fn=<method 'recv_into' of '_socket.socket' objects>
0 4762736

fl=~
fn=<method 'release' of '_thread.lock' objects>
0 2014

fl=~
fn=<method 'remove' of 'collections.deque' objects>
0 2652

fl=~
fn=<method 'remove_done_callback' of '_asyncio.Task' objects>
0 5545

fl=~
fn=<method 'replace' of 'str' objects>
0 118233

fl=~
fn=<method 'result' of '_asyncio.Task' objects>
0 6662

fl=~
fn=<method 'run' of '_contextvars.Context' objects>
0 10707960
cfl=/config/custom_components/ble_monitor/binary_sensor.py
cfn=async_run
calls=2 108
0 220856
cfl=/config/custom_components/ble_monitor/device_tracker.py
cfn=async_run
calls=2 90
0 384591
cfl=/config/custom_components/ble_monitor/sensor.py
cfn=async_run
calls=2 125
0 196476
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_soon
calls=3 740
0 37304
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=_set_result_unless_cancelled
calls=1 309
0 42727
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=_set_state
calls=1 379
0 120200
cfl=/usr/local/lib/python3.10/asyncio/futures.py
cfn=_call_check_cancel
calls=1 385
0 3791
cfl=/usr/local/lib/python3.10/asyncio/locks.py
cfn=wait
calls=3 250
0 40398
cfl=/usr/local/lib/python3.10/asyncio/selector_events.py
cfn=_read_from_self
calls=9 112
0 925902
cfl=/usr/local/lib/python3.10/asyncio/selector_events.py
cfn=_read_ready
calls=3 810
0 2232134
cfl=/usr/local/lib/python3.10/asyncio/tasks.py
cfn=_release_waiter
calls=6 387
0 130611
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py
cfn=_weakref_handle
calls=2 595
0 218802
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py
cfn=_process_keepalive
calls=3 407
0 184503
cfl=/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py
cfn=_handle_request
calls=2 425
0 1436323
cfl=/usr/local/lib/python3.10/site-packages/bleak/backends/bluezdbus/manager.py
cfn=_parse_msg
calls=88 708
0 16999732
cfl=/usr/local/lib/python3.10/site-packages/janus/init.py
cfn=get
calls=6 533
0 191828
cfl=/usr/local/lib/python3.10/socket.py
cfn=readinto
calls=170 691
0 7420504
cfl=/usr/src/homeassistant/homeassistant/components/mqtt/client.py
cfn=_mqtt_handle_message
calls=2 655
0 8675215
cfl=/usr/src/homeassistant/homeassistant/components/profiler/init.py
cfn=_async_run_profile
calls=1 57
0 52879
cfl=/usr/src/homeassistant/homeassistant/components/stream/core.py
cfn=async_add_part
calls=6 126
0 136330
cfl=/usr/src/homeassistant/homeassistant/components/systemmonitor/sensor.py
cfn=_async_update_data
calls=2 406
0 1677258
cfl=/usr/src/homeassistant/homeassistant/components/websocket_api/http.py
cfn=_writer
calls=10 80
0 31358514
cfl=/usr/src/homeassistant/homeassistant/core.py
cfn=async_add_job
calls=2 422
0 290987
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=_async_state_change_dispatcher:277
calls=4 277
0 1152621
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=_async_state_change_dispatcher:465
calls=1 465
0 14751
cfl=/usr/src/homeassistant/homeassistant/helpers/event.py
cfn=run_action
calls=1 1310
0 298106

fl=~
fn=<method 'send' of '_socket.socket' objects>
0 2007137

fl=~
fn=<method 'set' of '_contextvars.ContextVar' objects>
0 32605

fl=~
fn=<method 'set_result' of '_asyncio.Future' objects>
0 98290
cfl=/usr/local/lib/python3.10/asyncio/base_events.py
cfn=call_soon
calls=19 740
0 311266

fl=~
fn=<method 'setdefault' of 'dict' objects>
0 21041

fl=~
fn=<method 'strip' of 'str' objects>
0 6521

fl=~
fn=<method 'timestamp' of 'datetime.datetime' objects>
0 37860

fl=~
fn=<method 'to_bytes' of 'int' objects>
0 30369

fl=~
fn=<method 'tobytes' of 'memoryview' objects>
0 11688

fl=~
fn=<method 'toordinal' of 'datetime.date' objects>
0 10340

fl=~
fn=<method 'update' of 'dict' objects>
0 298078

fl=~
fn=<method 'values' of 'dict' objects>
0 7233

fl=~
fn=<method 'write' of '_ssl.MemoryBIO' objects>
0 21699

fl=~
fn=<method 'write' of '_ssl._SSLSocket' objects>
0 316841

fl=~
fn=<orjson.dumps>
0 803925
cfl=/usr/local/lib/python3.10/types.py
cfn=get
calls=14 176
0 42696
cfl=/usr/src/homeassistant/homeassistant/helpers/json.py
cfn=json_encoder_default
calls=30 31
0 8838064

fl=~
fn=<orjson.loads>
0 214530

@bdraco
Copy link
Member

bdraco commented Apr 24, 2023

Please post the callgrind file as an attachment

@KitHubek
Copy link
Author

callgrind.out.1682337757952494.txt

i added .txt because this file format isnt suported here

@bdraco
Copy link
Member

bdraco commented Apr 24, 2023

90281

@bdraco
Copy link
Member

bdraco commented Apr 24, 2023

Something is firing very large events and its taking a long time to serialize them.

Please enable debug logging for homeassistant.core

logger: 
  default: info
  logs: 
     homeassistant.core: debug

@KitHubek
Copy link
Author

ok enabled

@bdraco
Copy link
Member

bdraco commented Apr 24, 2023

Look for large events in the log

@KitHubek
Copy link
Author

i enabled it about 5:50 pm and restarted HA.
till now, gone about 1h and I don't see error entries in the logs that would repeat many times. Currently the maximum number of repeats is 13, but there is a bug with cameras that turn on under certain conditions and are currently off, so I consider this a standard error.

@KitHubek
Copy link
Author

Please look at this stats below. This is my cpu and ram load. this state is maintained practically all the time, there are no spikes, the system is never loaded. Increased load is only when backup is made but it is 1x a day and it takes maybe 30 seconds.

sysload

@hellcry37

This comment was marked as abuse.

@bdraco
Copy link
Member

bdraco commented May 11, 2023

If an integration has a bug that blocks the event loop, cpu and ram is irrelevant and you would only see it in the callgrind or by turning on async IO debug

@bdraco
Copy link
Member

bdraco commented May 11, 2023

Short of reducing whats going into the queue, we could improve the queue throughput by making the size unbounded since we only have one place items come into the queue, and we could check it there. That would turn off all the internal size checks where are a bit of a bottleneck to adding things quickly to the queue. But I'm not sure if thats going to help in this case

@bdraco
Copy link
Member

bdraco commented May 11, 2023

We really don't need a full asyncio.Queue implementation here AFAICT since there is only one consumer, and one call that winds up inserting into the we could get rid of the the asyncio.Queue, put every into a deque, move the bounds check to the one place we insert, and wake the consumer every time we put something in the deque. That should drastically simplify what actually happens when we need to send a message (and improve the throughput)

bdraco added a commit that referenced this issue May 11, 2023
@bdraco
Copy link
Member

bdraco commented May 11, 2023

I put #92967 on my production. I ran py-spy. The flames with the queue inserts were before are gone. So no need to profile as it is going to make a significant difference in throughput.

@tommyjlong
Copy link
Contributor

Perhaps I should create a different PR, but starting 2023.6.0/2023.6.1, I'm seeing this error as well.

023-06-12 14:37:47.168 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139897668178256] Tommy from 110.38.44.177 (Mozilla/5.0 (Linux; Android 10; Lenovo TB-8705F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/112.0.5615.135 Safari/537.36): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":4120,"type":"event","event":{"type":"added","notifications":{"mail_1234":{"message":"Hit DISMISS after you have retrieved the mail","notification_id":"mail_1234","title":"You Have Mail!","created_at":"2023-06-12T18:37:46.200542+00:00"}}}}

It seems I only get this error when a persistent notification is sent (showing up in the "Notifications" sidebar).
I have a Windows Desktop Chrome, a few iOS Companion Apps, and an Android Lenovo FKB connected to HA.

I also have a problem with the Android/Lenovo Tablet, whereby at the UI, when I use the sidebar Notifications to clear the notifications, they are cleared/dismissed, but the sidebar continues to indicate I still have a notification (circle with number of notifications pending). This maybe because of this error. I don't have this issue with the other browsers/companion app.

@bdraco
Copy link
Member

bdraco commented Jun 12, 2023

You probably have something that is sending the notification over and over and over again.

@tommyjlong
Copy link
Contributor

I did the following:
devTools->Service

service: persistent_notification.create
data:
  message: Hit DISMISS after you have retrieved the mail
  title: You Have Mail!
  notification_id: mail_1234

then hit "Call Service" and immediately the same Log showed up.

@randyoo
Copy link

randyoo commented Jun 16, 2023

I'm seeing this error on 2023.6.1 as well. I'm having difficulty reproducing it reliably, but it appears to be triggered by notifications, as indicated by others. The companion app gets into a loop of continually reconnecting and then disconnecting immediately.

[140288717878992] User from fe80::xxx:775d:b14e:8499 (Mozilla/5.0 (iPhone; CPU iPhone OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was {"id":3041,"type":"result","success":true,"result":null}
[140288706055952] User from fe80::xxx:775d:b14e:8499 (Mozilla/5.0 (iPhone; CPU iPhone OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":2243,"type":"result","success":true,"result":null}

@danielfinans
Copy link

Same problem here.
Problem arrived after upgrading to 2023.6

The device referred to is an iPad Mini 5.

Home Assistant 2023.6.2
Supervisor 2023.06.2
Operating System 10.2
Grensesnitt 20230608.0 – latest

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/http.py:172 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 10:13:29 (1 occurrences) 
Last logged: 10:13:29

[139728829651024] Daniel from 192.168.40.155 (Mozilla/5.0 (iPad; CPU OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iPadOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":4666,"type":"event","event":{"type":"removed","notifications":{"retracted":{"message":"To set up Inngangsdør:21066 in the Home App, scan the QR code or enter the following code:\n### 871-43-438\n![image](/api/homekit/pairingqr?retracted)","notification_id":"retracted","title":"HomeKit Pairing","created_at":"2023-06-15T21:29:05.059035+00:00"}}}}

And

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/http.py:53 
Integration: Home Assistant WebSocket API (documentation, issues) 
First occurred: 10:13:31 (6 occurrences) 
Last logged: 10:13:45

[139727070132176] Daniel from 192.168.40.155 (Mozilla/5.0 (iPad; CPU OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iPadOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":3446,"type":"result","success":true,"result":null}
[139727071724816] Daniel from 192.168.40.155 (Mozilla/5.0 (iPad; CPU OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iPadOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":3446,"type":"result","success":true,"result":null}
[139727069618192] Daniel from 192.168.40.155 (Mozilla/5.0 (iPad; CPU OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iPadOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":3186,"type":"result","success":true,"result":null}
[139727077667280] Daniel from 192.168.40.155 (Mozilla/5.0 (iPad; CPU OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iPadOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":3446,"type":"result","success":true,"result":null}
[139727285572048] Daniel from 192.168.40.155 (Mozilla/5.0 (iPad; CPU OS 16_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Home Assistant/2023.4 (io.robbie.HomeAssistant; build:2023.460; iPadOS 16.4.1) Mobile/HomeAssistant, like Safari): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":4827,"type":"result","success":true,"result":null}

@onemorename
Copy link

Same here, iOS App needs to get restarted all the time :-/

@bdraco
Copy link
Member

bdraco commented Jun 18, 2023

While its a generic error and we can never fix every instance of it on every device. These two PRs will improve the situation for mobile / narrow devices:

home-assistant/frontend#16953
#94780

@silvannn
Copy link

Perhaps I should create a different PR, but starting 2023.6.0/2023.6.1, I'm seeing this error as well.

023-06-12 14:37:47.168 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139897668178256] Tommy from 110.38.44.177 (Mozilla/5.0 (Linux; Android 10; Lenovo TB-8705F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/112.0.5615.135 Safari/537.36): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":4120,"type":"event","event":{"type":"added","notifications":{"mail_1234":{"message":"Hit DISMISS after you have retrieved the mail","notification_id":"mail_1234","title":"You Have Mail!","created_at":"2023-06-12T18:37:46.200542+00:00"}}}}

It seems I only get this error when a persistent notification is sent (showing up in the "Notifications" sidebar). I have a Windows Desktop Chrome, a few iOS Companion Apps, and an Android Lenovo FKB connected to HA.

I also have a problem with the Android/Lenovo Tablet, whereby at the UI, when I use the sidebar Notifications to clear the notifications, they are cleared/dismissed, but the sidebar continues to indicate I still have a notification (circle with number of notifications pending). This maybe because of this error. I don't have this issue with the other browsers/companion app.

I have the same behaviour.
I disabled all persistent notification in my automations and HA is usable again.
I had automation which was sending persistent notification when HA was started. This was crashing completely HA making it unusable. After HA restart this automation was triggering issue increasing memory use almost to 100% and restarting HA again. It it was in loop. Error - Client unable to keep up with pending messages was coming from my PC with open dashboard on Chrome. When I shut down PC I managed to restart HA without issue. I went to my automations and disable all actions with persistent notification. Waiting now for a fix.

@adorobis
Copy link

adorobis commented Jun 27, 2023

I'm having the same problem. More or less since upgrade to 2023.6.0 it started on my mobile phone and today, after upgrading to 2023.6.3 also on a Chrome browser running on Windows 11 (powerfull machine). Here is resource utilization of HA box (Debian running HA container). Ignore the peak to 100% as esphome was upgrading all my devices at that time:
image
The following entries in the log at the time of the issue:

2023-06-27 15:29:36.900 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140420054572048] Adam from 10.144.1.10 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":2312,"type":"result","success":true,"result":null}
2023-06-27 15:29:38.991 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140420309721936] Adam from 10.144.1.10 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36): Client unable to keep up with pending messages. Reached 4096 pending messages. The system's load is too high or an integration is misbehaving; Last message was: {"id":3277,"type":"result","success":true,"result":null}
2023-06-27 15:29:41.075 ERROR (DbWorker_1) [homeassistant] Error doing job: Task was destroyed but it is pending!

The last one occurs over 700 times right after it.
DB is running on another machine and the CPU utilization is not high there:
image

@bdraco bdraco changed the title Client unable to keep up with pending messages Client unable to keep up with pending messages (generic catch all issue) Jun 27, 2023
@home-assistant home-assistant locked as off-topic and limited conversation to collaborators Jun 27, 2023
@bdraco bdraco added no-stale and removed no-stale labels Jun 27, 2023
@home-assistant home-assistant unlocked this conversation Jun 27, 2023
@bdraco bdraco changed the title Client unable to keep up with pending messages (generic catch all issue) Client unable to keep up with pending messages Jun 27, 2023
@bdraco
Copy link
Member

bdraco commented Jun 27, 2023

@adorobis Please see #95386

@adorobis
Copy link

Thanks, I'll have a look. One point only: I've disabled automations that were creating persistent notifications and now I don't face this issue anymore. But don't get persistent notifications neither. Also as mentioned, this was not happening before one of the recent HA Core upgrades and I have not been adding any new integrations recently.

@bdraco
Copy link
Member

bdraco commented Jun 27, 2023

Its impossible to tell for sure if its fixed by the linked issues above without the callgrind and py-spys

@adorobis
Copy link

Understood. Yet already a few hours since I've disabled all persistent notifications and the issue has not returned neither on mobile nor on PC chrome browser. I'll need some more time to collect the callgrind and py-spys.

@tommyjlong
Copy link
Contributor

2023.7.0: Still seeing these.
At bootup, each time some new devices are discovered, it sends a persistent notification and for each notification it logs this error.

@silvannn
Copy link

silvannn commented Jul 7, 2023

Yes still there. I have disabled all my persistent notification in automation but sometimes I am getting notification about failed login and pressing dismiss button is crashing HA.

@Toggz
Copy link

Toggz commented Jul 7, 2023

Is it still an issue in core-2023.7.1 for you people? Because for me the issue has gone. (fingers crossed).

@adorobis
Copy link

adorobis commented Jul 7, 2023

I still have it.

@tommyjlong
Copy link
Contributor

I've tested it a couple of times today on 2023.7.1, and this issue did not show up :)

@onemorename
Copy link

Issue is gone since 7.0 here - thanks guys!

@silvannn
Copy link

7.1 I think issue is gone.

@issue-triage-workflows
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.
Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍
This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

@issue-triage-workflows issue-triage-workflows bot closed this as not planned Won't fix, can't repro, duplicate, stale Oct 15, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Nov 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests