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

Move diagnostic operations from ConnectivityMgr to DiagnosticDataProvider #12139

Merged
merged 1 commit into from
Nov 23, 2021
Merged

Move diagnostic operations from ConnectivityMgr to DiagnosticDataProvider #12139

merged 1 commit into from
Nov 23, 2021

Conversation

yufengwangca
Copy link
Contributor

@yufengwangca yufengwangca commented Nov 23, 2021

Problem

What is being fixed? Examples:

  • We have dedicated DiagnosticDataProvider to process all diagnostic operations. Need to relocate all diagnostic operations to this interface from existing interfaces.

Change overview

  1. Move diagnostic operations from ConnectivityMgr to DiagnosticDataProvider
  2. Remove all generic CRTP based intermediate implementations

Testing

How was this tested? (at least one bullet point required)

  • Confirm we can get the correct feature-map result with this refactor
yufengw@yufengw-SEi:~/connectedhomeip/out/debug/standalone$ ./chip-tool wifinetworkdiagnostics read packet-unicast-rx-count 12344321 0
.......
[1637684366.753363][444973:444978] CHIP:DMG: ReportDataMessage =
[1637684366.753367][444973:444978] CHIP:DMG: {
[1637684366.753370][444973:444978] CHIP:DMG: 	AttributeReportIBs =
[1637684366.753374][444973:444978] CHIP:DMG: 	[
[1637684366.753378][444973:444978] CHIP:DMG: 		AttributeReportIB =
[1637684366.753382][444973:444978] CHIP:DMG: 		{
[1637684366.753389][444973:444978] CHIP:DMG: 			AttributeDataIB =
[1637684366.753393][444973:444978] CHIP:DMG: 			{
[1637684366.753397][444973:444978] CHIP:DMG: 				AttributePathIB =
[1637684366.753403][444973:444978] CHIP:DMG: 				{
[1637684366.753407][444973:444978] CHIP:DMG: 					Endpoint = 0x0,
[1637684366.753412][444973:444978] CHIP:DMG: 					Cluster = 0x36,
[1637684366.753417][444973:444978] CHIP:DMG: 					Attribute = 0x0000_0009,
[1637684366.753421][444973:444978] CHIP:DMG: 				}
[1637684366.753426][444973:444978] CHIP:DMG: 					
[1637684366.753431][444973:444978] CHIP:DMG: 					Data = 193, 
[1637684366.753435][444973:444978] CHIP:DMG: 				DataVersion = 0x0,
[1637684366.753439][444973:444978] CHIP:DMG: 			},
[1637684366.753444][444973:444978] CHIP:DMG: 			
[1637684366.753447][444973:444978] CHIP:DMG: 		},
[1637684366.753452][444973:444978] CHIP:DMG: 		
[1637684366.753456][444973:444978] CHIP:DMG: 	],
[1637684366.753461][444973:444978] CHIP:DMG: 	
[1637684366.753464][444973:444978] CHIP:DMG: 	SuppressResponse = true, 
[1637684366.753468][444973:444978] CHIP:DMG: }
[1637684366.753487][444973:444978] CHIP:ZCL: ReadAttributesResponse:
[1637684366.753490][444973:444978] CHIP:ZCL:   ClusterId: 0x0000_0036
[1637684366.753494][444973:444978] CHIP:ZCL:   attributeId: 0x0000_0009
[1637684366.753498][444973:444978] CHIP:ZCL:   status: Success                (0x0000)
[1637684366.753501][444973:444978] CHIP:ZCL:   attribute TLV Type: 0x04
[1637684366.753505][444973:444978] CHIP:TOO: Int32u attribute Response: 193

@github-actions
Copy link

github-actions bot commented Nov 23, 2021

PR #12139: Size comparison from b83502b to 83ca866

Increases above 0.2%:

platform target config section b83502b 83ca866 change % change
k32w lighting-app k32w061+se05x+release (read/write) 708276 709812 1536 0.2
.text 623344 624880 1536 0.2
qpg lighting-app qpg6100+debug (read only) 495024 496552 1528 0.3
.text 489704 491232 1528 0.3
Increases (8 builds for k32w, p6, qpg, telink)
platform target config section b83502b 83ca866 change % change
k32w lighting-app k32w061+se05x+release (read/write) 708276 709812 1536 0.2
.text 623344 624880 1536 0.2
lock-app k32w061+debug (read/write) 599716 600212 496 0.1
.text 524304 524800 496 0.1
shell k32w061+debug (read/write) 665080 665592 512 0.1
.text 578540 579052 512 0.1
p6 all-clusters-app default (read/write) 2304216 2306432 2216 0.1
.text 1262480 1264696 2216 0.2
lock-app default (read/write) 2217400 2218464 1064 0.0
.text 1175664 1176728 1064 0.1
qpg lighting-app qpg6100+debug (read only) 495024 496552 1528 0.3
.text 489704 491232 1528 0.3
lock-app qpg6100+debug (read only) 469996 470476 480 0.1
.text 464676 465156 480 0.1
telink lighting-app tlsr9518adk80d (read/write) 769434 770974 1540 0.2
text 534348 535276 928 0.2
Full report (9 builds for k32w, p6, qpg, telink)
platform target config section b83502b 83ca866 change % change
k32w lighting-app k32w061+se05x+release (read/write) 708276 709812 1536 0.2
.bss 77212 77212 0 0.0
.data 1920 1920 0 0.0
.text 623344 624880 1536 0.2
lock-app k32w061+debug (read/write) 599716 600212 496 0.1
.bss 67724 67724 0 0.0
.data 1888 1888 0 0.0
.text 524304 524800 496 0.1
shell k32w061+debug (read/write) 665080 665592 512 0.1
.bss 78884 78884 0 0.0
.data 1856 1856 0 0.0
.text 578540 579052 512 0.1
p6 all-clusters-app default (read/write) 2304216 2306432 2216 0.1
.bss 113296 113296 0 0.0
.data 2536 2536 0 0.0
.heap 917512 917512 0 0.0
.text 1262480 1264696 2216 0.2
lock-app default (read/write) 2217400 2218464 1064 0.0
.bss 100952 100952 0 0.0
.data 2408 2408 0 0.0
.heap 929984 929984 0 0.0
.text 1175664 1176728 1064 0.1
qpg lighting-app qpg6100+debug (read only) 495024 496552 1528 0.3
(read/write) 114144 114144 0 0.0
.bss 50264 50264 0 0.0
.data 1016 1016 0 0.0
.text 489704 491232 1528 0.3
lock-app qpg6100+debug (read only) 469996 470476 480 0.1
(read/write) 114140 114140 0 0.0
.bss 49200 49200 0 0.0
.data 972 972 0 0.0
.text 464676 465156 480 0.1
persistent-storage-app qpg6100+debug (read only) 105408 105408 0 0.0
(read/write) 114142 114142 0 0.0
.bss 8986 8986 0 0.0
.data 272 272 0 0.0
.text 100088 100088 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 769434 770974 1540 0.2
bss 79136 79136 0 0.0
noinit 37160 37160 0 0.0
text 534348 535276 928 0.2

@github-actions
Copy link

github-actions bot commented Nov 23, 2021

PR #12139: Size comparison from b83502b to 5d03400

Increases above 0.2%:

platform target config section b83502b 5d03400 change % change
efr32 lighting-app BRD4161A (read only) 751936 754152 2216 0.3
.text 751928 754144 2216 0.3
BRD4161A+rpc (read only) 739428 741620 2192 0.3
.text 739420 741612 2192 0.3
linux all-clusters-app debug (read/write) 128688 129104 416 0.3
.data 1042 1138 96 9.2
.data.rel.ro 63760 64176 416 0.7
bridge-app debug+rpc (read/write) 76760 77208 448 0.6
.data 1584 1680 96 6.1
.data.rel.ro 28608 29024 416 1.5
chip-tool debug .data 2288 2384 96 4.2
.data.rel.ro 148192 148608 416 0.3
.text 5218373 5231605 13232 0.3
lighting-app debug+rpc (read/write) 109976 110392 416 0.4
.data 1234 1330 96 7.8
.data.rel.ro 56208 56608 400 0.7
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.text 620258 633554 13296 2.1
tv-app debug .data 2784 2880 96 3.4
.data.rel.ro 60520 60952 432 0.7
nrfconnect lighting-app nrf52840dk_nrf52840 rodata 96028 96620 592 0.6
nrf52840dk_nrf52840+rpc rodata 87212 87804 592 0.7
nrf5340dk_nrf5340_cpuapp rodata 91284 91876 592 0.6
qpg lighting-app qpg6100+debug (read only) 495024 496552 1528 0.3
.text 489704 491232 1528 0.3
Increases (33 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b83502b 5d03400 change % change
efr32 lighting-app BRD4161A (read only) 751936 754152 2216 0.3
.text 751928 754144 2216 0.3
BRD4161A+rpc (read only) 739428 741620 2192 0.3
.text 739420 741612 2192 0.3
lock-app BRD4161A (read only) 729008 730072 1064 0.1
.text 729000 730064 1064 0.1
window-app BRD4161A (read only) 732456 733520 1064 0.1
.text 732448 733512 1064 0.1
k32w lighting-app k32w061+se05x+release (read/write) 708276 709812 1536 0.2
.text 623344 624880 1536 0.2
lock-app k32w061+debug (read/write) 599716 600212 496 0.1
.text 524304 524800 496 0.1
shell k32w061+debug (read/write) 665080 665592 512 0.1
.text 578540 579052 512 0.1
linux all-clusters-app debug (read only) 1750609 1751089 480 0.0
(read/write) 128688 129104 416 0.3
.data 1042 1138 96 9.2
.data.rel.ro 63760 64176 416 0.7
.rodata 138613 138645 32 0.0
bridge-app debug+rpc (read only) 1330101 1330829 728 0.1
(read/write) 76760 77208 448 0.6
.data 1584 1680 96 6.1
.data.rel.ro 28608 29024 416 1.5
chip-tool debug (read only) 5877581 5892117 14536 0.2
(read/write) 195936 196384 448 0.2
.data 2288 2384 96 4.2
.data.rel.ro 148192 148608 416 0.3
.rodata 278842 278898 56 0.0
.text 5218373 5231605 13232 0.3
lighting-app debug+rpc (read only) 1599241 1599673 432 0.0
(read/write) 109976 110392 416 0.4
.data 1234 1330 96 7.8
.data.rel.ro 56208 56608 400 0.7
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.rodata 114999 115087 88 0.1
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.rodata 126408 126496 88 0.1
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.rodata 79279 79343 64 0.1
.text 620258 633554 13296 2.1
tv-app debug (read only) 1892073 1892801 728 0.0
(read/write) 318832 319248 416 0.1
.data 2784 2880 96 3.4
.data.rel.ro 60520 60952 432 0.7
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2290912 2292928 2016 0.1
.text 1253512 1255528 2016 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2275168 2277128 1960 0.1
.text 1237768 1239728 1960 0.2
lock-app CY8CPROTO_062_4343W+release (read/write) 2251000 2251480 480 0.0
.text 1213600 1214080 480 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2050936 2051104 168 0.0
.text 1013536 1013704 168 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 866003 867523 1520 0.2
rodata 96028 96620 592 0.6
text 583732 584660 928 0.2
nrf52840dk_nrf52840+rpc (read/write) 828371 829891 1520 0.2
rodata 87212 87804 592 0.7
text 557900 558828 928 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 791042 792562 1520 0.2
rodata 91284 91876 592 0.6
text 513196 514128 932 0.2
lock-app nrf52840dk_nrf52840 (read/write) 841415 841915 500 0.1
rodata 92496 92660 164 0.2
text 563824 564148 324 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 766722 767202 480 0.1
rodata 87804 87964 160 0.2
text 493384 493704 320 0.1
pump-app nrf52840dk_nrf52840 (read/write) 847543 848023 480 0.1
rodata 94208 94368 160 0.2
text 568008 568328 320 0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 841119 841615 496 0.1
rodata 92456 92616 160 0.2
text 563444 563768 324 0.1
shell nrf52840dk_nrf52840 (read/write) 778671 778871 200 0.0
rodata 73196 73300 104 0.1
text 521696 521800 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 693678 693894 216 0.0
rodata 67840 67944 104 0.2
text 442304 442408 104 0.0
p6 all-clusters-app default (read/write) 2304216 2306432 2216 0.1
.text 1262480 1264696 2216 0.2
lock-app default (read/write) 2217400 2218464 1064 0.0
.text 1175664 1176728 1064 0.1
qpg lighting-app qpg6100+debug (read only) 495024 496552 1528 0.3
.text 489704 491232 1528 0.3
lock-app qpg6100+debug (read only) 469996 470476 480 0.1
.text 464676 465156 480 0.1
telink lighting-app tlsr9518adk80d (read/write) 769434 770974 1540 0.2
text 534348 535276 928 0.2
Decreases (8 builds for linux)
platform target config section b83502b 5d03400 change % change
linux all-clusters-app debug .bss 58576 58480 -96 -0.2
.text 1475618 1474818 -800 -0.1
bridge-app debug+rpc .bss 41552 41488 -64 -0.2
.rodata 113212 113204 -8 -0.0
.text 1118741 1118229 -512 -0.0
chip-tool debug .bss 39896 39832 -64 -0.2
lighting-app debug+rpc .bss 47216 47120 -96 -0.2
.text 1332594 1331778 -816 -0.1
ota-provider-app debug .bss 44128 44064 -64 -0.1
ota-requestor-app debug .bss 46592 46528 -64 -0.1
shell debug .bss 23336 23240 -96 -0.4
tv-app debug .bss 249848 249752 -96 -0.0
.rodata 159485 159477 -8 -0.0
.text 1586402 1585890 -512 -0.0
Full report (36 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section b83502b 5d03400 change % change
efr32 lighting-app BRD4161A (read only) 751936 754152 2216 0.3
(read/write) 119692 119692 0 0.0
.bss 117884 117884 0 0.0
.data 1808 1808 0 0.0
.text 751928 754144 2216 0.3
BRD4161A+rpc (read only) 739428 741620 2192 0.3
(read/write) 136320 136320 0 0.0
.bss 134388 134388 0 0.0
.data 1932 1932 0 0.0
.text 739420 741612 2192 0.3
lock-app BRD4161A (read only) 729008 730072 1064 0.1
(read/write) 117476 117476 0 0.0
.bss 115708 115708 0 0.0
.data 1764 1764 0 0.0
.text 729000 730064 1064 0.1
window-app BRD4161A (read only) 732456 733520 1064 0.1
(read/write) 117836 117836 0 0.0
.bss 116060 116060 0 0.0
.data 1772 1772 0 0.0
.text 732448 733512 1064 0.1
k32w lighting-app k32w061+se05x+release (read/write) 708276 709812 1536 0.2
.bss 77212 77212 0 0.0
.data 1920 1920 0 0.0
.text 623344 624880 1536 0.2
lock-app k32w061+debug (read/write) 599716 600212 496 0.1
.bss 67724 67724 0 0.0
.data 1888 1888 0 0.0
.text 524304 524800 496 0.1
shell k32w061+debug (read/write) 665080 665592 512 0.1
.bss 78884 78884 0 0.0
.data 1856 1856 0 0.0
.text 578540 579052 512 0.1
linux all-clusters-app debug (read only) 1750609 1751089 480 0.0
(read/write) 128688 129104 416 0.3
.bss 58576 58480 -96 -0.2
.data 1042 1138 96 9.2
.data.rel.ro 63760 64176 416 0.7
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 568 568 0 0.0
.rodata 138613 138645 32 0.0
.text 1475618 1474818 -800 -0.1
bridge-app debug+rpc (read only) 1330101 1330829 728 0.1
(read/write) 76760 77208 448 0.6
.bss 41552 41488 -64 -0.2
.data 1584 1680 96 6.1
.data.rel.ro 28608 29024 416 1.5
.dynamic 592 592 0 0.0
.got 3984 3984 0 0.0
.init 27 27 0 0.0
.init_array 416 416 0 0.0
.rodata 113212 113204 -8 -0.0
.text 1118741 1118229 -512 -0.0
chip-tool debug (read only) 5877581 5892117 14536 0.2
(read/write) 195936 196384 448 0.2
.bss 39896 39832 -64 -0.2
.data 2288 2384 96 4.2
.data.rel.ro 148192 148608 416 0.3
.dynamic 592 592 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 278842 278898 56 0.0
.text 5218373 5231605 13232 0.3
lighting-app debug+rpc (read only) 1599241 1599673 432 0.0
(read/write) 109976 110392 416 0.4
.bss 47216 47120 -96 -0.2
.data 1234 1330 96 7.8
.data.rel.ro 56208 56608 400 0.7
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 130897 130897 0 0.0
.text 1332594 1331778 -816 -0.1
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.bss 44128 44064 -64 -0.1
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.dynamic 592 592 0 0.0
.got 4048 4048 0 0.0
.init 27 27 0 0.0
.init_array 456 456 0 0.0
.rodata 114999 115087 88 0.1
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.bss 46592 46528 -64 -0.1
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 126408 126496 88 0.1
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.bss 23336 23240 -96 -0.4
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.dynamic 592 592 0 0.0
.got 3560 3560 0 0.0
.init 27 27 0 0.0
.init_array 352 352 0 0.0
.rodata 79279 79343 64 0.1
.text 620258 633554 13296 2.1
tv-app debug (read only) 1892073 1892801 728 0.0
(read/write) 318832 319248 416 0.1
.bss 249848 249752 -96 -0.0
.data 2784 2880 96 3.4
.data.rel.ro 60520 60952 432 0.7
.dynamic 592 592 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 159485 159477 -8 -0.0
.text 1586402 1585890 -512 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2290912 2292928 2016 0.1
.bss 180308 180308 0 0.0
.data 5232 5232 0 0.0
.heap 850904 850904 0 0.0
.text 1253512 1255528 2016 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2275168 2277128 1960 0.1
.bss 172212 172212 0 0.0
.data 5584 5584 0 0.0
.heap 858648 858648 0 0.0
.text 1237768 1239728 1960 0.2
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2251000 2251480 480 0.0
.bss 171092 171092 0 0.0
.data 5576 5576 0 0.0
.heap 859776 859776 0 0.0
.text 1213600 1214080 480 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139744 1139744 0 0.0
.bss 11752 11752 0 0.0
.data 4368 4368 0 0.0
.heap 1020328 1020328 0 0.0
.text 103128 103128 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2050936 2051104 168 0.0
.bss 156280 156280 0 0.0
.data 4976 4976 0 0.0
.heap 875192 875192 0 0.0
.text 1013536 1013704 168 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 866003 867523 1520 0.2
bss 110616 110616 0 0.0
rodata 96028 96620 592 0.6
text 583732 584660 928 0.2
nrf52840dk_nrf52840+rpc (read/write) 828371 829891 1520 0.2
bss 106972 106972 0 0.0
rodata 87212 87804 592 0.7
text 557900 558828 928 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 791042 792562 1520 0.2
bss 111992 111992 0 0.0
rodata 91284 91876 592 0.6
text 513196 514128 932 0.2
lock-app nrf52840dk_nrf52840 (read/write) 841415 841915 500 0.1
bss 109640 109640 0 0.0
rodata 92496 92660 164 0.2
text 563824 564148 324 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 766722 767202 480 0.1
bss 111052 111052 0 0.0
rodata 87804 87964 160 0.2
text 493384 493704 320 0.1
pigweed-app nrf52840dk_nrf52840 (read/write) 497327 497327 0 0.0
bss 51824 51824 0 0.0
rodata 45780 45780 0 0.0
text 339436 339436 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 847543 848023 480 0.1
bss 109780 109780 0 0.0
rodata 94208 94368 160 0.2
text 568008 568328 320 0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 841119 841615 496 0.1
bss 109676 109676 0 0.0
rodata 92456 92616 160 0.2
text 563444 563768 324 0.1
shell nrf52840dk_nrf52840 (read/write) 778671 778871 200 0.0
bss 109160 109160 0 0.0
rodata 73196 73300 104 0.1
text 521696 521800 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 693678 693894 216 0.0
bss 110144 110144 0 0.0
rodata 67840 67944 104 0.2
text 442304 442408 104 0.0
p6 all-clusters-app default (read/write) 2304216 2306432 2216 0.1
.bss 113296 113296 0 0.0
.data 2536 2536 0 0.0
.heap 917512 917512 0 0.0
.text 1262480 1264696 2216 0.2
lock-app default (read/write) 2217400 2218464 1064 0.0
.bss 100952 100952 0 0.0
.data 2408 2408 0 0.0
.heap 929984 929984 0 0.0
.text 1175664 1176728 1064 0.1
qpg lighting-app qpg6100+debug (read only) 495024 496552 1528 0.3
(read/write) 114144 114144 0 0.0
.bss 50264 50264 0 0.0
.data 1016 1016 0 0.0
.text 489704 491232 1528 0.3
lock-app qpg6100+debug (read only) 469996 470476 480 0.1
(read/write) 114140 114140 0 0.0
.bss 49200 49200 0 0.0
.data 972 972 0 0.0
.text 464676 465156 480 0.1
persistent-storage-app qpg6100+debug (read only) 105408 105408 0 0.0
(read/write) 114142 114142 0 0.0
.bss 8986 8986 0 0.0
.data 272 272 0 0.0
.text 100088 100088 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 769434 770974 1540 0.2
bss 79136 79136 0 0.0
noinit 37160 37160 0 0.0
text 534348 535276 928 0.2

@Damian-Nordic
Copy link
Contributor

Switching from CRTP to virtual interfaces comes at a cost of increased flash usage which may really become a blocker at some point. It is because, the linker can't easily optimize out unused functions as they are still referenced by a vtable. In my opinion, if the direction is to use virtual interfaces we should keep the interfaces small so that platforms may choose which interfaces they want to implement. For example, I think we should have separate EthernetDiagnosticProvider, WiFiDiagnosticProvider and ThreadDiagnosticProvider interfaces. The additional advantage of that is that more code will be reusable - for example, all OpenThread-based platform will be able to use the same, say OpenThreadDiagnosticProvider, implementation. Thoughts?

@github-actions
Copy link

github-actions bot commented Nov 23, 2021

PR #12139: Size comparison from 71a3fb2 to 9644f00

Increases above 0.2%:

platform target config section 71a3fb2 9644f00 change % change
k32w lighting-app k32w061+se05x+release (read/write) 708668 710220 1552 0.2
.text 623664 625216 1552 0.2
linux all-clusters-app debug (read/write) 128880 129296 416 0.3
.data 1042 1138 96 9.2
.data.rel.ro 63888 64304 416 0.7
bridge-app debug+rpc (read/write) 76856 77304 448 0.6
.data 1584 1680 96 6.1
.data.rel.ro 28688 29104 416 1.5
chip-tool debug (read only) 5914389 5928909 14520 0.2
(read/write) 196032 196480 448 0.2
.data 2288 2384 96 4.2
.data.rel.ro 148272 148688 416 0.3
.text 5249957 5263173 13216 0.3
lighting-app debug+rpc (read/write) 110136 110584 448 0.4
.data 1234 1330 96 7.8
.data.rel.ro 56304 56736 432 0.8
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.text 620258 633554 13296 2.1
tv-app debug .data 2784 2880 96 3.4
.data.rel.ro 60648 61080 432 0.7
qpg lighting-app qpg6100+debug (read only) 495344 496872 1528 0.3
.text 490024 491552 1528 0.3
Increases (16 builds for k32w, linux, p6, qpg, telink)
platform target config section 71a3fb2 9644f00 change % change
k32w lighting-app k32w061+se05x+release (read/write) 708668 710220 1552 0.2
.text 623664 625216 1552 0.2
lock-app k32w061+debug (read/write) 600000 600512 512 0.1
.text 524588 525100 512 0.1
shell k32w061+debug (read/write) 665380 665892 512 0.1
.text 578840 579352 512 0.1
linux all-clusters-app debug (read only) 1751433 1751897 464 0.0
(read/write) 128880 129296 416 0.3
.data 1042 1138 96 9.2
.data.rel.ro 63888 64304 416 0.7
.rodata 138677 138709 32 0.0
bridge-app debug+rpc (read only) 1330909 1331637 728 0.1
(read/write) 76856 77304 448 0.6
.data 1584 1680 96 6.1
.data.rel.ro 28688 29104 416 1.5
chip-tool debug (read only) 5914389 5928909 14520 0.2
(read/write) 196032 196480 448 0.2
.data 2288 2384 96 4.2
.data.rel.ro 148272 148688 416 0.3
.rodata 283898 283954 56 0.0
.text 5249957 5263173 13216 0.3
lighting-app debug+rpc (read only) 1600809 1601209 400 0.0
(read/write) 110136 110584 448 0.4
.data 1234 1330 96 7.8
.data.rel.ro 56304 56736 432 0.8
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.rodata 114999 115087 88 0.1
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.rodata 126408 126496 88 0.1
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.rodata 79279 79343 64 0.1
.text 620258 633554 13296 2.1
tv-app debug (read only) 1892849 1893609 760 0.0
(read/write) 319024 319440 416 0.1
.data 2784 2880 96 3.4
.data.rel.ro 60648 61080 432 0.7
.rodata 159517 159541 24 0.0
p6 all-clusters-app default (read/write) 2304784 2307016 2232 0.1
.text 1263048 1265280 2232 0.2
lock-app default (read/write) 2217952 2219000 1048 0.0
.text 1176216 1177264 1048 0.1
qpg lighting-app qpg6100+debug (read only) 495344 496872 1528 0.3
.text 490024 491552 1528 0.3
lock-app qpg6100+debug (read only) 470288 470776 488 0.1
.text 464968 465456 488 0.1
telink lighting-app tlsr9518adk80d (read/write) 769898 771438 1540 0.2
text 534636 535564 928 0.2
Decreases (8 builds for linux)
platform target config section 71a3fb2 9644f00 change % change
linux all-clusters-app debug .bss 58640 58544 -96 -0.2
.text 1476162 1475346 -816 -0.1
bridge-app debug+rpc .bss 41552 41488 -64 -0.2
.rodata 113276 113268 -8 -0.0
.text 1119269 1118757 -512 -0.0
chip-tool debug .bss 39896 39832 -64 -0.2
lighting-app debug+rpc .bss 47280 47184 -96 -0.2
.rodata 131633 131601 -32 -0.0
.text 1333186 1332370 -816 -0.1
ota-provider-app debug .bss 44128 44064 -64 -0.1
ota-requestor-app debug .bss 46592 46528 -64 -0.1
shell debug .bss 23336 23240 -96 -0.4
tv-app debug .bss 249912 249816 -96 -0.0
.text 1586930 1586418 -512 -0.0
Full report (17 builds for k32w, linux, p6, qpg, telink)
platform target config section 71a3fb2 9644f00 change % change
k32w lighting-app k32w061+se05x+release (read/write) 708668 710220 1552 0.2
.bss 77284 77284 0 0.0
.data 1920 1920 0 0.0
.text 623664 625216 1552 0.2
lock-app k32w061+debug (read/write) 600000 600512 512 0.1
.bss 67724 67724 0 0.0
.data 1888 1888 0 0.0
.text 524588 525100 512 0.1
shell k32w061+debug (read/write) 665380 665892 512 0.1
.bss 78884 78884 0 0.0
.data 1856 1856 0 0.0
.text 578840 579352 512 0.1
linux all-clusters-app debug (read only) 1751433 1751897 464 0.0
(read/write) 128880 129296 416 0.3
.bss 58640 58544 -96 -0.2
.data 1042 1138 96 9.2
.data.rel.ro 63888 64304 416 0.7
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 568 568 0 0.0
.rodata 138677 138709 32 0.0
.text 1476162 1475346 -816 -0.1
bridge-app debug+rpc (read only) 1330909 1331637 728 0.1
(read/write) 76856 77304 448 0.6
.bss 41552 41488 -64 -0.2
.data 1584 1680 96 6.1
.data.rel.ro 28688 29104 416 1.5
.dynamic 592 592 0 0.0
.got 3984 3984 0 0.0
.init 27 27 0 0.0
.init_array 416 416 0 0.0
.rodata 113276 113268 -8 -0.0
.text 1119269 1118757 -512 -0.0
chip-tool debug (read only) 5914389 5928909 14520 0.2
(read/write) 196032 196480 448 0.2
.bss 39896 39832 -64 -0.2
.data 2288 2384 96 4.2
.data.rel.ro 148272 148688 416 0.3
.dynamic 592 592 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 283898 283954 56 0.0
.text 5249957 5263173 13216 0.3
lighting-app debug+rpc (read only) 1600809 1601209 400 0.0
(read/write) 110136 110584 448 0.4
.bss 47280 47184 -96 -0.2
.data 1234 1330 96 7.8
.data.rel.ro 56304 56736 432 0.8
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 131633 131601 -32 -0.0
.text 1333186 1332370 -816 -0.1
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.bss 44128 44064 -64 -0.1
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.dynamic 592 592 0 0.0
.got 4048 4048 0 0.0
.init 27 27 0 0.0
.init_array 456 456 0 0.0
.rodata 114999 115087 88 0.1
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.bss 46592 46528 -64 -0.1
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 126408 126496 88 0.1
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.bss 23336 23240 -96 -0.4
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.dynamic 592 592 0 0.0
.got 3560 3560 0 0.0
.init 27 27 0 0.0
.init_array 352 352 0 0.0
.rodata 79279 79343 64 0.1
.text 620258 633554 13296 2.1
tv-app debug (read only) 1892849 1893609 760 0.0
(read/write) 319024 319440 416 0.1
.bss 249912 249816 -96 -0.0
.data 2784 2880 96 3.4
.data.rel.ro 60648 61080 432 0.7
.dynamic 592 592 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 159517 159541 24 0.0
.text 1586930 1586418 -512 -0.0
p6 all-clusters-app default (read/write) 2304784 2307016 2232 0.1
.bss 113360 113360 0 0.0
.data 2536 2536 0 0.0
.heap 917448 917448 0 0.0
.text 1263048 1265280 2232 0.2
lock-app default (read/write) 2217952 2219000 1048 0.0
.bss 100952 100952 0 0.0
.data 2408 2408 0 0.0
.heap 929984 929984 0 0.0
.text 1176216 1177264 1048 0.1
qpg lighting-app qpg6100+debug (read only) 495344 496872 1528 0.3
(read/write) 114144 114144 0 0.0
.bss 50328 50328 0 0.0
.data 1016 1016 0 0.0
.text 490024 491552 1528 0.3
lock-app qpg6100+debug (read only) 470288 470776 488 0.1
(read/write) 114140 114140 0 0.0
.bss 49200 49200 0 0.0
.data 972 972 0 0.0
.text 464968 465456 488 0.1
persistent-storage-app qpg6100+debug (read only) 105408 105408 0 0.0
(read/write) 114142 114142 0 0.0
.bss 8986 8986 0 0.0
.data 272 272 0 0.0
.text 100088 100088 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 769898 771438 1540 0.2
bss 79200 79200 0 0.0
noinit 37160 37160 0 0.0
text 534636 535564 928 0.2

@yufengwangca
Copy link
Contributor Author

yufengwangca commented Nov 23, 2021

Switching from CRTP to virtual interfaces comes at a cost of increased flash usage which may really become a blocker at some point. It is because, the linker can't easily optimize out unused functions as they are still referenced by a vtable. In my opinion, if the direction is to use virtual interfaces we should keep the interfaces small so that platforms may choose which interfaces they want to implement. For example, I think we should have separate EthernetDiagnosticProvider, WiFiDiagnosticProvider and ThreadDiagnosticProvider interfaces. The additional advantage of that is that more code will be reusable - for example, all OpenThread-based platform will be able to use the same, say OpenThreadDiagnosticProvider, implementation. Thoughts?

@tcarmelveilleux @bzbarsky-apple
That is right, CRTP to virtual will increase the flash cost, we already have a lot of debates on if converting CRTP to virtual interface. The consensus is only converting ConfigurationMgr to virtual interface to better fit lower storage interface and keep the rest of interfaces as is.

The diagnostic APIs are complete new, keep adding tons of methods to PlatformManager/ConnectivityManager will make it hard to override and cause system dependencies against all drivers in those two classes. And we will have various delegate interfaces to be added later to support event. Obviously, current route is not scale-able and very difficult to maintain.

After discussion, we would like to separate this out from giant PlatformManager/ConnectivityManager classes with the cost of virtual interface just for diagnostic operations.

I agree with your proposal to split it further, but we have more than three diagnostic clusters now, log, general, software, wifi, ethernet, thread, make all of them separate?

@github-actions
Copy link

github-actions bot commented Nov 23, 2021

PR #12139: Size comparison from 2490197 to e0e2bb8

Increases above 0.2%:

platform target config section 2490197 e0e2bb8 change % change
efr32 lighting-app BRD4161A (read only) 752584 754792 2208 0.3
.text 752576 754784 2208 0.3
BRD4161A+rpc (read only) 740068 742268 2200 0.3
.text 740060 742260 2200 0.3
linux all-clusters-app debug (read/write) 128944 129360 416 0.3
.data 1042 1138 96 9.2
.data.rel.ro 63952 64368 416 0.7
bridge-app debug+rpc (read/write) 76920 77368 448 0.6
.data 1584 1680 96 6.1
.data.rel.ro 28752 29168 416 1.4
chip-tool debug .data 2288 2384 96 4.2
.data.rel.ro 148480 148896 416 0.3
.text 5251829 5265061 13232 0.3
lighting-app debug+rpc (read/write) 110168 110616 448 0.4
.data 1234 1330 96 7.8
.data.rel.ro 56336 56768 432 0.8
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.text 620258 633554 13296 2.1
tv-app debug .data 2784 2880 96 3.4
.data.rel.ro 60712 61144 432 0.7
nrfconnect lighting-app nrf52840dk_nrf52840 rodata 96180 96772 592 0.6
nrf52840dk_nrf52840+rpc rodata 87364 87956 592 0.7
nrf5340dk_nrf5340_cpuapp rodata 91436 92028 592 0.6
qpg lighting-app qpg6100+debug (read only) 495384 496912 1528 0.3
.text 490064 491592 1528 0.3
Increases (35 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 2490197 e0e2bb8 change % change
efr32 lighting-app BRD4161A (read only) 752584 754792 2208 0.3
.text 752576 754784 2208 0.3
BRD4161A+rpc (read only) 740068 742268 2200 0.3
.text 740060 742260 2200 0.3
lock-app BRD4161A (read only) 729584 730648 1064 0.1
.text 729576 730640 1064 0.1
window-app BRD4161A (read only) 733032 734096 1064 0.1
.text 733024 734088 1064 0.1
esp32 all-clusters-app c3devkit (read only) 834250 834416 166 0.0
(read/write) 1222370 1222618 248 0.0
.flash.rodata 165176 165440 264 0.2
.flash.text 834250 834416 166 0.0
m5stack (read/write) 421648 421904 256 0.1
.flash.rodata 193112 193376 264 0.1
k32w lighting-app k32w061+se05x+release (read/write) 708716 710268 1552 0.2
.text 623704 625256 1552 0.2
lock-app k32w061+debug (read/write) 600048 600560 512 0.1
.text 524628 525140 512 0.1
shell k32w061+debug (read/write) 665428 665940 512 0.1
.text 578880 579392 512 0.1
linux all-clusters-app debug (read only) 1751481 1751945 464 0.0
(read/write) 128944 129360 416 0.3
.data 1042 1138 96 9.2
.data.rel.ro 63952 64368 416 0.7
.rodata 138677 138709 32 0.0
bridge-app debug+rpc (read only) 1330957 1331685 728 0.1
(read/write) 76920 77368 448 0.6
.data 1584 1680 96 6.1
.data.rel.ro 28752 29168 416 1.4
chip-tool debug (read only) 5916677 5931213 14536 0.2
(read/write) 196224 196672 448 0.2
.data 2288 2384 96 4.2
.data.rel.ro 148480 148896 416 0.3
.rodata 283930 283986 56 0.0
.text 5251829 5265061 13232 0.3
lighting-app debug+rpc (read only) 1600857 1601289 432 0.0
(read/write) 110168 110616 448 0.4
.data 1234 1330 96 7.8
.data.rel.ro 56336 56768 432 0.8
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.rodata 114999 115087 88 0.1
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.rodata 126408 126496 88 0.1
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.rodata 79279 79343 64 0.1
.text 620258 633554 13296 2.1
tv-app debug (read only) 1892929 1893657 728 0.0
(read/write) 319120 319536 416 0.1
.data 2784 2880 96 3.4
.data.rel.ro 60712 61144 432 0.7
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2291296 2293256 1960 0.1
.text 1253896 1255856 1960 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2275512 2277472 1960 0.1
.text 1238112 1240072 1960 0.2
lock-app CY8CPROTO_062_4343W+release (read/write) 2251312 2251792 480 0.0
.text 1213912 1214392 480 0.0
shell CY8CPROTO_062_4343W+release (read/write) 2050936 2051104 168 0.0
.text 1013536 1013704 168 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 868635 870155 1520 0.2
rodata 96180 96772 592 0.6
text 584192 585124 932 0.2
nrf52840dk_nrf52840+rpc (read/write) 831003 832523 1520 0.2
rodata 87364 87956 592 0.7
text 558360 559292 932 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 793674 795194 1520 0.2
rodata 91436 92028 592 0.6
text 513660 514588 928 0.2
lock-app nrf52840dk_nrf52840 (read/write) 841755 842239 484 0.1
rodata 92612 92776 164 0.2
text 564044 564368 324 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 767062 767542 480 0.1
rodata 87920 88080 160 0.2
text 493604 493924 320 0.1
pump-app nrf52840dk_nrf52840 (read/write) 847867 848347 480 0.1
rodata 94324 94484 160 0.2
text 568228 568548 320 0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 841459 841939 480 0.1
rodata 92572 92732 160 0.2
text 563664 563988 324 0.1
shell nrf52840dk_nrf52840 (read/write) 778671 778871 200 0.0
rodata 73196 73300 104 0.1
text 521696 521800 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 693678 693894 216 0.0
rodata 67840 67944 104 0.2
text 442304 442408 104 0.0
p6 all-clusters-app default (read/write) 2304824 2307056 2232 0.1
.text 1263088 1265320 2232 0.2
lock-app default (read/write) 2217992 2219040 1048 0.0
.text 1176256 1177304 1048 0.1
qpg lighting-app qpg6100+debug (read only) 495384 496912 1528 0.3
.text 490064 491592 1528 0.3
lock-app qpg6100+debug (read only) 470328 470816 488 0.1
.text 465008 465496 488 0.1
telink lighting-app tlsr9518adk80d (read/write) 769954 771494 1540 0.2
text 534636 535564 928 0.2
Decreases (10 builds for esp32, linux)
platform target config section 2490197 e0e2bb8 change % change
esp32 all-clusters-app c3devkit .dram0.bss 57832 57824 -8 -0.0
m5stack (read only) 905215 905155 -60 -0.0
.dram0.bss 63192 63184 -8 -0.0
.flash.text 899831 899771 -60 -0.0
linux all-clusters-app debug .bss 58640 58544 -96 -0.2
.text 1476162 1475346 -816 -0.1
bridge-app debug+rpc .bss 41552 41488 -64 -0.2
.rodata 113276 113268 -8 -0.0
.text 1119269 1118757 -512 -0.0
chip-tool debug .bss 39896 39832 -64 -0.2
lighting-app debug+rpc .bss 47280 47184 -96 -0.2
.text 1333186 1332370 -816 -0.1
ota-provider-app debug .bss 44128 44064 -64 -0.1
ota-requestor-app debug .bss 46592 46528 -64 -0.1
shell debug .bss 23336 23240 -96 -0.4
tv-app debug .bss 249944 249848 -96 -0.0
.rodata 159549 159541 -8 -0.0
.text 1586930 1586418 -512 -0.0
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 2490197 e0e2bb8 change % change
efr32 lighting-app BRD4161A (read only) 752584 754792 2208 0.3
(read/write) 119764 119764 0 0.0
.bss 117956 117956 0 0.0
.data 1808 1808 0 0.0
.text 752576 754784 2208 0.3
BRD4161A+rpc (read only) 740068 742268 2200 0.3
(read/write) 136392 136392 0 0.0
.bss 134460 134460 0 0.0
.data 1932 1932 0 0.0
.text 740060 742260 2200 0.3
lock-app BRD4161A (read only) 729584 730648 1064 0.1
(read/write) 117484 117484 0 0.0
.bss 115716 115716 0 0.0
.data 1764 1764 0 0.0
.text 729576 730640 1064 0.1
window-app BRD4161A (read only) 733032 734096 1064 0.1
(read/write) 117844 117844 0 0.0
.bss 116068 116068 0 0.0
.data 1772 1772 0 0.0
.text 733024 734088 1064 0.1
esp32 all-clusters-app c3devkit (read only) 834250 834416 166 0.0
(read/write) 1222370 1222618 248 0.0
.dram0.bss 57832 57824 -8 -0.0
.dram0.data 14100 14100 0 0.0
.flash.rodata 165176 165440 264 0.2
.flash.text 834250 834416 166 0.0
.iram0.text 61394 61394 0 0.0
m5stack (read only) 905215 905155 -60 -0.0
(read/write) 421648 421904 256 0.1
.dram0.bss 63192 63184 -8 -0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 193112 193376 264 0.1
.flash.text 899831 899771 -60 -0.0
.iram0.text 122943 122943 0 0.0
k32w lighting-app k32w061+se05x+release (read/write) 708716 710268 1552 0.2
.bss 77292 77292 0 0.0
.data 1920 1920 0 0.0
.text 623704 625256 1552 0.2
lock-app k32w061+debug (read/write) 600048 600560 512 0.1
.bss 67732 67732 0 0.0
.data 1888 1888 0 0.0
.text 524628 525140 512 0.1
shell k32w061+debug (read/write) 665428 665940 512 0.1
.bss 78892 78892 0 0.0
.data 1856 1856 0 0.0
.text 578880 579392 512 0.1
linux all-clusters-app debug (read only) 1751481 1751945 464 0.0
(read/write) 128944 129360 416 0.3
.bss 58640 58544 -96 -0.2
.data 1042 1138 96 9.2
.data.rel.ro 63952 64368 416 0.7
.dynamic 592 592 0 0.0
.got 4112 4112 0 0.0
.init 27 27 0 0.0
.init_array 568 568 0 0.0
.rodata 138677 138709 32 0.0
.text 1476162 1475346 -816 -0.1
bridge-app debug+rpc (read only) 1330957 1331685 728 0.1
(read/write) 76920 77368 448 0.6
.bss 41552 41488 -64 -0.2
.data 1584 1680 96 6.1
.data.rel.ro 28752 29168 416 1.4
.dynamic 592 592 0 0.0
.got 3984 3984 0 0.0
.init 27 27 0 0.0
.init_array 416 416 0 0.0
.rodata 113276 113268 -8 -0.0
.text 1119269 1118757 -512 -0.0
chip-tool debug (read only) 5916677 5931213 14536 0.2
(read/write) 196224 196672 448 0.2
.bss 39896 39832 -64 -0.2
.data 2288 2384 96 4.2
.data.rel.ro 148480 148896 416 0.3
.dynamic 592 592 0 0.0
.got 4456 4456 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 283930 283986 56 0.0
.text 5251829 5265061 13232 0.3
lighting-app debug+rpc (read only) 1600857 1601289 432 0.0
(read/write) 110168 110616 448 0.4
.bss 47280 47184 -96 -0.2
.data 1234 1330 96 7.8
.data.rel.ro 56336 56768 432 0.8
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 544 544 0 0.0
.rodata 131633 131633 0 0.0
.text 1333186 1332370 -816 -0.1
ota-provider-app debug (read only) 1280873 1295473 14600 1.1
(read/write) 75376 75824 448 0.6
.bss 44128 44064 -64 -0.1
.data 800 880 80 10.0
.data.rel.ro 25336 25752 416 1.6
.dynamic 592 592 0 0.0
.got 4048 4048 0 0.0
.init 27 27 0 0.0
.init_array 456 456 0 0.0
.rodata 114999 115087 88 0.1
.text 1067202 1080466 13264 1.2
ota-requestor-app debug (read only) 1377457 1392057 14600 1.1
(read/write) 79240 79688 448 0.6
.bss 46592 46528 -64 -0.1
.data 864 944 80 9.3
.data.rel.ro 26664 27080 416 1.6
.dynamic 592 592 0 0.0
.got 4032 4032 0 0.0
.init 27 27 0 0.0
.init_array 480 480 0 0.0
.rodata 126408 126496 88 0.1
.text 1149586 1162850 13264 1.2
shell debug (read only) 804641 819249 14608 1.8
(read/write) 66160 66544 384 0.6
.bss 23336 23240 -96 -0.4
.data 274 338 64 23.4
.data.rel.ro 38008 38424 416 1.1
.dynamic 592 592 0 0.0
.got 3560 3560 0 0.0
.init 27 27 0 0.0
.init_array 352 352 0 0.0
.rodata 79279 79343 64 0.1
.text 620258 633554 13296 2.1
tv-app debug (read only) 1892929 1893657 728 0.0
(read/write) 319120 319536 416 0.1
.bss 249944 249848 -96 -0.0
.data 2784 2880 96 3.4
.data.rel.ro 60712 61144 432 0.7
.dynamic 592 592 0 0.0
.got 4432 4432 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 159549 159541 -8 -0.0
.text 1586930 1586418 -512 -0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2291296 2293256 1960 0.1
.bss 180380 180380 0 0.0
.data 5232 5232 0 0.0
.heap 850832 850832 0 0.0
.text 1253896 1255856 1960 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2275512 2277472 1960 0.1
.bss 172284 172284 0 0.0
.data 5584 5584 0 0.0
.heap 858576 858576 0 0.0
.text 1238112 1240072 1960 0.2
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2251312 2251792 480 0.0
.bss 171100 171100 0 0.0
.data 5576 5576 0 0.0
.heap 859768 859768 0 0.0
.text 1213912 1214392 480 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139744 1139744 0 0.0
.bss 11752 11752 0 0.0
.data 4368 4368 0 0.0
.heap 1020328 1020328 0 0.0
.text 103128 103128 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2050936 2051104 168 0.0
.bss 156280 156280 0 0.0
.data 4976 4976 0 0.0
.heap 875192 875192 0 0.0
.text 1013536 1013704 168 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 868635 870155 1520 0.2
bss 112616 112616 0 0.0
rodata 96180 96772 592 0.6
text 584192 585124 932 0.2
nrf52840dk_nrf52840+rpc (read/write) 831003 832523 1520 0.2
bss 108968 108968 0 0.0
rodata 87364 87956 592 0.7
text 558360 559292 932 0.2
nrf5340dk_nrf5340_cpuapp (read/write) 793674 795194 1520 0.2
bss 113988 113988 0 0.0
rodata 91436 92028 592 0.6
text 513660 514588 928 0.2
lock-app nrf52840dk_nrf52840 (read/write) 841755 842239 484 0.1
bss 109648 109648 0 0.0
rodata 92612 92776 164 0.2
text 564044 564368 324 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 767062 767542 480 0.1
bss 111060 111060 0 0.0
rodata 87920 88080 160 0.2
text 493604 493924 320 0.1
pigweed-app nrf52840dk_nrf52840 (read/write) 497327 497327 0 0.0
bss 51824 51824 0 0.0
rodata 45780 45780 0 0.0
text 339436 339436 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 847867 848347 480 0.1
bss 109788 109788 0 0.0
rodata 94324 94484 160 0.2
text 568228 568548 320 0.1
pump-controller-app nrf52840dk_nrf52840 (read/write) 841459 841939 480 0.1
bss 109684 109684 0 0.0
rodata 92572 92732 160 0.2
text 563664 563988 324 0.1
shell nrf52840dk_nrf52840 (read/write) 778671 778871 200 0.0
bss 109160 109160 0 0.0
rodata 73196 73300 104 0.1
text 521696 521800 104 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 693678 693894 216 0.0
bss 110144 110144 0 0.0
rodata 67840 67944 104 0.2
text 442304 442408 104 0.0
p6 all-clusters-app default (read/write) 2304824 2307056 2232 0.1
.bss 113368 113368 0 0.0
.data 2536 2536 0 0.0
.heap 917440 917440 0 0.0
.text 1263088 1265320 2232 0.2
lock-app default (read/write) 2217992 2219040 1048 0.0
.bss 100960 100960 0 0.0
.data 2408 2408 0 0.0
.heap 929976 929976 0 0.0
.text 1176256 1177304 1048 0.1
qpg lighting-app qpg6100+debug (read only) 495384 496912 1528 0.3
(read/write) 114144 114144 0 0.0
.bss 50336 50336 0 0.0
.data 1016 1016 0 0.0
.text 490064 491592 1528 0.3
lock-app qpg6100+debug (read only) 470328 470816 488 0.1
(read/write) 114140 114140 0 0.0
.bss 49208 49208 0 0.0
.data 972 972 0 0.0
.text 465008 465496 488 0.1
persistent-storage-app qpg6100+debug (read only) 105408 105408 0 0.0
(read/write) 114142 114142 0 0.0
.bss 8986 8986 0 0.0
.data 272 272 0 0.0
.text 100088 100088 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 769954 771494 1540 0.2
bss 79208 79208 0 0.0
noinit 37160 37160 0 0.0
text 534636 535564 928 0.2

@Damian-Nordic
Copy link
Contributor

@yufengwangca I'm not sure if DiagnosticDataProvider needs to be split now as it's not very big yet, however WiFi, Ethernet and Thread diagnostics are going to be big and in many devices only one type of network will be supported, so I think that splitting it instead of creating one big interface may be a good idea so that the devices don't pay much for something they don't use. Of course, I'm OK with doing it as a follow up, but just wanted to express my feelings about the usage of virtual interfaces :)

@yufengwangca
Copy link
Contributor Author

@yufengwangca I'm not sure if DiagnosticDataProvider needs to be split now as it's not very big yet, however WiFi, Ethernet and Thread diagnostics are going to be big and in many devices only one type of network will be supported, so I think that splitting it instead of creating one big interface may be a good idea so that the devices don't pay much for something they don't use. Of course, I'm OK with doing it as a follow up, but just wanted to express my feelings about the usage of virtual interfaces :)

Maybe one solution is to split it to following sub-interfaces in the follow-ups:

  1. general & software
  2. ethernet
  3. wifi
  4. thread
  5. log

@yufengwangca yufengwangca merged commit c1b032a into project-chip:master Nov 23, 2021
@yufengwangca yufengwangca deleted the pr/diagnostic/connectivity branch November 23, 2021 20:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants