* Add cpu_used (all-cpu_idle) to CpustatCollector
* Update to line-protocol/v2
* Update runonce.yml with Golang 1.20
* Update fsnotify in LIKWID Collector
* Use not a pointer to line-protocol.Encoder
* Simplify Makefile
* Use only as many arguments as required
* Allow sum function to handle non float types
* Allow values to be a slice of type float64, float32, int, int64, int32, bool
* Use generic function to simplify code
* Add missing case for type []int32
* Use generic function to compute minimum
* Use generic function to compute maximum
* Use generic function to compute average
* Add error value to sumAnyType
* Use generic function to compute median
* For older versions of go slices is not part of the installation
* Remove old entries from go.sum
* Use simpler sort function
* Compute metrics ib_total and ib_total_pkts
* Add aggregated metrics.
Add missing units
* Update likwidMetric.go
Fixes a potential bug when `fsnotify.NewWatcher()` fails with an error
* Completly avoid memory allocations in infinibandMetric read()
* Fixed initialization: Initalization and measurements should run in the same thread
---------
Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
* automatic flush in NatsSink
* tweak default options of HttpSink
* shorter cirt. section and retries for HttpSink
* fix error handling
* Remove file added by mistake.
* Use http instead of ftp to download likwid
* Fix serial number in rocmCollector
Co-authored-by: Thomas Roehl <thomas.roehl@fau.de>
* Change ccMetric->Influx functions
* Use a meta_as_tags string list in config but create a lookup map afterwards
* Add meta as tag logic to sampleSink
* Add error handling for Sink.Write
* simplify HttpSink config
* HttpSink: dynamically sized batches flushed after timer
* fix panic if sink type does not exist
* Use sink-specific configurations to have more flexibility. Adjust sample sink configuration files
* Add documentation
* Add links to individual sink readmes
* Fix link in README
* HTTPS for HttpSink
* If no CPU die id available, use the socket id instead
* Use channels, add a metric router, split up configuration and use extended version of Influx line protocol internally
* Use central timer for collectors and router. Add expressions to router
* Add expression to router config
* Update entry points
* Start with README
* Update README for CCMetric
* Formatting
* Update README.md
* Add README for MultiChanTicker
* Add README for MultiChanTicker
* Update README.md
* Add README to metric router
* Update main README
* Remove SinkEntity type
* Update README for sinks
* Update go files
* Update README for receivers
* Update collectors README
* Update collectors README
* Use seperate page per collector
* Fix for tempstat page
* Add docs for customcmd collector
* Add docs for ipmistat collector
* Add docs for topprocs collector
* Update customCmdMetric.md
* Use seconds when calculating LIKWID metrics
* Add IB metrics ib_recv_pkts and ib_xmit_pkts
* Drop domain part of host name
* Updated to latest stable version of likwid
* Define source code dependencies in Makefile
* Add GPFS / IBM Spectrum Scale collector
* Add vet and staticcheck make targets
* Add vet and staticcheck make targets
* Avoid go vet warning:
struct field tag `json:"..., omitempty"` not compatible with reflect.StructTag.Get: suspicious space in struct tag value
struct field tag `json:"...", omitempty` not compatible with reflect.StructTag.Get: key:"value" pairs not separated by spaces
* Add sample collector to README.md
* Add CPU frequency collector
* Avoid staticcheck warning: redundant return statement
* Avoid staticcheck warning: unnecessary assignment to the blank identifier
* Simplified code
* Add CPUFreqCollectorCpuinfo
a metric collector to measure the current frequency of the CPUs
as obtained from /proc/cpuinfo
Only measure on the first hyperthread
* Add collector for NFS clients
* Move publication of metrics into Flush() for NatsSink
* Update GitHub actions
* Refactoring
* Avoid vet warning: Println arg list ends with redundant newline
* Avoid vet warning struct field commands has json tag but is not exported
* Avoid vet warning: return copies lock value.
* Corrected typo
* Refactoring
* Add go sources in internal/...
* Bad separator in Makefile
* Fix Infiniband collector
Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
This sink is compatible with the HTTP API of cc-metric-store.
Example config.json section:
```
"sink": {
"type": "http",
"host": "localhost",
"port": "8080",
"database": "api/write",
"password": "<JWT>"
},
```
The password/JWT can be omitted.