[SERVER-67055] Create scons builtin metrics Created: 06/Jun/22  Updated: 29/Oct/23  Resolved: 02/Aug/22

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.1.0-rc0

Type: New Feature Priority: Major - P3
Reporter: Daniel Moody Assignee: Richard Samuels (Inactive)
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Gantt Dependency
has to be done before SERVER-67060 Create metrics evergreen task Closed
has to be done after SERVER-67044 Create build metrics CLI interface an... Closed
has to be done after SERVER-67109 create build metrics json validator Closed
Backwards Compatibility: Fully Compatible
Sprint: Dev Platform 2022-06-27, Dev Platform 2022-07-11, Dev Platform 2022-07-25
Participants:

 Description   

SCons has built in metrics for reporting information about its own usage via --debug=time,memory,count. It includes memory usage at certain critical points in the build, as well as counts of certain objects in use during the build. It also provides wall clock timing metrics.

Note: It does not give cpu usage, so if there is time for some scope creep, we could add some sort of scons cpu usage metric. It may be difficult to differentiate that with function actions which will run in threads in the scons process.

Json Format:
 
{
 scons_metrics: {
 memory: {
pre_read: <long>(1),
post_read: <long>(1),
pre_build: <long>(1),
post_build: <long>(1) 	
 }
 time: {
		total: <float>(1),
		sconscript_exec: <float>(1), 
scons_exec: <float>(1),
Command_exec: <float>(1)
	 },
	 counts: [{
		 array_index: <int>(1),
		 item_name: <str>(1),
		 pre_read: <long>(1),
 post_read: <long>(1),
 pre_build: <long>(1),
 post_build: <long>(1) 
 }]
 },
}



 Comments   
Comment by Githook User [ 02/Aug/22 ]

Author:

{'name': 'Richard Samuels', 'email': 'richard.l.samuels@gmail.com', 'username': 'richardsamuels'}

Message: SERVER-67055 Create scons builtin metrics
Branch: master
https://github.com/mongodb/mongo/commit/f1290949e7cbe560c95d024b37e5e6fa490c09be

Comment by Alex Neben [ 30/Jun/22 ]

We need to "hook" into scons. We will be able to access globals and possibly swap in our own hooks. Goal is not doing any log/cmdline parsing. Goal is to keep these at a minimal.

Comment by Alex Neben [ 07/Jun/22 ]

I think cpu usage is the least important metric. We only really care about wall clock time. I think we should try to push back against scope creep on the cpu metrics.

Generated at Thu Feb 08 06:07:09 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.