Skip to content

Conversation

@kaka11chen
Copy link
Contributor

@kaka11chen kaka11chen commented Jul 22, 2025

What problem does this PR solve?

Problem Summary:

Release note

The external part is implemented according to the framework defined by the unified audit log, Doris metrics, and scanbytes and scan rows in Profile in #52232.

However,

  • Scan bytes in the external table currently represents the bytes counted by the top-level File Reader called by the scan reader layer.
  • Scan rows represents the number of scanned rows of the underlying storage. The number of scanned rows of parquet/orc does not include the number of rows of skipped page/rowgroup. Note: However, there is still a problem that jni_reader has not yet implemented the number of rows that only contain the storage to be read.

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

@hello-stephen
Copy link
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@kaka11chen
Copy link
Contributor Author

run buildall

@kaka11chen
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34151 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 0869484a3ccb5751a466129197086fdab6df1a4d, data reload: false

------ Round 1 ----------------------------------
q1	17626	5328	5094	5094
q2	1925	278	193	193
q3	10317	1299	716	716
q4	10217	1010	514	514
q5	7519	2408	2388	2388
q6	178	167	131	131
q7	915	733	608	608
q8	9307	1335	1138	1138
q9	7046	5133	5268	5133
q10	6899	2393	1974	1974
q11	479	277	258	258
q12	354	349	213	213
q13	17743	3708	3078	3078
q14	237	235	219	219
q15	549	475	475	475
q16	417	439	384	384
q17	573	876	357	357
q18	7530	7130	7130	7130
q19	1209	962	559	559
q20	343	337	219	219
q21	3898	3187	2394	2394
q22	1093	1050	976	976
Total cold run time: 106374 ms
Total hot run time: 34151 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5221	5151	5170	5151
q2	238	322	218	218
q3	2185	2698	2339	2339
q4	1357	1767	1336	1336
q5	4252	4653	4505	4505
q6	216	171	135	135
q7	2075	1975	1827	1827
q8	2667	2658	2575	2575
q9	7456	7224	7230	7224
q10	3158	3301	2816	2816
q11	596	510	523	510
q12	718	850	620	620
q13	3517	4010	3368	3368
q14	275	322	293	293
q15	549	484	477	477
q16	432	477	474	474
q17	1168	1581	1483	1483
q18	8202	7908	7581	7581
q19	813	817	886	817
q20	2016	1991	1799	1799
q21	4846	4395	4280	4280
q22	1103	1060	967	967
Total cold run time: 53060 ms
Total hot run time: 50795 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 187721 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 0869484a3ccb5751a466129197086fdab6df1a4d, data reload: false

query1	981	406	407	406
query2	6520	1839	1778	1778
query3	6740	220	216	216
query4	26694	23318	23739	23318
query5	4377	629	480	480
query6	308	228	213	213
query7	4631	511	306	306
query8	268	229	212	212
query9	8577	2877	2866	2866
query10	469	348	282	282
query11	15713	15011	14789	14789
query12	167	114	115	114
query13	1658	530	419	419
query14	8506	5859	5848	5848
query15	213	195	171	171
query16	7148	646	468	468
query17	1217	762	598	598
query18	2015	420	321	321
query19	193	191	173	173
query20	133	122	115	115
query21	215	167	104	104
query22	4263	4237	4092	4092
query23	33968	32945	32887	32887
query24	8147	2368	2386	2368
query25	537	482	403	403
query26	1240	268	159	159
query27	2737	496	350	350
query28	4348	2179	2142	2142
query29	755	578	458	458
query30	276	221	197	197
query31	913	813	751	751
query32	81	78	76	76
query33	562	369	337	337
query34	791	831	515	515
query35	774	818	744	744
query36	987	1015	888	888
query37	124	105	89	89
query38	4121	4166	4031	4031
query39	1634	1418	1405	1405
query40	222	126	120	120
query41	71	56	55	55
query42	130	108	109	108
query43	534	524	492	492
query44	1340	843	845	843
query45	178	174	165	165
query46	911	998	627	627
query47	1803	1852	1741	1741
query48	380	415	302	302
query49	727	474	384	384
query50	665	684	409	409
query51	5578	5502	5307	5307
query52	120	110	102	102
query53	235	259	183	183
query54	590	615	524	524
query55	87	85	89	85
query56	318	322	332	322
query57	1199	1218	1134	1134
query58	279	271	270	270
query59	2744	2822	2811	2811
query60	357	345	326	326
query61	141	123	120	120
query62	770	722	671	671
query63	226	195	184	184
query64	4383	996	670	670
query65	4300	4201	4227	4201
query66	1156	431	347	347
query67	15857	15893	15414	15414
query68	7913	889	555	555
query69	504	329	290	290
query70	1261	1147	1145	1145
query71	407	328	325	325
query72	5693	4890	4934	4890
query73	699	661	362	362
query74	8971	8931	8966	8931
query75	3161	3110	2631	2631
query76	3207	1175	732	732
query77	478	399	326	326
query78	9909	10071	9307	9307
query79	2071	779	584	584
query80	621	548	466	466
query81	507	257	218	218
query82	201	133	111	111
query83	256	249	236	236
query84	315	111	89	89
query85	776	372	325	325
query86	384	320	292	292
query87	4384	4456	4380	4380
query88	3357	2224	2191	2191
query89	368	309	289	289
query90	1996	228	210	210
query91	134	137	186	137
query92	88	71	71	71
query93	1893	961	626	626
query94	679	394	293	293
query95	401	318	314	314
query96	484	585	275	275
query97	2632	2702	2614	2614
query98	249	211	212	211
query99	1317	1419	1289	1289
Total cold run time: 273618 ms
Total hot run time: 187721 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.27 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 0869484a3ccb5751a466129197086fdab6df1a4d, data reload: false

query1	0.04	0.03	0.03
query2	0.08	0.04	0.05
query3	0.25	0.08	0.07
query4	1.60	0.11	0.11
query5	0.44	0.42	0.42
query6	1.16	0.66	0.67
query7	0.02	0.02	0.01
query8	0.05	0.03	0.04
query9	0.59	0.53	0.51
query10	0.58	0.58	0.57
query11	0.16	0.11	0.11
query12	0.15	0.12	0.12
query13	0.63	0.62	0.60
query14	0.82	0.84	0.80
query15	0.89	0.87	0.87
query16	0.40	0.39	0.43
query17	1.06	1.05	1.04
query18	0.21	0.20	0.20
query19	1.98	1.84	1.87
query20	0.02	0.01	0.01
query21	15.36	0.90	0.56
query22	0.76	1.21	0.74
query23	14.84	1.40	0.58
query24	7.40	1.13	0.52
query25	0.49	0.20	0.28
query26	0.59	0.16	0.13
query27	0.06	0.06	0.05
query28	10.07	0.92	0.43
query29	12.57	3.89	3.23
query30	3.08	2.98	2.97
query31	2.81	0.58	0.38
query32	3.22	0.55	0.48
query33	3.00	3.16	3.05
query34	16.04	5.44	4.83
query35	4.90	4.86	4.90
query36	0.69	0.51	0.49
query37	0.09	0.06	0.07
query38	0.05	0.04	0.04
query39	0.03	0.02	0.03
query40	0.17	0.14	0.14
query41	0.07	0.03	0.02
query42	0.04	0.02	0.03
query43	0.04	0.04	0.04
Total cold run time: 107.5 s
Total hot run time: 32.27 s

@kaka11chen
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 33935 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit d28193471e4f51f9a55e606468b008e740b5b032, data reload: false

------ Round 1 ----------------------------------
q1	17575	5250	5136	5136
q2	1933	280	189	189
q3	10343	1241	699	699
q4	10250	1003	520	520
q5	7970	2360	2335	2335
q6	179	158	127	127
q7	890	744	595	595
q8	9303	1294	1093	1093
q9	6864	5089	5058	5058
q10	6882	2358	1960	1960
q11	489	281	269	269
q12	344	352	208	208
q13	17795	3635	3155	3155
q14	226	223	214	214
q15	537	479	471	471
q16	422	425	363	363
q17	556	859	349	349
q18	7347	7289	7183	7183
q19	1317	972	550	550
q20	329	346	224	224
q21	3665	2502	2287	2287
q22	1070	1010	950	950
Total cold run time: 106286 ms
Total hot run time: 33935 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5136	5068	5102	5068
q2	245	327	226	226
q3	2153	2578	2264	2264
q4	1340	1787	1316	1316
q5	4189	4456	4528	4456
q6	197	159	124	124
q7	2019	1983	1797	1797
q8	2671	2520	2578	2520
q9	7313	7316	7289	7289
q10	3149	3275	2815	2815
q11	602	503	476	476
q12	672	757	601	601
q13	3534	3946	3384	3384
q14	280	304	271	271
q15	502	502	479	479
q16	491	502	440	440
q17	1239	1743	1343	1343
q18	7775	7779	7718	7718
q19	788	751	860	751
q20	1893	1953	1814	1814
q21	4759	4443	4266	4266
q22	1116	1029	994	994
Total cold run time: 52063 ms
Total hot run time: 50412 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186684 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit d28193471e4f51f9a55e606468b008e740b5b032, data reload: false

query1	975	377	400	377
query2	6533	1655	1643	1643
query3	6739	223	218	218
query4	26375	23489	23110	23110
query5	4335	619	498	498
query6	310	211	214	211
query7	4631	486	290	290
query8	275	223	212	212
query9	8602	2878	2859	2859
query10	472	336	297	297
query11	15613	14935	15270	14935
query12	174	115	112	112
query13	1647	518	399	399
query14	9514	5991	5905	5905
query15	206	190	166	166
query16	7615	604	443	443
query17	1198	740	592	592
query18	2019	435	316	316
query19	186	196	169	169
query20	119	116	120	116
query21	213	122	110	110
query22	4129	4233	4175	4175
query23	33957	32964	33051	32964
query24	8140	2364	2354	2354
query25	519	484	397	397
query26	1223	277	152	152
query27	2743	508	346	346
query28	4368	2157	2126	2126
query29	741	557	455	455
query30	283	213	188	188
query31	917	811	766	766
query32	78	75	70	70
query33	546	358	348	348
query34	778	832	517	517
query35	791	791	740	740
query36	962	987	904	904
query37	116	103	88	88
query38	4113	4045	4084	4045
query39	1490	1390	1410	1390
query40	221	124	112	112
query41	57	55	53	53
query42	116	107	110	107
query43	502	485	482	482
query44	1310	839	857	839
query45	173	173	167	167
query46	833	1006	623	623
query47	1790	1795	1749	1749
query48	390	424	308	308
query49	715	471	378	378
query50	631	695	413	413
query51	5367	5389	5408	5389
query52	113	104	100	100
query53	232	256	185	185
query54	590	603	517	517
query55	86	86	81	81
query56	320	306	298	298
query57	1148	1186	1156	1156
query58	270	267	268	267
query59	2525	2616	2448	2448
query60	336	332	325	325
query61	122	124	126	124
query62	814	710	663	663
query63	218	194	190	190
query64	4321	1001	699	699
query65	4299	4191	4169	4169
query66	1101	423	356	356
query67	15869	15843	15349	15349
query68	8453	898	558	558
query69	467	320	280	280
query70	1244	1151	1135	1135
query71	480	324	306	306
query72	5505	4688	4594	4594
query73	717	559	348	348
query74	9012	9090	8821	8821
query75	3788	3100	2653	2653
query76	3615	1188	717	717
query77	805	398	323	323
query78	10093	10131	9231	9231
query79	2834	808	596	596
query80	653	530	473	473
query81	460	285	216	216
query82	456	137	102	102
query83	283	253	241	241
query84	293	96	83	83
query85	767	352	330	330
query86	339	323	301	301
query87	4426	4344	4279	4279
query88	3023	2217	2228	2217
query89	419	308	282	282
query90	1932	219	219	219
query91	143	142	112	112
query92	88	69	66	66
query93	1317	952	618	618
query94	684	389	298	298
query95	395	316	306	306
query96	480	586	273	273
query97	2695	2719	2647	2647
query98	231	214	215	214
query99	1504	1406	1295	1295
Total cold run time: 275715 ms
Total hot run time: 186684 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.6 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit d28193471e4f51f9a55e606468b008e740b5b032, data reload: false

query1	0.04	0.03	0.03
query2	0.07	0.04	0.04
query3	0.25	0.08	0.07
query4	1.61	0.10	0.11
query5	0.41	0.41	0.41
query6	1.18	0.67	0.68
query7	0.02	0.02	0.02
query8	0.05	0.03	0.04
query9	0.59	0.52	0.50
query10	0.58	0.57	0.57
query11	0.16	0.11	0.11
query12	0.15	0.11	0.12
query13	0.62	0.62	0.61
query14	0.80	0.82	0.83
query15	0.88	0.85	0.86
query16	0.38	0.38	0.39
query17	1.03	1.04	1.08
query18	0.21	0.20	0.19
query19	1.91	1.86	1.87
query20	0.01	0.02	0.01
query21	15.40	0.86	0.55
query22	0.79	1.29	0.78
query23	14.75	1.37	0.61
query24	6.29	1.74	0.83
query25	0.50	0.16	0.12
query26	0.63	0.16	0.15
query27	0.06	0.06	0.05
query28	9.56	0.90	0.42
query29	12.55	3.92	3.30
query30	3.10	3.05	3.00
query31	2.82	0.57	0.37
query32	3.23	0.55	0.50
query33	3.09	3.11	3.04
query34	16.00	5.40	4.82
query35	4.82	4.89	4.83
query36	0.66	0.52	0.49
query37	0.09	0.06	0.07
query38	0.06	0.04	0.04
query39	0.03	0.02	0.02
query40	0.16	0.14	0.14
query41	0.08	0.02	0.03
query42	0.03	0.03	0.02
query43	0.04	0.03	0.02
Total cold run time: 105.69 s
Total hot run time: 32.6 s

@kaka11chen
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 33933 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 5344e8526dbb2c8717bdea4826d46e26bda9288b, data reload: false

------ Round 1 ----------------------------------
q1	17620	5179	5146	5146
q2	1945	287	174	174
q3	10299	1266	706	706
q4	10265	987	511	511
q5	8295	2409	2335	2335
q6	217	158	129	129
q7	930	740	612	612
q8	9310	1298	1090	1090
q9	7459	5039	5146	5039
q10	6945	2375	1981	1981
q11	491	283	268	268
q12	357	362	217	217
q13	17802	3749	3133	3133
q14	224	227	217	217
q15	567	484	480	480
q16	415	432	365	365
q17	595	853	358	358
q18	7550	7156	7097	7097
q19	1362	934	559	559
q20	344	337	218	218
q21	4168	3230	2360	2360
q22	1065	998	938	938
Total cold run time: 108225 ms
Total hot run time: 33933 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5222	5265	5126	5126
q2	243	327	217	217
q3	2198	2711	2274	2274
q4	1393	1815	1376	1376
q5	4463	4479	4500	4479
q6	212	173	133	133
q7	2039	1991	1814	1814
q8	2681	2679	2609	2609
q9	7278	7264	7300	7264
q10	3072	3354	2859	2859
q11	561	500	495	495
q12	707	795	630	630
q13	3712	4001	3523	3523
q14	296	302	269	269
q15	525	479	571	479
q16	460	504	455	455
q17	1186	1604	1391	1391
q18	7863	7753	7228	7228
q19	759	760	760	760
q20	1926	1972	1829	1829
q21	4834	4344	4238	4238
q22	1079	1035	1004	1004
Total cold run time: 52709 ms
Total hot run time: 50452 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 187717 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 5344e8526dbb2c8717bdea4826d46e26bda9288b, data reload: false

query1	992	377	399	377
query2	6526	1736	1772	1736
query3	6746	227	224	224
query4	26273	23393	22794	22794
query5	4415	621	499	499
query6	331	219	205	205
query7	4625	519	290	290
query8	281	221	224	221
query9	8589	2834	2842	2834
query10	483	319	286	286
query11	15849	15144	14919	14919
query12	166	113	116	113
query13	1665	524	396	396
query14	9550	5869	5884	5869
query15	206	191	176	176
query16	7657	623	460	460
query17	1232	726	596	596
query18	2040	427	313	313
query19	208	202	225	202
query20	121	120	115	115
query21	214	122	104	104
query22	4200	4319	4229	4229
query23	34107	33146	32975	32975
query24	8105	2377	2391	2377
query25	526	461	403	403
query26	1219	271	157	157
query27	2691	496	338	338
query28	4301	2161	2148	2148
query29	727	557	446	446
query30	283	216	192	192
query31	927	812	765	765
query32	82	86	73	73
query33	543	365	339	339
query34	797	832	512	512
query35	789	812	765	765
query36	985	1015	922	922
query37	124	105	85	85
query38	4103	4077	4175	4077
query39	1466	1398	1411	1398
query40	221	123	110	110
query41	61	59	54	54
query42	120	110	111	110
query43	497	498	471	471
query44	1326	836	832	832
query45	175	173	165	165
query46	835	1002	623	623
query47	1804	1847	1782	1782
query48	377	425	317	317
query49	724	475	382	382
query50	633	692	430	430
query51	5453	5607	5518	5518
query52	115	111	99	99
query53	236	260	191	191
query54	595	574	544	544
query55	86	87	92	87
query56	310	333	322	322
query57	1190	1186	1159	1159
query58	286	281	264	264
query59	2587	2777	2643	2643
query60	346	337	324	324
query61	128	125	121	121
query62	773	722	667	667
query63	234	191	190	190
query64	4276	994	789	789
query65	4280	4193	4198	4193
query66	1086	419	369	369
query67	15641	15642	15361	15361
query68	8930	891	548	548
query69	483	302	282	282
query70	1261	1119	1134	1119
query71	448	326	303	303
query72	5621	4802	4871	4802
query73	759	659	353	353
query74	8839	9149	9004	9004
query75	4160	3115	2577	2577
query76	3633	1134	729	729
query77	810	373	340	340
query78	9967	10120	9342	9342
query79	1605	816	565	565
query80	616	539	465	465
query81	467	261	225	225
query82	404	141	108	108
query83	280	284	248	248
query84	303	111	81	81
query85	798	355	330	330
query86	341	324	310	310
query87	4373	4429	4313	4313
query88	2856	2274	2266	2266
query89	382	310	291	291
query90	1931	227	223	223
query91	140	150	113	113
query92	88	70	67	67
query93	1125	975	621	621
query94	685	425	301	301
query95	396	314	309	309
query96	478	591	279	279
query97	2716	2730	2645	2645
query98	251	217	227	217
query99	1413	1395	1294	1294
Total cold run time: 275098 ms
Total hot run time: 187717 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.23 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 5344e8526dbb2c8717bdea4826d46e26bda9288b, data reload: false

query1	0.05	0.03	0.04
query2	0.09	0.04	0.04
query3	0.24	0.08	0.07
query4	1.63	0.11	0.11
query5	0.44	0.39	0.40
query6	1.17	0.67	0.66
query7	0.03	0.02	0.02
query8	0.05	0.04	0.04
query9	0.58	0.52	0.52
query10	0.58	0.58	0.56
query11	0.15	0.11	0.11
query12	0.15	0.11	0.11
query13	0.62	0.61	0.62
query14	0.80	0.82	0.83
query15	0.90	0.87	0.88
query16	0.38	0.38	0.38
query17	1.02	1.02	1.04
query18	0.21	0.20	0.20
query19	1.96	1.79	1.79
query20	0.01	0.01	0.01
query21	15.41	0.93	0.55
query22	0.81	1.15	0.76
query23	14.80	1.41	0.63
query24	6.75	0.82	0.41
query25	0.54	0.26	0.17
query26	0.61	0.17	0.14
query27	0.06	0.06	0.05
query28	9.84	0.96	0.42
query29	12.62	3.89	3.29
query30	3.12	3.03	3.00
query31	2.81	0.60	0.38
query32	3.24	0.57	0.47
query33	3.13	3.30	3.10
query34	15.70	5.46	4.82
query35	4.86	4.86	4.90
query36	0.66	0.51	0.49
query37	0.09	0.06	0.07
query38	0.06	0.04	0.04
query39	0.03	0.02	0.03
query40	0.17	0.15	0.14
query41	0.08	0.02	0.03
query42	0.04	0.03	0.02
query43	0.04	0.03	0.03
Total cold run time: 106.53 s
Total hot run time: 32.23 s

@kaka11chen
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34243 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 6e496f5328aa3b94e07e3fb663d8e57ca17930ed, data reload: false

------ Round 1 ----------------------------------
q1	17613	5216	5104	5104
q2	1935	287	199	199
q3	10280	1294	708	708
q4	10222	1006	535	535
q5	7575	2495	2309	2309
q6	177	159	130	130
q7	893	765	602	602
q8	9298	1337	1164	1164
q9	7039	5140	5192	5140
q10	6890	2411	1993	1993
q11	473	293	275	275
q12	344	357	216	216
q13	17781	3711	3109	3109
q14	223	225	218	218
q15	567	483	489	483
q16	415	432	379	379
q17	618	876	371	371
q18	7549	7154	7202	7154
q19	1231	944	569	569
q20	358	348	226	226
q21	3918	3203	2369	2369
q22	1067	1037	990	990
Total cold run time: 106466 ms
Total hot run time: 34243 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5155	5116	5135	5116
q2	249	325	228	228
q3	2176	2674	2333	2333
q4	1395	1811	1350	1350
q5	4290	4594	4467	4467
q6	217	177	135	135
q7	2055	1955	1815	1815
q8	2722	2443	2560	2443
q9	7299	7426	7210	7210
q10	3230	3277	2883	2883
q11	590	601	501	501
q12	670	780	663	663
q13	3619	4162	3314	3314
q14	280	303	282	282
q15	532	471	482	471
q16	439	490	436	436
q17	1433	1556	1379	1379
q18	7852	7622	7489	7489
q19	837	844	812	812
q20	2092	2056	1933	1933
q21	4877	4408	4298	4298
q22	1075	1011	1012	1011
Total cold run time: 53084 ms
Total hot run time: 50569 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 188116 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 6e496f5328aa3b94e07e3fb663d8e57ca17930ed, data reload: false

query1	1009	384	404	384
query2	6525	1677	1668	1668
query3	6749	222	228	222
query4	26541	24127	23479	23479
query5	4374	626	501	501
query6	309	210	212	210
query7	4635	513	301	301
query8	284	230	222	222
query9	8608	2946	2910	2910
query10	486	340	296	296
query11	15948	15143	14821	14821
query12	159	113	115	113
query13	1639	535	409	409
query14	8657	5902	5897	5897
query15	213	186	163	163
query16	7129	641	433	433
query17	924	711	577	577
query18	1982	434	313	313
query19	191	189	165	165
query20	130	119	112	112
query21	208	120	109	109
query22	4008	4167	3962	3962
query23	34038	33087	32988	32988
query24	8181	2409	2413	2409
query25	583	514	446	446
query26	1243	274	166	166
query27	2743	510	355	355
query28	4410	2274	2268	2268
query29	808	619	474	474
query30	277	223	188	188
query31	908	824	762	762
query32	87	83	76	76
query33	579	395	347	347
query34	791	846	529	529
query35	821	841	744	744
query36	972	1017	949	949
query37	126	111	89	89
query38	4186	4068	4085	4068
query39	1488	1428	1422	1422
query40	234	135	139	135
query41	70	65	60	60
query42	130	112	115	112
query43	520	506	461	461
query44	1389	886	875	875
query45	174	175	167	167
query46	870	1056	641	641
query47	1756	1773	1744	1744
query48	399	437	319	319
query49	717	479	376	376
query50	651	681	417	417
query51	5609	5526	5490	5490
query52	113	115	101	101
query53	236	275	199	199
query54	600	616	534	534
query55	87	84	89	84
query56	316	311	296	296
query57	1236	1183	1117	1117
query58	283	274	272	272
query59	2592	2725	2458	2458
query60	337	341	327	327
query61	134	127	126	126
query62	787	710	657	657
query63	224	194	191	191
query64	4312	1005	691	691
query65	4269	4216	4215	4215
query66	1209	423	334	334
query67	15723	15754	15558	15558
query68	8929	937	585	585
query69	493	314	332	314
query70	1247	1155	1083	1083
query71	461	326	309	309
query72	5719	4800	4892	4800
query73	760	678	360	360
query74	9015	9054	8774	8774
query75	4179	3132	2675	2675
query76	3644	1132	743	743
query77	854	402	323	323
query78	10030	10128	9280	9280
query79	3614	826	589	589
query80	667	567	481	481
query81	478	260	218	218
query82	547	145	106	106
query83	294	254	242	242
query84	362	108	89	89
query85	799	367	337	337
query86	345	301	308	301
query87	4371	4314	4365	4314
query88	2926	2283	2278	2278
query89	448	312	293	293
query90	1927	232	225	225
query91	140	142	112	112
query92	93	69	66	66
query93	2130	1011	636	636
query94	677	408	302	302
query95	402	315	321	315
query96	501	616	284	284
query97	2701	2746	2693	2693
query98	238	215	209	209
query99	1433	1387	1276	1276
Total cold run time: 278350 ms
Total hot run time: 188116 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.96 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 6e496f5328aa3b94e07e3fb663d8e57ca17930ed, data reload: false

query1	0.05	0.04	0.04
query2	0.08	0.05	0.05
query3	0.26	0.07	0.07
query4	1.62	0.11	0.11
query5	0.46	0.42	0.41
query6	1.19	0.65	0.66
query7	0.03	0.02	0.01
query8	0.05	0.03	0.03
query9	0.59	0.52	0.51
query10	0.58	0.57	0.57
query11	0.16	0.11	0.11
query12	0.15	0.12	0.12
query13	0.63	0.62	0.60
query14	0.80	0.82	0.86
query15	0.89	0.86	0.86
query16	0.41	0.39	0.40
query17	1.07	1.07	1.04
query18	0.21	0.21	0.19
query19	1.93	1.91	1.82
query20	0.02	0.01	0.01
query21	15.38	0.90	0.54
query22	0.79	1.28	0.95
query23	14.79	1.39	0.65
query24	7.09	1.28	0.89
query25	0.54	0.24	0.08
query26	0.52	0.16	0.16
query27	0.07	0.06	0.05
query28	10.34	0.93	0.42
query29	12.57	3.98	3.34
query30	3.02	3.05	2.96
query31	2.82	0.59	0.38
query32	3.24	0.56	0.48
query33	3.02	3.09	3.25
query34	16.07	5.46	4.81
query35	4.82	4.91	4.94
query36	0.69	0.51	0.49
query37	0.10	0.07	0.07
query38	0.06	0.04	0.04
query39	0.03	0.03	0.03
query40	0.17	0.15	0.14
query41	0.08	0.03	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 107.46 s
Total hot run time: 32.96 s

@kaka11chen
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 33661 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 94534005b03098d98f2e7ad69916f3193dc694e3, data reload: false

------ Round 1 ----------------------------------
q1	17590	5254	5050	5050
q2	1923	279	170	170
q3	10329	1273	691	691
q4	10208	1013	504	504
q5	7475	2409	2279	2279
q6	171	155	127	127
q7	882	730	611	611
q8	9296	1259	1094	1094
q9	7089	5088	5048	5048
q10	6863	2375	1968	1968
q11	470	285	269	269
q12	345	341	213	213
q13	17792	3686	3055	3055
q14	220	238	217	217
q15	536	472	478	472
q16	431	433	365	365
q17	582	872	396	396
q18	7486	7101	7232	7101
q19	1203	956	543	543
q20	343	327	218	218
q21	4176	2612	2303	2303
q22	1029	1038	967	967
Total cold run time: 106439 ms
Total hot run time: 33661 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5091	5064	5059	5059
q2	231	328	217	217
q3	2179	2664	2290	2290
q4	1337	1764	1302	1302
q5	4231	4374	4497	4374
q6	222	171	131	131
q7	2071	1925	1782	1782
q8	2652	2538	2568	2538
q9	7319	7322	7218	7218
q10	3110	3262	2852	2852
q11	575	485	520	485
q12	732	782	638	638
q13	3608	3964	3377	3377
q14	292	294	272	272
q15	600	506	473	473
q16	432	507	434	434
q17	1190	1703	1428	1428
q18	7861	7631	7648	7631
q19	806	760	811	760
q20	2007	1937	1792	1792
q21	4669	4371	4174	4174
q22	1081	1042	996	996
Total cold run time: 52296 ms
Total hot run time: 50223 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 187681 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 94534005b03098d98f2e7ad69916f3193dc694e3, data reload: false

query1	1006	388	416	388
query2	6524	1764	1792	1764
query3	6756	221	222	221
query4	26566	23181	23444	23181
query5	4335	593	488	488
query6	312	219	201	201
query7	4634	484	295	295
query8	279	231	218	218
query9	8565	2874	2881	2874
query10	484	327	272	272
query11	16031	14898	14939	14898
query12	159	110	111	110
query13	1644	526	417	417
query14	9309	5811	5880	5811
query15	201	179	159	159
query16	7326	587	450	450
query17	1172	709	570	570
query18	2011	400	304	304
query19	183	185	154	154
query20	125	116	114	114
query21	206	122	104	104
query22	4087	4298	4130	4130
query23	33724	32880	32812	32812
query24	8081	2384	2387	2384
query25	540	472	404	404
query26	1236	292	159	159
query27	2729	500	342	342
query28	4363	2236	2222	2222
query29	754	546	472	472
query30	282	215	190	190
query31	939	835	738	738
query32	78	78	72	72
query33	558	363	326	326
query34	790	863	511	511
query35	804	806	754	754
query36	953	981	885	885
query37	120	109	89	89
query38	4102	4198	4062	4062
query39	1481	1394	1448	1394
query40	219	132	119	119
query41	69	66	60	60
query42	123	113	111	111
query43	494	499	476	476
query44	1340	874	866	866
query45	180	171	171	171
query46	862	1031	637	637
query47	1804	1873	1742	1742
query48	389	424	324	324
query49	723	481	404	404
query50	647	703	408	408
query51	5452	5537	5432	5432
query52	118	111	108	108
query53	232	260	193	193
query54	600	615	541	541
query55	88	93	90	90
query56	355	333	317	317
query57	1222	1180	1141	1141
query58	276	266	267	266
query59	2697	2727	2695	2695
query60	340	338	329	329
query61	132	125	124	124
query62	816	706	682	682
query63	221	184	185	184
query64	4399	1054	750	750
query65	4236	4146	4138	4138
query66	1148	414	334	334
query67	15632	15508	15485	15485
query68	8019	904	585	585
query69	480	318	286	286
query70	1196	1117	1172	1117
query71	484	327	308	308
query72	5703	4804	4932	4804
query73	707	636	355	355
query74	9022	9092	8835	8835
query75	3808	3073	2640	2640
query76	3687	1127	732	732
query77	789	390	377	377
query78	10046	10027	9322	9322
query79	2460	833	603	603
query80	609	548	473	473
query81	471	257	229	229
query82	465	141	109	109
query83	286	256	234	234
query84	294	109	79	79
query85	790	368	324	324
query86	342	312	269	269
query87	4435	4467	4342	4342
query88	3322	2324	2261	2261
query89	383	313	287	287
query90	1975	215	215	215
query91	140	136	112	112
query92	82	70	66	66
query93	1712	979	648	648
query94	676	384	318	318
query95	396	318	309	309
query96	492	577	281	281
query97	2675	2722	2608	2608
query98	245	215	214	214
query99	1440	1429	1273	1273
Total cold run time: 275894 ms
Total hot run time: 187681 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.58 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 94534005b03098d98f2e7ad69916f3193dc694e3, data reload: false

query1	0.05	0.03	0.03
query2	0.08	0.04	0.04
query3	0.25	0.07	0.07
query4	1.65	0.11	0.10
query5	0.42	0.42	0.41
query6	1.16	0.65	0.66
query7	0.02	0.02	0.02
query8	0.04	0.04	0.03
query9	0.59	0.55	0.50
query10	0.57	0.56	0.56
query11	0.16	0.11	0.11
query12	0.14	0.11	0.12
query13	0.62	0.62	0.61
query14	0.81	0.83	0.82
query15	0.88	0.86	0.87
query16	0.38	0.39	0.40
query17	1.05	1.04	1.05
query18	0.20	0.19	0.20
query19	1.94	1.86	1.84
query20	0.01	0.01	0.01
query21	15.41	0.90	0.56
query22	0.79	1.16	0.74
query23	14.87	1.38	0.61
query24	6.89	2.00	0.90
query25	0.51	0.12	0.10
query26	0.62	0.16	0.14
query27	0.06	0.05	0.05
query28	9.50	0.90	0.42
query29	12.56	3.95	3.28
query30	3.06	3.02	2.99
query31	2.83	0.57	0.38
query32	3.23	0.54	0.48
query33	3.11	3.10	3.05
query34	15.99	5.45	4.79
query35	4.84	4.91	4.87
query36	0.68	0.51	0.49
query37	0.10	0.06	0.08
query38	0.05	0.04	0.04
query39	0.03	0.03	0.03
query40	0.17	0.14	0.14
query41	0.07	0.02	0.03
query42	0.03	0.03	0.02
query43	0.04	0.03	0.03
Total cold run time: 106.46 s
Total hot run time: 32.58 s

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 38.16% (58/152) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 57.47% (15929/27716)
Line Coverage 46.27% (143037/309166)
Region Coverage 35.75% (107784/301482)
Branch Coverage 38.24% (47543/124337)

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the scan bytes metric tracking in file scanners by implementing a unified framework for metrics collection across different file formats (Parquet, ORC, JSON, CSV, Arrow). The enhancement focuses on providing more accurate metrics for bytes read and rows scanned at the file reader level.

  • Introduces a new TracingFileReader wrapper that tracks file read operations
  • Adds FileReaderStats structure to capture read metrics consistently across file formats
  • Updates file scanners to use the new metrics tracking through the update_realtime_counters() method

Reviewed Changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
contrib/apache-orc Updates ORC submodule commit reference
be/src/io/io_common.h Adds FileReaderStats structure and integrates it into IOContext
be/src/io/fs/tracing_file_reader.h Implements new TracingFileReader wrapper for metrics collection
be/src/vec/exec/scan/file_scanner.h Adds metrics counters and update_realtime_counters() method
be/src/vec/exec/scan/file_scanner.cpp Implements metrics tracking logic and counter updates
be/src/vec/exec/format/parquet/vparquet_reader.h Updates Parquet reader to support new metrics framework
be/src/vec/exec/format/parquet/vparquet_reader.cpp Integrates TracingFileReader for Parquet format
be/src/vec/exec/format/orc/vorc_reader.h Updates ORC reader structure for new metrics
be/src/vec/exec/format/orc/vorc_reader.cpp Integrates TracingFileReader for ORC format
be/src/vec/exec/format/json/new_json_reader.cpp Adds TracingFileReader wrapper for JSON format
be/src/vec/exec/format/csv/csv_reader.cpp Integrates metrics tracking for CSV format
be/src/vec/exec/format/arrow/arrow_stream_reader.cpp Adds metrics support for Arrow format
be/src/vec/exec/scan/olap_scanner.cpp Updates metrics collection logic for OLAP scanner

_state->get_query_ctx()
->resource_ctx()
->io_context()
->update_scan_bytes_from_remote_storage(_file_reader_stats->read_bytes);
Copy link

Copilot AI Jul 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When file cache statistics show no local or remote reads, the code incorrectly updates remote storage bytes with total read bytes. This should update local storage bytes since the comment indicates 'In case of no cache, we still need to update the IO stats'.

Suggested change
->update_scan_bytes_from_remote_storage(_file_reader_stats->read_bytes);
->update_scan_bytes_from_local_storage(_file_reader_stats->read_bytes);

Copilot uses AI. Check for mistakes.
->resource_ctx()
->io_context()
->update_scan_bytes_from_remote_storage(_file_reader_stats->read_bytes);
DorisMetrics::instance()->query_scan_bytes_from_local->increment(
Copy link

Copilot AI Jul 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent metrics reporting: the code updates remote storage bytes in the IOContext but increments local bytes in DorisMetrics when there's no cache. Both should be consistent - either local or remote.

Suggested change
DorisMetrics::instance()->query_scan_bytes_from_local->increment(
DorisMetrics::instance()->query_scan_bytes_from_remote->increment(

Copilot uses AI. Check for mistakes.
Comment on lines 2813 to 2814
getName(),
std::make_shared<io::TracingFileReader>(_file_reader, _io_ctx->file_reader_stats),
Copy link

Copilot AI Jul 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code creates a StripeStreamInputStream with the wrong number of parameters. The constructor expects (file_name, file_reader, io_ctx, profile) but is being called with (getName(), tracing_file_reader, _io_ctx, _profile) where getName() should be the first parameter, not a separate line.

Suggested change
getName(),
std::make_shared<io::TracingFileReader>(_file_reader, _io_ctx->file_reader_stats),
getName(), std::make_shared<io::TracingFileReader>(_file_reader, _io_ctx->file_reader_stats),

Copilot uses AI. Check for mistakes.
@kaka11chen
Copy link
Contributor Author

run buildall

@kaka11chen
Copy link
Contributor Author

run buildall

@kaka11chen
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-H: Total hot run time: 34288 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 05046b798e3ec0e954cf7d626f22923127a96989, data reload: false

------ Round 1 ----------------------------------
q1	17609	5229	5116	5116
q2	1941	287	176	176
q3	10300	1337	720	720
q4	10227	1041	546	546
q5	7534	2502	2314	2314
q6	190	160	128	128
q7	908	737	598	598
q8	9308	1385	1117	1117
q9	7441	5165	5153	5153
q10	6897	2390	1967	1967
q11	475	288	282	282
q12	344	353	216	216
q13	17789	3764	3162	3162
q14	233	229	214	214
q15	544	478	465	465
q16	437	429	386	386
q17	597	878	360	360
q18	7479	7255	7255	7255
q19	1712	961	573	573
q20	339	337	215	215
q21	4168	3193	2351	2351
q22	1057	1060	974	974
Total cold run time: 107529 ms
Total hot run time: 34288 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5262	5196	5122	5122
q2	244	327	214	214
q3	2212	2682	2343	2343
q4	1356	1786	1317	1317
q5	4493	4552	4449	4449
q6	220	169	127	127
q7	2132	1945	1865	1865
q8	2642	2682	2584	2584
q9	7453	7319	7388	7319
q10	3094	3326	2853	2853
q11	605	517	500	500
q12	734	792	603	603
q13	3556	3986	3415	3415
q14	309	316	277	277
q15	523	467	469	467
q16	452	498	465	465
q17	1194	1557	1374	1374
q18	7955	8007	7480	7480
q19	817	805	858	805
q20	1897	1933	1795	1795
q21	4729	4315	4301	4301
q22	1058	1035	979	979
Total cold run time: 52937 ms
Total hot run time: 50654 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 188020 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 05046b798e3ec0e954cf7d626f22923127a96989, data reload: false

query1	987	393	406	393
query2	6553	1711	1720	1711
query3	6738	223	220	220
query4	26455	23379	23270	23270
query5	4371	638	477	477
query6	314	222	210	210
query7	4632	496	293	293
query8	275	233	222	222
query9	8584	2896	2909	2896
query10	444	375	288	288
query11	15426	15027	14840	14840
query12	176	113	121	113
query13	1651	552	422	422
query14	8539	5973	5905	5905
query15	208	192	169	169
query16	7624	634	475	475
query17	1187	722	575	575
query18	2024	407	323	323
query19	187	185	154	154
query20	128	117	118	117
query21	214	119	103	103
query22	4082	4221	4215	4215
query23	33870	32907	33154	32907
query24	8119	2372	2381	2372
query25	527	475	422	422
query26	1235	269	158	158
query27	2756	513	353	353
query28	4339	2259	2213	2213
query29	737	567	445	445
query30	286	218	196	196
query31	900	816	768	768
query32	83	75	73	73
query33	556	374	332	332
query34	790	849	507	507
query35	819	817	746	746
query36	963	995	919	919
query37	126	101	88	88
query38	4165	4150	4112	4112
query39	1480	1442	1417	1417
query40	225	125	112	112
query41	61	58	53	53
query42	124	109	117	109
query43	516	494	461	461
query44	1355	870	861	861
query45	176	169	166	166
query46	895	1021	645	645
query47	1796	1885	1764	1764
query48	409	427	317	317
query49	721	510	382	382
query50	636	695	412	412
query51	5426	5484	5394	5394
query52	113	108	100	100
query53	226	262	194	194
query54	607	604	535	535
query55	89	89	84	84
query56	316	314	302	302
query57	1181	1209	1151	1151
query58	282	272	275	272
query59	2550	2676	2660	2660
query60	350	333	344	333
query61	124	120	124	120
query62	828	731	683	683
query63	225	196	194	194
query64	4300	1019	679	679
query65	4257	4182	4159	4159
query66	1136	468	361	361
query67	16009	15470	15424	15424
query68	7943	926	599	599
query69	483	315	282	282
query70	1262	1205	1110	1110
query71	425	332	311	311
query72	5575	4839	4786	4786
query73	685	646	361	361
query74	9363	9155	8855	8855
query75	3366	3087	2623	2623
query76	3286	1214	747	747
query77	718	392	327	327
query78	9878	9953	9261	9261
query79	2143	825	614	614
query80	598	536	545	536
query81	496	259	219	219
query82	199	132	103	103
query83	258	257	240	240
query84	247	119	83	83
query85	756	372	333	333
query86	376	314	321	314
query87	4461	4642	4277	4277
query88	3570	2277	2270	2270
query89	378	328	283	283
query90	2026	227	219	219
query91	151	158	109	109
query92	86	71	67	67
query93	1894	1031	645	645
query94	674	411	301	301
query95	393	310	310	310
query96	497	576	279	279
query97	2621	2718	2707	2707
query98	235	212	212	212
query99	1327	1414	1291	1291
Total cold run time: 273853 ms
Total hot run time: 188020 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 32.62 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 05046b798e3ec0e954cf7d626f22923127a96989, data reload: false

query1	0.04	0.04	0.03
query2	0.08	0.05	0.05
query3	0.25	0.08	0.07
query4	1.61	0.11	0.11
query5	0.42	0.41	0.40
query6	1.13	0.65	0.66
query7	0.03	0.02	0.02
query8	0.05	0.04	0.04
query9	0.60	0.52	0.53
query10	0.59	0.58	0.58
query11	0.15	0.11	0.11
query12	0.15	0.12	0.11
query13	0.63	0.62	0.60
query14	0.80	0.82	0.84
query15	0.88	0.86	0.89
query16	0.38	0.40	0.42
query17	1.05	1.04	1.05
query18	0.22	0.20	0.19
query19	1.88	1.84	1.83
query20	0.02	0.01	0.02
query21	15.38	0.93	0.53
query22	0.75	1.14	0.75
query23	14.92	1.40	0.65
query24	7.32	1.14	0.82
query25	0.51	0.18	0.07
query26	0.62	0.17	0.14
query27	0.05	0.05	0.05
query28	9.32	0.96	0.43
query29	12.78	3.94	3.29
query30	3.03	3.00	2.99
query31	2.81	0.59	0.37
query32	3.24	0.54	0.46
query33	3.03	3.08	3.11
query34	15.85	5.41	4.81
query35	4.88	4.88	4.88
query36	0.68	0.52	0.50
query37	0.10	0.07	0.06
query38	0.06	0.04	0.04
query39	0.03	0.03	0.03
query40	0.18	0.14	0.14
query41	0.08	0.03	0.03
query42	0.03	0.03	0.02
query43	0.04	0.04	0.04
Total cold run time: 106.65 s
Total hot run time: 32.62 s

@doris-robot
Copy link

BE UT Coverage Report

Increment line coverage 36.93% (65/176) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 57.56% (15950/27710)
Line Coverage 46.35% (143370/309319)
Region Coverage 35.78% (107980/301792)
Branch Coverage 38.32% (47687/124436)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 84.09% (148/176) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 81.29% (22112/27201)
Line Coverage 73.94% (228332/308806)
Region Coverage 61.35% (189881/309518)
Branch Coverage 65.26% (82110/125826)

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Jul 28, 2025
@github-actions
Copy link
Contributor

PR approved by at least one committer and no changes requested.

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

Copy link
Contributor

@dataroaring dataroaring left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@morningman morningman merged commit 7493cce into apache:master Jul 28, 2025
30 of 36 checks passed
kaka11chen added a commit to kaka11chen/doris that referenced this pull request Aug 1, 2025
…pache#53729)

Problem Summary:

The external part is implemented according to the framework defined by
the unified audit log, Doris metrics, and scanbytes and scan rows in
Profile in apache#52232.

However,
- Scan bytes in the external table currently represents the bytes
counted by **the top-level File Reader** called by the scan reader
layer.
- Scan rows represents the number of scanned rows of the underlying
storage. The number of scanned rows of parquet/orc does not include the
number of rows of skipped page/rowgroup. **Note: However, there is still
a problem that `jni_reader` has not yet implemented the number of rows
that only contain the storage to be read.**
kaka11chen added a commit to kaka11chen/doris that referenced this pull request Aug 1, 2025
…pache#53729)

Problem Summary:

The external part is implemented according to the framework defined by
the unified audit log, Doris metrics, and scanbytes and scan rows in
Profile in apache#52232.

However,
- Scan bytes in the external table currently represents the bytes
counted by **the top-level File Reader** called by the scan reader
layer.
- Scan rows represents the number of scanned rows of the underlying
storage. The number of scanned rows of parquet/orc does not include the
number of rows of skipped page/rowgroup. **Note: However, there is still
a problem that `jni_reader` has not yet implemented the number of rows
that only contain the storage to be read.**
morrySnow pushed a commit that referenced this pull request Aug 4, 2025
zhiqiang-hhhh pushed a commit to zhiqiang-hhhh/doris that referenced this pull request Aug 4, 2025
…pache#53729)

### What problem does this PR solve?

Problem Summary:

### Release note

The external part is implemented according to the framework defined by
the unified audit log, Doris metrics, and scanbytes and scan rows in
Profile in apache#52232.

However,
- Scan bytes in the external table currently represents the bytes
counted by **the top-level File Reader** called by the scan reader
layer.
- Scan rows represents the number of scanned rows of the underlying
storage. The number of scanned rows of parquet/orc does not include the
number of rows of skipped page/rowgroup. **Note: However, there is still
a problem that `jni_reader` has not yet implemented the number of rows
that only contain the storage to be read.**
morningman pushed a commit that referenced this pull request Sep 1, 2025
…55346)

### What problem does this PR solve?

Related PR: #53729

Problem Summary:

runtime error: member access within null pointer of type
'FileReaderStats' in `TracingFileReader`
```
/home/zcp/repo_center/doris_branch-3.1/doris/be/src/io/fs/tracing_file_reader.h:34:9: runtime error: member access within null pointer of type 'FileReaderStats'
    #0 0x55c028481ace in doris::io::TracingFileReader::read_at_impl(unsigned long, doris::Slice, unsigned long*, doris::io::IOContext const*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/io/fs/tracing_file_reader.h:34:9
    #1 0x55c00922a1f7 in doris::io::FileReader::read_at(unsigned long, doris::Slice, unsigned long*, doris::io::IOContext const*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/io/fs/file_reader.cpp:34:17
    #2 0x55c028ae8a18 in doris::vectorized::parse_thrift_footer(std::shared_ptr<doris::io::FileReader>, doris::vectorized::FileMetaData**, unsigned long*, doris::io::IOContext*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/vec/exec/format/parquet/parquet_thrift_util.h:44:5
    #3 0x55c028ae8a18 in doris::vectorized::ParquetReader::_open_file() /home/zcp/repo_center/doris_branch-3.1/doris/be/src/vec/exec/format/parquet/vparquet_reader.cpp:234:21
    #4 0x55c028aeb69c in doris::vectorized::ParquetReader::init_reader(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)36>, doris::ColumnValueRange<(doris::PrimitiveType)37>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveType)23>, doris::ColumnValueRange<(doris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRange<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30>, doris::ColumnValueRange<(doris::PrimitiveType)35>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::variant<doris::ColumnValueRange<(doris::PrimitiveType)3>, doris::ColumnValueRange<(doris::PrimitiveType)4>, doris::ColumnValueRange<(doris::PrimitiveType)5>, doris::ColumnValueRange<(doris::PrimitiveType)6>, doris::ColumnValueRange<(doris::PrimitiveType)7>, doris::ColumnValueRange<(doris::PrimitiveType)36>, doris::ColumnValueRange<(doris::PrimitiveType)37>, doris::ColumnValueRange<(doris::PrimitiveType)15>, doris::ColumnValueRange<(doris::PrimitiveType)10>, doris::ColumnValueRange<(doris::PrimitiveType)23>, doris::ColumnValueRange<(doris::PrimitiveType)11>, doris::ColumnValueRange<(doris::PrimitiveType)25>, doris::ColumnValueRange<(doris::PrimitiveType)12>, doris::ColumnValueRange<(doris::PrimitiveType)26>, doris::ColumnValueRange<(doris::PrimitiveType)20>, doris::ColumnValueRange<(doris::PrimitiveType)2>, doris::ColumnValueRange<(doris::PrimitiveType)19>, doris::ColumnValueRange<(doris::PrimitiveType)28>, doris::ColumnValueRange<(doris::PrimitiveType)29>, doris::ColumnValueRange<(doris::PrimitiveType)30>, doris::ColumnValueRange<(doris::PrimitiveType)35>>>>> const*, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext>>> const&, doris::TupleDescriptor const*, doris::RowDescriptor const*, std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, int>>> const*, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext>>> const*, std::unordered_map<int, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext>>>, std::hash<int>, std::equal_to<int>, std::allocator<std::pair<int const, std::vector<std::shared_ptr<doris::vectorized::VExprContext>, std::allocator<std::shared_ptr<doris::vectorized::VExprContext>>>>>> const*, std::shared_ptr<doris::vectorized::TableSchemaChangeHelper::Node>, bool) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/vec/exec/format/parquet/vparquet_reader.cpp:318:5
    #5 0x55c00cceda85 in doris::PushBrokerReader::_get_next_reader() /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/push_handler.cpp:671:39
    #6 0x55c00cce72df in doris::PushBrokerReader::next(doris::vectorized::Block*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/push_handler.cpp:434:9
    #7 0x55c00cce27b3 in doris::PushHandler::_convert_v2(std::shared_ptr<doris::Tablet>, std::shared_ptr<doris::Rowset>*, std::shared_ptr<doris::TabletSchema>, doris::PushType) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/push_handler.cpp:293:31
    #8 0x55c00ccdd92d in doris::PushHandler::_do_streaming_ingestion(std::shared_ptr<doris::Tablet>, doris::TPushReq const&, doris::PushType, std::vector<doris::TTabletInfo, std::allocator<doris::TTabletInfo>>*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/push_handler.cpp:199:11
    #9 0x55c00ccd96f3 in doris::PushHandler::process_streaming_ingestion(std::shared_ptr<doris::Tablet>, doris::TPushReq const&, doris::PushType, std::vector<doris::TTabletInfo, std::allocator<doris::TTabletInfo>>*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/push_handler.cpp:94:11
    #10 0x55c00cccff9c in doris::EngineBatchLoadTask::_push(doris::TPushReq const&, std::vector<doris::TTabletInfo, std::allocator<doris::TTabletInfo>>*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/task/engine_batch_load_task.cpp:293:28
    #11 0x55c00cccbbc3 in doris::EngineBatchLoadTask::_process() /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/task/engine_batch_load_task.cpp:249:18
    #12 0x55c00ccc6851 in doris::EngineBatchLoadTask::execute() /home/zcp/repo_center/doris_branch-3.1/doris/be/src/olap/task/engine_batch_load_task.cpp:83:22
    #13 0x55c0090293eb in doris::push_callback(doris::StorageEngine&, doris::TAgentTaskRequest const&) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/agent/task_worker_pool.cpp:1880:31
    #14 0x55c008ff6554 in doris::PriorTaskWorkerPool::normal_loop() /home/zcp/repo_center/doris_branch-3.1/doris/be/src/agent/task_worker_pool.cpp:687:9
    #15 0x55c00db29237 in doris::Thread::supervise_thread(void*) /home/zcp/repo_center/doris_branch-3.1/doris/be/src/util/thread.cpp:498:5
    #16 0x7fa0651f2ac2 in start_thread nptl/pthread_create.c:442:8
    #17 0x7fa06528484f  misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. dev/3.1.0-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants