Skip to content

Commit

Permalink
Add tracing, add new account route
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Johnson committed Sep 20, 2022
1 parent dc0b6f2 commit 17d3d1a
Show file tree
Hide file tree
Showing 15 changed files with 611 additions and 30 deletions.
3 changes: 2 additions & 1 deletion Docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ services:
container_name: gmud
build: .
ports:
- "1234:1234" # fgtrace but doesnt work
- "2222:2222"
- "8080:8080"
- "8081:8081"
volumes:
- .:/code
command: "./app"
Expand Down
13 changes: 9 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ A mud in go

## Features

What's broken:
1. //TODO: SSH only takes one key and right now I'm getting errors accessing it
2. //TODO: gmud container cant connect to database
1. This is NOT a problem when running ./app from localhost

## Todo

1. Let user create a new character
Expand All @@ -13,24 +18,24 @@ A mud in go
5. CharacterRoutes GetUser returns the wrong list of characters, doesn't do its query
6. Require unique names sql queries Character.Name
7. Make a map of public keys
8. AccountLogin function runs login page on the server
8. *AccountLogin function runs login page on the server*
9. Docker-compose broken, gmud connection refused to mysql/localhost:3306 - can access w/ sqlstudio fine
10. Alive reports false need to switch to reverse bool or dead
11. Level shouldnt be 0
12.
12.


## Api Paths

http://127.0.0.1:8080/characters/9 {id}
http://127.0.0.1:8081/characters/9 {id}

``` go
r.GET("/characters", GetCharacters)
r.GET("/characters/:id", GetCharacter)
r.POST("/characters", CreateCharacter)
r.PUT("/characters/:id", UpdateCharacters)
r.DELETE("/characters/:id", DeleteCharacter)
r.Run(":8080")
r.Run(":8081")
```


Expand Down
Binary file modified cmd/app/app
Binary file not shown.
210 changes: 210 additions & 0 deletions cmd/app/fgtrace.json

Large diffs are not rendered by default.

8 changes: 6 additions & 2 deletions cmd/app/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func main() {
return func(s ssh.Session) {
user, _, _, _, _ := ssh.ParseAuthorizedKey(
[]byte("ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrr9hgSKnoddIDmzFyMnf5qb3QTsG40/9UyhexKiw6z [email protected]"),
) // TODO: Replace with file
) // TODO: Replace with file https://github.com/charmbracelet/wishlist/blob/main/server.go#L158
switch {
case ssh.KeysEqual(s.PublicKey(), user):
wish.Println(s, "%s\n Authorized", user) // TODO: Echo username, not ssh string
Expand Down Expand Up @@ -148,17 +148,21 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
return m, tea.Quit
case "l", "ctrl+l":
mn.AccountLogin()
case "n", "ctrl+n":
//mn.NewAccount()
return m, tea.Quit
}
}
return m, nil
}

func (m model) View() string {
s := "Welcome to gmud!\n"
s := "Welcome to gmud!\n\n"
s += "Your terminal is: %s\n"
s += "Your window size is x: %d y: %d\n\n"
s += "The date is " + m.time.Format(time.RFC1123) + "\n\n"
s += "Press 'l' to login\n"
s += "Press 'n' to create a new account\n"
s += "Press 'q' to quit\n"
return fmt.Sprintf(s, m.term, m.width, m.height)
}
Expand Down
7 changes: 7 additions & 0 deletions diag/v0.01.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
graph TD
A[Christmas] -->|Get money| B(Go shopping)
B --> C{Let me think}
C -->|One| D[Laptop]
C -->|Two| E[iPhone]
C -->|Three| F[fa:fa-car Car]

115 changes: 115 additions & 0 deletions extra/newaccount.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@

package menus

import (
"fmt"
"os"

tea "github.com/charmbracelet/bubbletea"
//"github.com/charmbracelet/wish"
)

type model struct {
choices []string // items on the list
cursor int // item our cursor is pointing at
selected map[int]struct{} // whats selected
}

func initialModel() model {
return model{
choices: []string{"Login", "Create Account", "Test"},

// A map which indicates which choices are selected. We're using
// the map like a mathematical set. The keys refer to the indexes
// of the `choices` slice, above.
selected: make(map[int]struct{}),
}
}

func (m model) Init() tea.Cmd {
// Just return `nil`, which means "no I/O right now, please."
return nil
}

func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
switch msg := msg.(type) {

// Is it a key press?
case tea.KeyMsg:

// Cool, what was the actual key pressed?
switch msg.String() {

// These keys should exit the program.
case "ctrl+c", "q":
return m, tea.Quit

// The "up" and "k" keys move the cursor up
case "up", "k":
if m.cursor > 0 {
m.cursor--
}

// The "down" and "j" keys move the cursor down
case "down", "j":
if m.cursor < len(m.choices)-1 {
m.cursor++
}

// The "enter" key and the spacebar (a literal space) toggle
// the selected state for the item that the cursor is pointing at.
case "enter", " ":
_, ok := m.selected[m.cursor]
if ok {
delete(m.selected, m.cursor)
} else {
m.selected[m.cursor] = struct{}{}
}
}
}

// Return the updated model to the Bubble Tea runtime for processing.
// Note that we're not returning a command.
return m, nil
}

func (m model) View() string {
// The header
s := "Login or create account?\n\n"

// Iterate over our choices
for i, choice := range m.choices {

// Is the cursor pointing at this choice?
cursor := " " // no cursor
if m.cursor == i {
cursor = ">" // cursor!
}

// Is this choice selected?
checked := " " // not selected
if _, ok := m.selected[i]; ok {
checked = "x" // selected!
}

// Render the row
s += fmt.Sprintf("%s [%s] %s\n", cursor, checked, choice)
}

// The footer
s += "\nPress q to quit.\n"

// Send the UI for rendering
return s
}



func NewAccount() error {
p := tea.NewProgram(initialModel())
if err := p.Start(); err != nil {
fmt.Printf("Alas, there's been an error: %v", err)
os.Exit(1)
}
return nil
}/* */
184 changes: 184 additions & 0 deletions fgtrace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
[{"name":"hz","ph":"M","ts":0,"args":{"hz":99}}
,{"name":"process_name","ph":"M","ts":0,"pid":1,"tid":1,"args":{"name":"G1"}}
,{"name":"running/runnable","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"main.main","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net/http.ListenAndServe","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net/http.(*Server).ListenAndServe","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.Listen","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.(*ListenConfig).Listen","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.(*sysListener).listenTCP","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.internetSocket","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.favoriteAddrFamily","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.supportsIPv4map","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"sync.(*Once).Do","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"sync.(*Once).doSlow","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.(*ipStackCapabilities).probe","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"net.sysSocket","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"syscall.CloseOnExec","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"syscall.fcntl","ph":"B","ts":0,"pid":1,"tid":1}
,{"name":"syscall.fcntl","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"syscall.CloseOnExec","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.sysSocket","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.(*ipStackCapabilities).probe","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"sync.(*Once).doSlow","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"sync.(*Once).Do","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.supportsIPv4map","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.favoriteAddrFamily","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.internetSocket","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.(*sysListener).listenTCP","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.(*ListenConfig).Listen","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net.Listen","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net/http.(*Server).ListenAndServe","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"net/http.ListenAndServe","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"main.main","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"running/runnable","ph":"E","ts":10472.375,"pid":1,"tid":1}
,{"name":"chan receive","ph":"B","ts":10472.375,"pid":1,"tid":1}
,{"name":"main.main","ph":"B","ts":10472.375,"pid":1,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":21,"tid":1,"args":{"name":"G21 main.main"}}
,{"name":"IO wait","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/mikejk8s/gmud/pkg/mysql.Connect","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/mikejk8s/gmud/pkg/mysql.dbConnection","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).ExecContext","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).exec","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).execDC","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"database/sql.withLock","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).execDC.func2","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"database/sql.ctxDriverExec","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).ExecContext","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).Exec","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).exec","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readResultSetHeaderPacket","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readPacket","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).readNext","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).fill","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"net.(*conn).Read","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"net.(*netFD).Read","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"internal/poll.(*FD).Read","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).waitRead","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).wait","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"internal/poll.runtime_pollWait","ph":"B","ts":10472.375,"pid":21,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":5,"tid":1,"args":{"name":"G5 database/sql.OpenDB"}}
,{"name":"select","ph":"B","ts":10472.375,"pid":5,"tid":1}
,{"name":"database/sql.(*DB).connectionOpener","ph":"B","ts":10472.375,"pid":5,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":34,"tid":1,"args":{"name":"G34 os/signal.Notify.func1.1"}}
,{"name":"syscall","ph":"B","ts":10472.375,"pid":34,"tid":1}
,{"name":"os/signal.loop","ph":"B","ts":10472.375,"pid":34,"tid":1}
,{"name":"os/signal.signal_recv","ph":"B","ts":10472.375,"pid":34,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":35,"tid":1,"args":{"name":"G35 main.main"}}
,{"name":"select","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"main.main.func3","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"github.com/gliderlabs/ssh.(*Server).ListenAndServe","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"net.Listen","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"net.(*ListenConfig).Listen","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"net.(*Resolver).resolveAddrList","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"net.(*Resolver).internetAddrList","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"net.(*Resolver).lookupIPAddr","ph":"B","ts":10472.375,"pid":35,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":53,"tid":1,"args":{"name":"G53 internal/singleflight.(*Group).DoChan"}}
,{"name":"select","ph":"B","ts":10472.375,"pid":53,"tid":1}
,{"name":"internal/singleflight.(*Group).doCall","ph":"B","ts":10472.375,"pid":53,"tid":1}
,{"name":"net.(*Resolver).lookupIPAddr.func1","ph":"B","ts":10472.375,"pid":53,"tid":1}
,{"name":"net.glob..func1","ph":"B","ts":10472.375,"pid":53,"tid":1}
,{"name":"net.(*Resolver).lookupIP","ph":"B","ts":10472.375,"pid":53,"tid":1}
,{"name":"net.cgoLookupIP","ph":"B","ts":10472.375,"pid":53,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":54,"tid":1,"args":{"name":"G54 net.cgoLookupIP"}}
,{"name":"syscall","ph":"B","ts":10472.375,"pid":54,"tid":1}
,{"name":"net.cgoIPLookup","ph":"B","ts":10472.375,"pid":54,"tid":1}
,{"name":"net.cgoLookupIPCNAME","ph":"B","ts":10472.375,"pid":54,"tid":1}
,{"name":"net.cgoLookupIPCNAME.func1","ph":"B","ts":10472.375,"pid":54,"tid":1}
,{"name":"net._C2func_getaddrinfo","ph":"B","ts":10472.375,"pid":54,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":83,"tid":1,"args":{"name":"G83 github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher"}}
,{"name":"select","ph":"B","ts":10472.375,"pid":83,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1","ph":"B","ts":10472.375,"pid":83,"tid":1}
,{"name":"internal/poll.runtime_pollWait","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).wait","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).waitRead","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.(*FD).Read","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"net.(*netFD).Read","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"net.(*conn).Read","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).fill","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).readNext","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readPacket","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readResultSetHeaderPacket","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).exec","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).Exec","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).ExecContext","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.ctxDriverExec","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).execDC.func2","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.withLock","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).execDC","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).exec","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).ExecContext","ph":"E","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).PingContext","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).conn","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*connector).Connect","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readHandshakePacket","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readPacket","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).readNext","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).fill","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"net.(*conn).Read","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"net.(*netFD).Read","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.(*FD).Read","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).waitRead","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).wait","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"internal/poll.runtime_pollWait","ph":"B","ts":20270,"pid":21,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":84,"tid":1,"args":{"name":"G84 database/sql.OpenDB"}}
,{"name":"select","ph":"B","ts":20270,"pid":84,"tid":1}
,{"name":"database/sql.(*DB).connectionOpener","ph":"B","ts":20270,"pid":84,"tid":1}
,{"name":"process_name","ph":"M","ts":0,"pid":86,"tid":1,"args":{"name":"G86 github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher"}}
,{"name":"select","ph":"B","ts":20270,"pid":86,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1","ph":"B","ts":20270,"pid":86,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1","ph":"E","ts":20270,"pid":83,"tid":1}
,{"name":"select","ph":"E","ts":20270,"pid":83,"tid":1}
,{"name":"database/sql.(*DB).connectionOpener","ph":"E","ts":20270,"pid":5,"tid":1}
,{"name":"select","ph":"E","ts":20270,"pid":5,"tid":1}
,{"name":"net.(*Resolver).lookupIPAddr","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.(*Resolver).internetAddrList","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.(*Resolver).resolveAddrList","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.(*ListenConfig).Listen","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.Listen","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"github.com/gliderlabs/ssh.(*Server).ListenAndServe","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"main.main.func3","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"select","ph":"E","ts":30333.25,"pid":35,"tid":1}
,{"name":"IO wait","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"main.main.func3","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"github.com/gliderlabs/ssh.(*Server).ListenAndServe","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"github.com/gliderlabs/ssh.(*Server).Serve","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.(*TCPListener).Accept","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.(*TCPListener).accept","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.(*netFD).accept","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"internal/poll.(*FD).Accept","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"internal/poll.(*pollDesc).waitRead","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"internal/poll.(*pollDesc).wait","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"internal/poll.runtime_pollWait","ph":"B","ts":30333.25,"pid":35,"tid":1}
,{"name":"net.cgoLookupIP","ph":"E","ts":30333.25,"pid":53,"tid":1}
,{"name":"net.(*Resolver).lookupIP","ph":"E","ts":30333.25,"pid":53,"tid":1}
,{"name":"net.glob..func1","ph":"E","ts":30333.25,"pid":53,"tid":1}
,{"name":"net.(*Resolver).lookupIPAddr.func1","ph":"E","ts":30333.25,"pid":53,"tid":1}
,{"name":"internal/singleflight.(*Group).doCall","ph":"E","ts":30333.25,"pid":53,"tid":1}
,{"name":"select","ph":"E","ts":30333.25,"pid":53,"tid":1}
,{"name":"net._C2func_getaddrinfo","ph":"E","ts":30333.25,"pid":54,"tid":1}
,{"name":"net.cgoLookupIPCNAME.func1","ph":"E","ts":30333.25,"pid":54,"tid":1}
,{"name":"net.cgoLookupIPCNAME","ph":"E","ts":30333.25,"pid":54,"tid":1}
,{"name":"net.cgoIPLookup","ph":"E","ts":30333.25,"pid":54,"tid":1}
,{"name":"syscall","ph":"E","ts":30333.25,"pid":54,"tid":1}
,{"name":"database/sql.(*DB).connectionOpener","ph":"E","ts":30333.25,"pid":84,"tid":1}
,{"name":"select","ph":"E","ts":30333.25,"pid":84,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).startWatcher.func1","ph":"E","ts":30333.25,"pid":86,"tid":1}
,{"name":"select","ph":"E","ts":30333.25,"pid":86,"tid":1}
,{"name":"internal/poll.runtime_pollWait","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).wait","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"internal/poll.(*pollDesc).waitRead","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"internal/poll.(*FD).Read","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"net.(*netFD).Read","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"net.(*conn).Read","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).fill","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*buffer).readNext","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readPacket","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*mysqlConn).readHandshakePacket","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/go-sql-driver/mysql.(*connector).Connect","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).conn","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"database/sql.(*DB).PingContext","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/mikejk8s/gmud/pkg/mysql.dbConnection","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"github.com/mikejk8s/gmud/pkg/mysql.Connect","ph":"E","ts":30333.25,"pid":21,"tid":1}
,{"name":"IO wait","ph":"E","ts":30333.25,"pid":21,"tid":1}
,
Loading

0 comments on commit 17d3d1a

Please sign in to comment.