Commit Graph
100 Commits
Author SHA1 Message Date
Holger Obermaier b1d6388624 Add modernize tool to Makefile 2026-02-24 15:38:13 +01:00
Holger Obermaier d639c942d5 Fix: Close file /proc/cpuinfo only once 2026-02-20 14:01:51 +01:00
Holger Obermaier 539581f952 Format with gofumpt 2026-02-16 14:16:03 +01:00
Holger Obermaier 9bb21b807a Remove depreceated function ccTopology.CpuList() 2026-02-16 11:34:54 +01:00
Holger Obermaier 47e68dfd2f Remove debug output 2026-02-16 11:02:50 +01:00
Holger Obermaier 40fe94cabb Embedded types should be at the top of the field list of a struct.
And there should be an empty line separating embedded fields from regular fields
2026-02-16 10:54:12 +01:00
Holger Obermaier 83720aa5be Use cc-lib lp.FromBytes, do not use influxdb client directly 2026-02-16 09:57:24 +01:00
Holger Obermaier 5829f86f4a Goroutine creation can be simplified using WaitGroup.Go (modernize) 2026-02-13 15:52:36 +01:00
Holger Obermaier 3eaea4ca62 upgraded go 1.24.0 => 1.25.0 2026-02-13 15:41:50 +01:00
Holger ObermaierandGitHub 64dab777a5 Replace deprecated functions (#198)
Replace depreceated functions
2026-02-13 15:15:17 +01:00
Holger ObermaierandGitHub 9908d76aac Cleanup (#197)
* Removed unused code
* Use cclog for logging
* Wrap errors so that they can be unwrapped
* Revert wrong use of slices.Delete()
* Fix derivative values should be float
* Suggestions from the gocritic linter
* Fixed: interface method AddChannel must have all named params (inamedparam)
* Enable linter: errorlint
* Replace fmt.Sprintf("%d", i)) by strconv.Itoa(i) for improved performance
* Correct misspelled words
* Break up very long lines into multiple lines
* lp.NewMessage -> lp.NewMetric
* Preallocate slices of known length
2026-02-13 09:36:14 +01:00
Holger ObermaierandGitHub fc297854d2 Golangci modernize fixes (#196)
* Fix: Loop can be simplified using slices.Contains
* Fix: for loop can be modernized using range over int
* Fix: interface{} can be replaced by any
* Fix: Replace m[k]=v loop with maps.Copy
* Run all linters with golangci-lint
2026-02-10 13:33:04 +01:00
Holger ObermaierandGitHub cca0d23efa Golangci lint fixes (#195)
* Add golangci-lin as make target
* Fix: could omit type ... from declaration; it will be inferred from the right-hand side (staticcheck)
* Fix func intArrayContains is unused (unused)
* Fix: could use strings.ReplaceAll instead (staticcheck)
* Fix: could expand call to math.Pow (staticcheck)
* Fix: could use tagged switch on `...` (staticcheck)
* Fix: Error return value of `...` is not checked (errcheck)
* Fix: ineffectual assignment to err (ineffassign)
* Fix: There is no need to wait for command completion
* Add cpustat, diskstat and schedstat config
* Use slices to exclude metrics
* Replaced stringArrayContains by slices.Contains
* Replace m[k]=v loop with maps.Copy
* Use module slices from the standard library. Remove use of golang.org/x/exp/slices
* Use SplitSeq and max to modernize code
2026-02-09 14:51:31 +01:00
Holger ObermaierandGitHub 7cff283001 Update ci (#192)
Add static analysis with GolangCI-Lint, govet and staticcheck
2026-01-23 14:39:39 +01:00
Holger ObermaierandGitHub fa45d0d973 Update ci (#191)
* Add UBI 10 build
* Add Almalinux 10 build
* Use Appstream Repository from Red Hat Universal Base Image
* Use Appstream Repository from Almalinux
2026-01-21 15:20:12 +01:00
Holger ObermaierandGitHub e70fd658f0 Update CI pipeline (#189)
* Updated Action "checkout" and "Setup golang"
* Update go-toolset to latest version
* Add golang-race dependency
* Update download-artifact and upload-artifact
2026-01-15 14:35:43 +01:00
Holger Obermaier 1ba08cd148 Add new requirements to module file 2022-12-23 11:42:46 +01:00
Holger Obermaier b78e83b055 Do not allow unknown fields in JSON configuration file 2022-12-08 14:15:56 +01:00
Holger Obermaier 56b41a9e57 Updated to latest package versions 2022-12-06 14:12:21 +01:00
Holger Obermaier ae98807ace Some servers return "ConsumedPowerWatt":65535 instead of "ConsumedPowerWatt":null 2022-12-06 13:40:22 +01:00
Holger Obermaier 31a8e63d72 Use package hostlist to expand a host list 2022-12-01 09:48:34 +01:00
Holger Obermaier 6f1f33f3a5 Use package hostlist to expand a host list 2022-12-01 09:25:40 +01:00
Holger Obermaier a29f0c7e3b Added tests for hostlist Expand() 2022-11-29 17:21:09 +01:00
Holger Obermaier 4fb6ac0140 Add hostlist package 2022-11-29 14:04:31 +01:00
Holger Obermaier 5918f96fd8 Minimal formating changes 2022-11-24 09:48:44 +01:00
Holger Obermaier 8cb87a2165 Add IPMI receiver example configuration to receivers.json 2022-11-23 10:37:31 +01:00
Holger Obermaier 3e91a37dee remove prefix enumeration like 01-... 2022-11-22 17:02:29 +01:00
Holger Obermaier ed68baeada Add IPMI metric: current 2022-11-22 15:32:41 +01:00
Holger Obermaier 888db31dbf Try to use common metric tags across hardware vendors 2022-11-22 15:09:56 +01:00
Holger Obermaier 18bffd7c14 Add documentaion for IPMI receiver 2022-11-21 13:58:30 +01:00
Holger Obermaier bd0105b370 Added config option to add ipmi-sensors command line options 2022-11-21 13:02:46 +01:00
Holger Obermaier b1a8674c4c Add receiver to gather remote IPMI sensor metrics 2022-11-18 16:55:11 +01:00
Holger Obermaier 234ad3c54e Fix kernel panic for receiver config with missing receiver type 2022-11-17 11:33:13 +01:00
Holger Obermaier 7bb80780e0 Fixed computing number of physical packages for non continous physical package IDs (e.g. on Ampere Altra Q80-30) 2022-11-16 14:58:11 +01:00
Holger Obermaier e66d52bb32 * Corrected json config in numastatsMetric.md
* Added some debug output to numastatsMetric.go
2022-11-16 14:10:25 +01:00
Holger Obermaier 9840d0193d Do not mess up with the orignal configuration 2022-11-16 09:37:40 +01:00
Holger Obermaier ce7eef8d30 Add running average power limit (RAPL) metric collector 2022-11-15 17:15:27 +01:00
Holger Obermaier 92e45ca62c Add running average power limit (RAPL) metric collector 2022-11-15 17:09:26 +01:00
Holger Obermaier fd10a279fc Corrected some typos 2022-11-14 09:35:02 +01:00
Holger Obermaier 9e63d0ea59 Run ipmitool asynchron. Improved error handling. 2022-11-11 16:16:14 +01:00
Holger Obermaier deb1bcfa2f Correct type: /proc/stats -> /proc/stat 2022-10-13 15:01:39 +02:00
Holger Obermaier 7a67d5e25f Check if at least one CPU with frequency information was detected 2022-10-13 14:53:55 +02:00
Holger Obermaier 503705d442 Allow multiple hosts to share the same client configuration 2022-08-26 11:55:53 +02:00
Holger Obermaier 7ccbf1ebe2 Allow global configuration for redfish devices username, password and endpoint. 2022-08-25 16:47:44 +02:00
Holger Obermaier 60ef0ed116 Fix for servers, which do not set status.state for thermals or powercontrols 2022-08-17 17:37:24 +02:00
Holger Obermaier a8beec29cc Skip non existing processor metrics URLs 2022-08-17 15:11:21 +02:00
Holger Obermaier 0dd430e7e9 Refactor redfishReceiver. 2022-08-16 15:14:20 +02:00
Holger Obermaier f7b39d027b url.JoinPath requires go 1.19. For now stay compatible with go 1.18 2022-08-15 15:25:59 +02:00
Holger Obermaier eaf8b1941d ioutils is depreceated 2022-08-15 15:25:20 +02:00
Holger Obermaier 62f6e4151a Added readProcessorMetrics to read read thermal an power metrics per CPU / GPU 2022-08-15 15:11:29 +02:00
Holger Obermaier acd092a977 Add redfish receiver documentation 2022-08-11 15:36:18 +02:00
Holger Obermaier 6eb8e3a1f5 Corrected comments. Added additional check 2022-08-10 17:00:47 +02:00
Holger Obermaier 8ba33568a6 Add reading of fan speeds 2022-08-10 16:24:21 +02:00
Holger Obermaier 2ca0359744 Add support to read thermal metrics 2022-08-10 10:30:59 +02:00
Holger Obermaier f818bf4c11 Read durations as string from json config 2022-07-22 17:48:11 +02:00
Holger Obermaier aedc1be277 Set HTTP timeout for redfish device connections 2022-07-22 12:06:02 +02:00
Holger Obermaier c75d394e11 Corrected json syntax for interval and duration 2022-07-14 16:07:45 +02:00
Holger Obermaier bae36473f7 Minimum requirement: golang version >= 1.18 2022-07-14 13:55:48 +02:00
Holger Obermaier 04819d9db2 Use mutex to ensure only on flush timer is running 2022-06-24 09:08:20 +02:00
Holger Obermaier 9ccc5a6ca7 Allow only one timer at a time 2022-06-23 21:53:02 +02:00
Holger Obermaier b7dcbaebcf Add drop rate, when send buffer is full 2022-06-23 18:27:03 +02:00
Holger Obermaier a3ac8f2ead Check that at least one sink is running 2022-06-23 15:44:02 +02:00
Holger Obermaier 8e7143a20a Updated to latest modules 2022-06-23 11:49:18 +02:00
Holger Obermaier 3a10f7cfdb Add memstats and topprocs metric 2022-06-23 11:44:06 +02:00
Holger Obermaier 0ca6d1a794 Improved dropping of metrics failed to send 2022-06-21 07:59:24 +02:00
Holger Obermaier 580d21d8bb Fix: When sending metrics failed the batch size could be exceeded 2022-06-20 18:06:27 +02:00
Holger Obermaier ee4bd558f1 Cleanup: Remove unused code 2022-05-06 11:44:57 +02:00
Holger Obermaier 186a62a86b Fix: influx sink ignores config batch_size.
Feature: Add Redfish receiver
2022-05-04 13:00:56 +02:00
Holger Obermaier e098c33179 Add some golang debug options 2022-05-04 12:48:46 +02:00
Holger Obermaier c35ac9dba8 Flush if batch size is reached 2022-05-04 11:28:06 +02:00
Holger Obermaier c019f8e7ad Reuse tags and meta data tags 2022-05-03 17:55:33 +02:00
Holger Obermaier fb6f6a4daa Fix GPFS collector last state handling 2022-05-02 16:57:19 +02:00
Holger Obermaier 9d6d0dbd93 Delete empty tags and meta data tags 2022-04-20 14:39:26 +02:00
Holger Obermaier c2d4272fdf Clear workerInput channel after done event 2022-04-20 12:36:45 +02:00
Holger Obermaier 8c73095548 Allow to shutdown redfish receiver during metric read 2022-04-20 09:58:02 +02:00
Holger Obermaier 31c5c89a5a Fix: Close done channel 2022-04-19 14:01:23 +02:00
Holger Obermaier bf9c7e1830 Update requirements 2022-04-19 12:15:51 +02:00
Holger Obermaier 48d34bf564 Adopt sinks.json for new meta_as_tags usage 2022-04-19 12:06:53 +02:00
Holger Obermaier a1d85fa886 Add redfish receiver 2022-04-19 12:05:03 +02:00
Holger Obermaier 96ee16398e Removed unused done channel and wg wait group 2022-04-19 11:53:11 +02:00
Holger Obermaier e7b8088c41 Extended go routine use case in sample receiver 2022-04-19 11:42:46 +02:00
Holger Obermaier 992b19d354 Move unit tag to meta data tags 2022-03-11 14:47:18 +01:00
Holger Obermaier 0b08ca9ae0 Simplified iota usage 2022-03-11 14:09:22 +01:00
Holger Obermaier db04c8fbae Removed infinibandPerfQueryMetric.go. infinibandMetric.go offers the same functionality without requiring root privileges. 2022-03-03 15:52:50 +01:00
Holger ObermaierandGitHub 33d954f767 Action red hat universal base image (#52)
Add Red Hat Universal Base Image 8 Workflow
2022-03-01 17:15:20 +01:00
Holger ObermaierandGitHub a5325a6535 GitHub actions (#51)
Create new GitHub action which uses unmodified AlmaLinux Docker image
2022-03-01 15:39:26 +01:00
Holger Obermaier 33fec95eac Additional comments 2022-02-28 12:16:48 +01:00
Holger Obermaier 2c08e53be4 Additional comments 2022-02-28 09:57:26 +01:00
Holger Obermaier a2f9b23e85 Additional comments 2022-02-28 09:39:59 +01:00
Holger Obermaier 2f044f4b58 Fix: MetricReceiver uses uninitialized values, when initialization fails 2022-02-23 15:58:51 +01:00
Holger ObermaierandGitHub f911ff802c Merge pull request #43 from ClusterCockpit/new_receiver_instances
New receiver instances
2022-02-23 15:20:55 +01:00
Holger ObermaierandGitHub 6843902909 Merge pull request #41 from ClusterCockpit/new_sink_instances
New sink instances
2022-02-23 15:05:53 +01:00
Holger Obermaier 54c693532f Do not create fake libganglia.so.
libganglia.so is now loaded during runtime by dlopen
and no longer required during link time
2022-02-21 17:28:54 +01:00
Holger Obermaier 65c3106af2 Remove tags for num cores and packages 2022-02-18 16:59:59 +01:00
Holger Obermaier 635a75c64b Report maximum and critical temperature 2022-02-18 16:56:41 +01:00
Holger ObermaierandGitHub 6ffe207768 Merge pull request #37 from ClusterCockpit/dynload_libganglia
Dynload libganglia
2022-02-18 15:52:20 +01:00
Holger Obermaier bb9c6be741 Do not create libganglia link if libganglia is not installed 2022-02-17 08:03:55 +01:00
Holger Obermaier 154b56000e Allow concurrent access to condition map 2022-02-16 14:30:11 +01:00
Holger Obermaier b44e226496 Add caching for condition evaluation 2022-02-16 13:59:32 +01:00
Holger Obermaier 248c815a1c Make created language persistant 2022-02-16 08:40:57 +01:00