Skip to content

Commit

Permalink
[#11] refactor sql driver
Browse files Browse the repository at this point in the history
  • Loading branch information
dwkang committed Aug 19, 2022
1 parent d9a6fed commit 23a77a1
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 96 deletions.
12 changes: 6 additions & 6 deletions plugin/mongodriver/mongo.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,13 @@ func (m *monitor) Started(ctx context.Context, evt *event.CommandStartedEvent) {
//fmt.Println("hostname= " + hostname)
//fmt.Println("json= " + string(b))

dbTrace := &pinpoint.DatabaseTrace{}
dbTrace.DbType = serviceTypeMongo
dbTrace.QueryType = serviceTypeMongoExecuteQuery
dbTrace.DbName = evt.DatabaseName
dbTrace.DbHost = hostname
dbInfo := &pinpoint.DBInfo{}
dbInfo.DBType = serviceTypeMongo
dbInfo.QueryType = serviceTypeMongoExecuteQuery
dbInfo.DBName = evt.DatabaseName
dbInfo.DBHost = hostname

tracer = pinpoint.NewDatabaseTracer(ctx, "mongodb."+evt.CommandName, dbTrace)
tracer = pinpoint.NewDatabaseTracer(ctx, "mongodb."+evt.CommandName, dbInfo)
tracer.SpanEvent().Annotations().AppendString(annotationMongoCollectioInfo, collName(evt))
tracer.SpanEvent().Annotations().AppendStringString(annotationMongoJasonData, string(b), "")

Expand Down
20 changes: 10 additions & 10 deletions plugin/mysql/mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,27 @@ const (
serviceTypeMysqlExecuteQuery = 2101
)

var dbTrace = pinpoint.DatabaseTrace{
var dbInfo = pinpoint.DBInfo{
ParseDSN: parseDSN,
}

func init() {
dbTrace.DbType = serviceTypeMysql
dbTrace.QueryType = serviceTypeMysqlExecuteQuery
sql.Register("mysql-pinpoint", pinpoint.MakePinpointSQLDriver(mysql.MySQLDriver{}, dbTrace))
dbInfo.DBType = serviceTypeMysql
dbInfo.QueryType = serviceTypeMysqlExecuteQuery
sql.Register("mysql-pinpoint", pinpoint.MakePinpointSQLDriver(mysql.MySQLDriver{}, dbInfo))
}

func parseDSN(dt *pinpoint.DatabaseTrace, dsn string) {
func parseDSN(info *pinpoint.DBInfo, dsn string) {
cfg, err := mysql.ParseDSN(dsn)
if nil != err {
return
}
parseConfig(dt, cfg)
parseConfig(info, cfg)
}

func parseConfig(dt *pinpoint.DatabaseTrace, cfg *mysql.Config) {
dt.DbName = cfg.DBName

func parseConfig(info *pinpoint.DBInfo, cfg *mysql.Config) {
var host string

switch cfg.Net {
case "unix", "unixgram", "unixpacket":
host = "localhost"
Expand All @@ -50,5 +49,6 @@ func parseConfig(dt *pinpoint.DatabaseTrace, cfg *mysql.Config) {
}
}

dt.DbHost = host
info.DBName = cfg.DBName
info.DBHost = host
}
14 changes: 7 additions & 7 deletions plugin/pgsql/pgsql.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,19 @@ const (
serviceTypePgSqlExecuteQuery = 2501
)

var dbTrace = pinpoint.DatabaseTrace{
var dbInfo = pinpoint.DBInfo{
ParseDSN: parseDSN,
}

func init() {
dbTrace.DbType = serviceTypePgSql
dbTrace.QueryType = serviceTypePgSqlExecuteQuery
sql.Register("pq-pinpoint", pinpoint.MakePinpointSQLDriver(&pq.Driver{}, dbTrace))
dbInfo.DBType = serviceTypePgSql
dbInfo.QueryType = serviceTypePgSqlExecuteQuery
sql.Register("pq-pinpoint", pinpoint.MakePinpointSQLDriver(&pq.Driver{}, dbInfo))
}

var dsnSplit = regexp.MustCompile(`(\w+)\s*=\s*('[^=]*'|[^'\s]+)`)

func parseDSN(dt *pinpoint.DatabaseTrace, dsn string) {
func parseDSN(info *pinpoint.DBInfo, dsn string) {
convDsn, err := pq.ParseURL(dsn)
if err != nil {
fmt.Println("error= " + err.Error())
Expand Down Expand Up @@ -67,8 +67,8 @@ func parseDSN(dt *pinpoint.DatabaseTrace, dsn string) {
host = "localhost"
}

dt.DbHost = host
dt.DbName = dbname
info.DBHost = host
info.DBName = dbname

//fmt.Println("host= " + host)
//fmt.Println("dbname= " + dbname)
Expand Down
Loading

0 comments on commit 23a77a1

Please sign in to comment.