mirror of
				https://github.com/ClusterCockpit/cc-metric-collector.git
				synced 2025-11-04 02:35:07 +01:00 
			
		
		
		
	Ccmessage migration (#119)
* Add cpu_used (all-cpu_idle) to CpustatCollector * Update cc-metric-collector.init * Allow selection of timestamp precision in HttpSink * Add comment about precision requirement for cc-metric-store * Fix for API changes in gofish@v0.15.0 * Update requirements to latest version * Read sensors through redfish * Update golang toolchain to 1.21 * Remove stray error check * Update main config in configuration.md * Update Release action to use golang 1.22 stable release, no golang RPMs anymore * Update runonce action to use golang 1.22 stable release, no golang RPMs anymore * Switch to CCMessage for all files. --------- Co-authored-by: Holger Obermaier <Holger.Obermaier@kit.edu> Co-authored-by: Holger Obermaier <40787752+ho-ob@users.noreply.github.com>
This commit is contained in:
		@@ -11,7 +11,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	cclog "github.com/ClusterCockpit/cc-metric-collector/pkg/ccLogger"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
	influx "github.com/influxdata/line-protocol/v2/lineprotocol"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -191,7 +191,7 @@ func (r *HttpReceiver) ServerHttp(w http.ResponseWriter, req *http.Request) {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		y, _ := lp.New(
 | 
			
		||||
		y, _ := lp.NewMessage(
 | 
			
		||||
			string(measurement),
 | 
			
		||||
			tags,
 | 
			
		||||
			r.meta,
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	cclog "github.com/ClusterCockpit/cc-metric-collector/pkg/ccLogger"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
	"github.com/ClusterCockpit/cc-metric-collector/pkg/hostlist"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
@@ -213,7 +213,7 @@ func (r *IPMIReceiver) doReadMetric() {
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				y, err := lp.New(
 | 
			
		||||
				y, err := lp.NewMessage(
 | 
			
		||||
					metric,
 | 
			
		||||
					map[string]string{
 | 
			
		||||
						"hostname": host,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
package receivers
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type defaultReceiverConfig struct {
 | 
			
		||||
@@ -19,14 +19,14 @@ type ReceiverConfig struct {
 | 
			
		||||
 | 
			
		||||
type receiver struct {
 | 
			
		||||
	name string
 | 
			
		||||
	sink chan lp.CCMetric
 | 
			
		||||
	sink chan lp.CCMessage
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Receiver interface {
 | 
			
		||||
	Start()
 | 
			
		||||
	Close()                        // Close / finish metric receiver
 | 
			
		||||
	Name() string                  // Name of the metric receiver
 | 
			
		||||
	SetSink(sink chan lp.CCMetric) // Set sink channel
 | 
			
		||||
	SetSink(sink chan lp.CCMessage) // Set sink channel
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Name returns the name of the metric receiver
 | 
			
		||||
@@ -35,6 +35,6 @@ func (r *receiver) Name() string {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SetSink set the sink channel
 | 
			
		||||
func (r *receiver) SetSink(sink chan lp.CCMetric) {
 | 
			
		||||
func (r *receiver) SetSink(sink chan lp.CCMessage) {
 | 
			
		||||
	r.sink = sink
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	cclog "github.com/ClusterCockpit/cc-metric-collector/pkg/ccLogger"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
	influx "github.com/influxdata/line-protocol/v2/lineprotocol"
 | 
			
		||||
	nats "github.com/nats-io/nats.go"
 | 
			
		||||
)
 | 
			
		||||
@@ -85,7 +85,7 @@ func (r *NatsReceiver) _NatsReceive(m *nats.Msg) {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		y, _ := lp.New(
 | 
			
		||||
		y, _ := lp.NewMessage(
 | 
			
		||||
			string(measurement),
 | 
			
		||||
			tags,
 | 
			
		||||
			r.meta,
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	cclog "github.com/ClusterCockpit/cc-metric-collector/pkg/ccLogger"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type PrometheusReceiverConfig struct {
 | 
			
		||||
@@ -74,7 +74,7 @@ func (r *PrometheusReceiver) Start() {
 | 
			
		||||
					}
 | 
			
		||||
					value, err := strconv.ParseFloat(lineSplit[1], 64)
 | 
			
		||||
					if err == nil {
 | 
			
		||||
						y, err := lp.New(name, tags, r.meta, map[string]interface{}{"value": value}, t)
 | 
			
		||||
						y, err := lp.NewMessage(name, tags, r.meta, map[string]interface{}{"value": value}, t)
 | 
			
		||||
						if err == nil {
 | 
			
		||||
							r.sink <- y
 | 
			
		||||
						}
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ import (
 | 
			
		||||
	"sync"
 | 
			
		||||
 | 
			
		||||
	cclog "github.com/ClusterCockpit/cc-metric-collector/pkg/ccLogger"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var AvailableReceivers = map[string]func(name string, config json.RawMessage) (Receiver, error){
 | 
			
		||||
@@ -19,14 +19,14 @@ var AvailableReceivers = map[string]func(name string, config json.RawMessage) (R
 | 
			
		||||
 | 
			
		||||
type receiveManager struct {
 | 
			
		||||
	inputs []Receiver
 | 
			
		||||
	output chan lp.CCMetric
 | 
			
		||||
	output chan lp.CCMessage
 | 
			
		||||
	config []json.RawMessage
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type ReceiveManager interface {
 | 
			
		||||
	Init(wg *sync.WaitGroup, receiverConfigFile string) error
 | 
			
		||||
	AddInput(name string, rawConfig json.RawMessage) error
 | 
			
		||||
	AddOutput(output chan lp.CCMetric)
 | 
			
		||||
	AddOutput(output chan lp.CCMessage)
 | 
			
		||||
	Start()
 | 
			
		||||
	Close()
 | 
			
		||||
}
 | 
			
		||||
@@ -93,7 +93,7 @@ func (rm *receiveManager) AddInput(name string, rawConfig json.RawMessage) error
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (rm *receiveManager) AddOutput(output chan lp.CCMetric) {
 | 
			
		||||
func (rm *receiveManager) AddOutput(output chan lp.CCMessage) {
 | 
			
		||||
	rm.output = output
 | 
			
		||||
	for _, r := range rm.inputs {
 | 
			
		||||
		r.SetSink(rm.output)
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ import (
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	cclog "github.com/ClusterCockpit/cc-metric-collector/pkg/ccLogger"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-metric-collector/pkg/ccMetric"
 | 
			
		||||
	lp "github.com/ClusterCockpit/cc-energy-manager/pkg/cc-message"
 | 
			
		||||
	"github.com/ClusterCockpit/cc-metric-collector/pkg/hostlist"
 | 
			
		||||
 | 
			
		||||
	// See: https://pkg.go.dev/github.com/stmcginnis/gofish
 | 
			
		||||
@@ -83,7 +83,7 @@ func (r *RedfishReceiver) sendMetric(name string, tags map[string]string, meta m
 | 
			
		||||
 | 
			
		||||
	deleteEmptyTags(tags)
 | 
			
		||||
	deleteEmptyTags(meta)
 | 
			
		||||
	y, err := lp.New(name, tags, meta, setMetricValue(value), timestamp)
 | 
			
		||||
	y, err := lp.NewMessage(name, tags, meta, setMetricValue(value), timestamp)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		r.sink <- y
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user