aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJP Appel <jeanpierre.appel01@gmail.com>2025-08-01 23:39:35 -0400
committerJP Appel <jeanpierre.appel01@gmail.com>2025-08-01 23:39:35 -0400
commitd4003133b2c1647d61821cda5d6ce2f5421742e4 (patch)
tree08c358bb7107749e9fadca0f6e00abd31d170f34
parent0c9444f45bf8777b3ef21850d4839dbb8b10aba0 (diff)
Improve server logging
-rw-r--r--cmd/server.go4
-rw-r--r--main.go2
-rw-r--r--pkg/server/unix.go13
3 files changed, 12 insertions, 7 deletions
diff --git a/cmd/server.go b/cmd/server.go
index 45fe197..9de8dbc 100644
--- a/cmd/server.go
+++ b/cmd/server.go
@@ -28,14 +28,14 @@ func SetupServerFlags(args []string, fs *flag.FlagSet, flags *ServerFlags) {
fs.Parse(args)
}
-func RunServer(sFlags ServerFlags, db *data.Query) byte {
+func RunServer(gFlags GlobalFlags, sFlags ServerFlags, db *data.Query) byte {
var addr string
var s server.Server
if after, ok := strings.CutPrefix(sFlags.Address, "unix:"); ok {
slog.Debug("Preparing unix domain socket")
addr = after
- s = &server.UnixServer{Addr: addr, Db: db}
+ s = &server.UnixServer{Addr: addr, Db: db, WorkersPerConn: gFlags.NumWorkers}
} else {
slog.Debug("Preparing http server")
addr = fmt.Sprintf("%s:%d", sFlags.Address, sFlags.Port)
diff --git a/main.go b/main.go
index 09909cd..8bae750 100644
--- a/main.go
+++ b/main.go
@@ -137,7 +137,7 @@ func main() {
case "index", "i":
exitCode = int(cmd.RunIndex(globalFlags, indexFlags, querier))
case "server":
- exitCode = int(cmd.RunServer(serverFlags, querier))
+ exitCode = int(cmd.RunServer(globalFlags, serverFlags, querier))
case "completions":
lang := completionsFs.Arg(0)
switch lang {
diff --git a/pkg/server/unix.go b/pkg/server/unix.go
index 9d8c266..e9c4b20 100644
--- a/pkg/server/unix.go
+++ b/pkg/server/unix.go
@@ -73,7 +73,7 @@ func (s *UnixServer) writeError(conn *net.UnixConn, msg string) {
conn.Write([]byte{END_MSG})
}
-func (s *UnixServer) writeResults(conn *net.UnixConn, docs map[string]*index.Document) {
+func (s *UnixServer) writeResults(conn *net.UnixConn, docs map[string]*index.Document) error {
defer conn.Write([]byte{END_MSG})
conn.Write(fmt.Appendf([]byte{START_HEADER}, "Num Docs: %d", len(docs)))
conn.Write([]byte{START_BODY})
@@ -85,9 +85,11 @@ func (s *UnixServer) writeResults(conn *net.UnixConn, docs map[string]*index.Doc
slog.Error("Failed to write doc",
slog.String("err", err.Error()),
)
- break
+ return err
}
}
+
+ return nil
}
func (s *UnixServer) handleConn(conn *net.UnixConn, id uint64) {
@@ -100,7 +102,7 @@ func (s *UnixServer) handleConn(conn *net.UnixConn, id uint64) {
buf := s.bufPool.Get().([]byte)
defer s.bufPool.Put(buf)
defer slog.Info("Closing connection",
- slog.String("local", conn.LocalAddr().String()),
+ slog.Uint64("connId", id),
)
for {
@@ -143,7 +145,10 @@ func (s *UnixServer) handleConn(conn *net.UnixConn, id uint64) {
cancel()
slog.Debug("Sending results")
- s.writeResults(conn, docs)
+ if err := s.writeResults(conn, docs); err != nil {
+ break
+ }
+ slog.Info("Processed query", slog.Uint64("connId", id))
}
}