Skip to content

hirosuzuki/go-sql-logger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISUCON Snippets

Import SQL Logger Module

install

go get github.com/hirosuzuki/go-sql-logger
import (
	_ "github.com/go-sql-driver/mysql"
	goSqlLogger "github.com/hirosuzuki/go-sql-logger"
   	"github.com/hirosuzuki/go-sql-logger/measure"
	"github.com/hirosuzuki/go-sql-logger/pprofiler"
)

Initalize Handler with Go Prof

func initializeHandler() {
	pprofiler.Start(70)
}

Open MySQL Connection using sqlx

goSqlLogger.RegisterTraceDBDriver()
sqlx.Open("mysql"+os.Getenv("MYSQL_DRIVER_POSTFIX"), dsn)

Service Start Script

#!/bin/sh
export MYSQL_DRIVER_POSTFIX=:logger
export SQL_LOGFILE=/tmp/sql.log
export CPU_PROFILE_FILE=/tmp/cpu.pprof

Nginx Config

log_format with_time '$remote_addr $uid_got $cookie_user [$time_local] '
    '"$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent" $request_time';

access_log /var/log/nginx/access.log with_time;

Measure

defer measure.Start("APIPaymentToken").Stop()

MySQL Slow Query

SET GLOBAL long_query_time = 0;
SET GLOBAL slow_query_log = ON;
SET GLOBAL slow_query_log_file = "/tmp/slow.log";

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages