diff options
Diffstat (limited to 'src/pkg/rpc/debug.go')
-rw-r--r-- | src/pkg/rpc/debug.go | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/pkg/rpc/debug.go b/src/pkg/rpc/debug.go deleted file mode 100644 index 32dc8a18b..000000000 --- a/src/pkg/rpc/debug.go +++ /dev/null @@ -1,90 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package rpc - -/* - Some HTML presented at http://machine:port/debug/rpc - Lists services, their methods, and some statistics, still rudimentary. -*/ - -import ( - "fmt" - "http" - "sort" - "template" -) - -const debugText = `<html> - <body> - <title>Services</title> - {.repeated section @} - <hr> - Service {Name} - <hr> - <table> - <th align=center>Method</th><th align=center>Calls</th> - {.repeated section Method} - <tr> - <td align=left font=fixed>{Name}({Type.ArgType}, {Type.ReplyType}) os.Error</td> - <td align=center>{Type.NumCalls}</td> - </tr> - {.end} - </table> - {.end} - </body> - </html>` - -var debug = template.MustParse(debugText, nil) - -type debugMethod struct { - Type *methodType - Name string -} - -type methodArray []debugMethod - -type debugService struct { - Service *service - Name string - Method methodArray -} - -type serviceArray []debugService - -func (s serviceArray) Len() int { return len(s) } -func (s serviceArray) Less(i, j int) bool { return s[i].Name < s[j].Name } -func (s serviceArray) Swap(i, j int) { s[i], s[j] = s[j], s[i] } - -func (m methodArray) Len() int { return len(m) } -func (m methodArray) Less(i, j int) bool { return m[i].Name < m[j].Name } -func (m methodArray) Swap(i, j int) { m[i], m[j] = m[j], m[i] } - -type debugHTTP struct { - *Server -} - -// Runs at /debug/rpc -func (server debugHTTP) ServeHTTP(w http.ResponseWriter, req *http.Request) { - // Build a sorted version of the data. - var services = make(serviceArray, len(server.serviceMap)) - i := 0 - server.Lock() - for sname, service := range server.serviceMap { - services[i] = debugService{service, sname, make(methodArray, len(service.method))} - j := 0 - for mname, method := range service.method { - services[i].Method[j] = debugMethod{method, mname} - j++ - } - sort.Sort(services[i].Method) - i++ - } - server.Unlock() - sort.Sort(services) - err := debug.Execute(w, services) - if err != nil { - fmt.Fprintln(w, "rpc: error executing template:", err.String()) - } -} |