fixed an issue of missing parameters to fmt.Errorf()

fixed the name composition for prometheus
This commit is contained in:
hyung-hwan 2025-02-24 10:34:22 +09:00
parent 5c2695e46b
commit 97885bcae1
5 changed files with 32 additions and 4 deletions

View File

@ -853,7 +853,7 @@ func (ctl *client_ctl_notices_id) ServeHTTP(w http.ResponseWriter, req *http.Req
// no check if noti.Text is empty as i want an empty message to be delivered too. // no check if noti.Text is empty as i want an empty message to be delivered too.
err = cts.psc.Send(MakeConnNoticePacket(noti.Text)) err = cts.psc.Send(MakeConnNoticePacket(noti.Text))
if err != nil { if err != nil {
err = fmt.Errorf("failed to send conn_notice text to %s - %s", noti.Text, cts.remote_addr, err.Error()) err = fmt.Errorf("failed to send conn_notice text '%s' to %s - %s", noti.Text, cts.remote_addr, err.Error())
status_code = WriteJsonRespHeader(w, http.StatusInternalServerError) status_code = WriteJsonRespHeader(w, http.StatusInternalServerError)
je.Encode(JsonErrmsg{Text: err.Error()}) je.Encode(JsonErrmsg{Text: err.Error()})
goto oops goto oops

View File

@ -1,6 +1,7 @@
package hodu package hodu
import "runtime" import "runtime"
import "strings"
import "github.com/prometheus/client_golang/prometheus" import "github.com/prometheus/client_golang/prometheus"
type ClientCollector struct { type ClientCollector struct {
@ -15,7 +16,8 @@ type ClientCollector struct {
func NewClientCollector(client *Client) ClientCollector { func NewClientCollector(client *Client) ClientCollector {
var prefix string var prefix string
prefix = client.Name() + "_" // prometheus doesn't like a dash. change it to an underscore
prefix = strings.ReplaceAll(client.Name(), "-", "_") + "_"
return ClientCollector{ return ClientCollector{
client: client, client: client,

24
client_test.go Normal file
View File

@ -0,0 +1,24 @@
package hodu_test
import "context"
import "hodu"
import "testing"
type TestLogger struct {}
func (l *TestLogger) Write(id string, level hodu.LogLevel, fmtstr string, args ...interface{}) {}
func (l *TestLogger) WriteWithCallDepth(id string, level hodu.LogLevel, call_depth int, fmtstr string, args ...interface{}) {}
func (l *TestLogger) Rotate() {}
func (l *TestLogger) Close() {}
func TestClient001(t *testing.T) {
var c *hodu.Client
var r *hodu.ClientRoute
var err error
c = hodu.NewClient(context.Background(), "test-client", &TestLogger{}, &hodu.ClientConfig{})
r, err = c.FindClientRouteByServerPeerSvcPortIdStr("100", "200")
if err == nil { t.Errorf("Search on empty client structure must have failed") }
if r != nil { t.Errorf("Main route must not be nil upon no error") }
}

View File

@ -629,7 +629,7 @@ func (ctl *server_ctl_notices_id) ServeHTTP(w http.ResponseWriter, req *http.Req
// no check if noti.Text is empty as i want an empty message to be delivered too. // no check if noti.Text is empty as i want an empty message to be delivered too.
err = cts.pss.Send(MakeConnNoticePacket(noti.Text)) err = cts.pss.Send(MakeConnNoticePacket(noti.Text))
if err != nil { if err != nil {
err = fmt.Errorf("failed to send conn_notice text to %s - %s", noti.Text, cts.RemoteAddr, err.Error()) err = fmt.Errorf("failed to send conn_notice text '%s' to %s - %s", noti.Text, cts.RemoteAddr, err.Error())
status_code = WriteJsonRespHeader(w, http.StatusInternalServerError) status_code = WriteJsonRespHeader(w, http.StatusInternalServerError)
je.Encode(JsonErrmsg{Text: err.Error()}) je.Encode(JsonErrmsg{Text: err.Error()})
goto oops goto oops

View File

@ -1,6 +1,7 @@
package hodu package hodu
import "runtime" import "runtime"
import "strings"
import "github.com/prometheus/client_golang/prometheus" import "github.com/prometheus/client_golang/prometheus"
type ServerCollector struct { type ServerCollector struct {
@ -16,7 +17,8 @@ type ServerCollector struct {
func NewServerCollector(server *Server) ServerCollector { func NewServerCollector(server *Server) ServerCollector {
var prefix string var prefix string
prefix = server.Name() + "_" // prometheus doesn't like a dash. change it to an underscore
prefix = strings.ReplaceAll(server.Name(), "-", "_") + "_"
return ServerCollector{ return ServerCollector{
server: server, server: server,