Merge pull request #20816 from karalabe/disable-gosigar-ios
metrics: disable CPU stats (gosigar) on iOS
This commit is contained in:
		
						commit
						4690912ac9
					
				| @ -16,21 +16,9 @@ | ||||
| 
 | ||||
| package metrics | ||||
| 
 | ||||
| import "github.com/elastic/gosigar" | ||||
| 
 | ||||
| // CPUStats is the system and process CPU stats.
 | ||||
| type CPUStats struct { | ||||
| 	GlobalTime int64 // Time spent by the CPU working on all processes
 | ||||
| 	GlobalWait int64 // Time spent by waiting on disk for all processes
 | ||||
| 	LocalTime  int64 // Time spent by the CPU working on this process
 | ||||
| } | ||||
| 
 | ||||
| // ReadCPUStats retrieves the current CPU stats.
 | ||||
| func ReadCPUStats(stats *CPUStats) { | ||||
| 	global := gosigar.Cpu{} | ||||
| 	global.Get() | ||||
| 
 | ||||
| 	stats.GlobalTime = int64(global.User + global.Nice + global.Sys) | ||||
| 	stats.GlobalWait = int64(global.Wait) | ||||
| 	stats.LocalTime = getProcessCPUTime() | ||||
| } | ||||
|  | ||||
							
								
								
									
										23
									
								
								metrics/cpu_disabled.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								metrics/cpu_disabled.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| // Copyright 2020 The go-ethereum Authors
 | ||||
| // This file is part of the go-ethereum library.
 | ||||
| //
 | ||||
| // The go-ethereum library is free software: you can redistribute it and/or modify
 | ||||
| // it under the terms of the GNU Lesser General Public License as published by
 | ||||
| // the Free Software Foundation, either version 3 of the License, or
 | ||||
| // (at your option) any later version.
 | ||||
| //
 | ||||
| // The go-ethereum library is distributed in the hope that it will be useful,
 | ||||
| // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 | ||||
| // GNU Lesser General Public License for more details.
 | ||||
| //
 | ||||
| // You should have received a copy of the GNU Lesser General Public License
 | ||||
| // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
 | ||||
| 
 | ||||
| // +build ios
 | ||||
| 
 | ||||
| package metrics | ||||
| 
 | ||||
| // ReadCPUStats retrieves the current CPU stats. Internally this uses `gosigar`,
 | ||||
| // which is not supported on the platforms in this file.
 | ||||
| func ReadCPUStats(stats *CPUStats) {} | ||||
							
								
								
									
										31
									
								
								metrics/cpu_enabled.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								metrics/cpu_enabled.go
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,31 @@ | ||||
| // Copyright 2020 The go-ethereum Authors
 | ||||
| // This file is part of the go-ethereum library.
 | ||||
| //
 | ||||
| // The go-ethereum library is free software: you can redistribute it and/or modify
 | ||||
| // it under the terms of the GNU Lesser General Public License as published by
 | ||||
| // the Free Software Foundation, either version 3 of the License, or
 | ||||
| // (at your option) any later version.
 | ||||
| //
 | ||||
| // The go-ethereum library is distributed in the hope that it will be useful,
 | ||||
| // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | ||||
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 | ||||
| // GNU Lesser General Public License for more details.
 | ||||
| //
 | ||||
| // You should have received a copy of the GNU Lesser General Public License
 | ||||
| // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
 | ||||
| 
 | ||||
| // +build !ios
 | ||||
| 
 | ||||
| package metrics | ||||
| 
 | ||||
| import "github.com/elastic/gosigar" | ||||
| 
 | ||||
| // ReadCPUStats retrieves the current CPU stats.
 | ||||
| func ReadCPUStats(stats *CPUStats) { | ||||
| 	global := gosigar.Cpu{} | ||||
| 	global.Get() | ||||
| 
 | ||||
| 	stats.GlobalTime = int64(global.User + global.Nice + global.Sys) | ||||
| 	stats.GlobalWait = int64(global.Wait) | ||||
| 	stats.LocalTime = getProcessCPUTime() | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user