12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package main
- import (
- "github.com/prometheus/client_golang/prometheus"
- "net/http"
- _ "net/http/pprof"
- "sparrow/pkg/rpcs"
- "sparrow/pkg/server"
- )
- var deviceOnlineCount prometheus.Gauge
- var deviceMessageCount *prometheus.CounterVec
- func main() {
- go func() {
- pprofPort := "6060"
- server.Log.Infof("pprof server started at :%s/debug/pprof", pprofPort)
- if err := http.ListenAndServe(":"+pprofPort, nil); err != nil {
- server.Log.Errorf("pprof server failed: %v", err)
- }
- }()
- // init server
- err := server.Init(rpcs.MQTTAccessName)
- if err != nil {
- server.Log.Fatal(err)
- return
- }
- a, err := NewAccess()
- if err != nil {
- server.Log.Fatal(err)
- return
- }
- // register a rpc service
- err = server.RegisterRPCHandler(a)
- if err != nil {
- server.Log.Errorf("Register RPC service Error: %s", err)
- return
- }
- // register a tcp service for mqtt
- err = server.RegisterTCPHandler(a.MqttBroker)
- if err != nil {
- server.Log.Errorf("Register TCP service Error: %s", err)
- return
- }
- //deviceOnlineMetric := &server.Metric{
- // ID: "device_online_count",
- // Name: "device_online_count",
- // Description: "MQTT Device Online Count",
- // Type: "gauge",
- //}
- //recvMessageCount := &server.Metric{
- // ID: "device_message_total",
- // Name: "device_message_total",
- // Description: "device report message total count",
- // Type: "counter_vec",
- // Args: []string{"device_code"},
- //}
- //
- //server.RegisterMetric(deviceOnlineMetric, recvMessageCount)
- //deviceOnlineCount = deviceOnlineMetric.MetricCollector.(prometheus.Gauge)
- //deviceMessageCount = recvMessageCount.MetricCollector.(*prometheus.CounterVec)
- // start to run
- err = server.Run()
- if err != nil {
- server.Log.Fatal(err)
- }
- }
|