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 | package metrics | ||||||
| 
 | 
 | ||||||
| import "github.com/elastic/gosigar" |  | ||||||
| 
 |  | ||||||
| // CPUStats is the system and process CPU stats.
 | // CPUStats is the system and process CPU stats.
 | ||||||
| type CPUStats struct { | type CPUStats struct { | ||||||
| 	GlobalTime int64 // Time spent by the CPU working on all processes
 | 	GlobalTime int64 // Time spent by the CPU working on all processes
 | ||||||
| 	GlobalWait int64 // Time spent by waiting on disk for all processes
 | 	GlobalWait int64 // Time spent by waiting on disk for all processes
 | ||||||
| 	LocalTime  int64 // Time spent by the CPU working on this process
 | 	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