API 가이드
이 문서에서 기술된 예제 코드는 github.com/whatap/go-api-example 저장소에서 확인할 수 있습니다.
다운로드
패지키 및 관련 종속성(dependency)을 다운로드하세요.
go get github.com/whatap/go-api
시작하기
init, shutdown
trace.Init()
함수를 이용해 모니터링 모듈을 시작하세요. defer trace.Shutdown()
으로 모니터링 종료를 보장합니다.
import "github.com/whatap/go-api/trace"
func main(){
trace.Init(nil)
//It must be executed before closing the app.
defer trace.Shutdown()
...
}
func Init(m map[string]string)
map[string]string
형식을 애플리케이션 초기에 설정할 수 있습니다. 또는 whatap.conf 파일에 설정할 수 있습니다. 에이전트와 TCP 접속이 정상적으로 이루어져야 성능 정보를 와탭 수집 서버로 보낼 수 있습니다. 기본 접속 정보로 127.0.0.1:6600을 통해 TCP로 통신합니다.
접속 정보를 변경하려면 Init
함수에 설정을 전달하거나 whatap.conf 파일에 설정하고 애플리케이션을 재시작하세요.
m := make(map[string]string)
m["net_ipc_host"] = "127.0.0.1"
m["net_ipc_port"] = "6601"
trace.Init(m)
accesskey={액세스 키}
whatap.server.host={수집 서버 IP 주소}
net_ipc_host=127.0.0.1
net_ipc_host=6600
Context
에이전트는 성능 정보를 트랜잭션 단위로 수집합니다. 트랜잭션의 구분은 whatap context(trace.TraceCtx)
가 포함된 context
를 기준으로 합니다. 트랜잭션에 연계되지 않는 성능 정보는 수집을 무시하거나 통계 정보로만 수집합니다.
트랜잭션 생성
go-api/trace
모듈의 Start
, StartWithReqest
함수로 whatap context
를 생성합니다. context
내부에 whatap
키로 TraceCtx
정보를 설정합니다.
var traceCtx *TraceCtx
traceCtx.Txid = keygen.Next()
ctx = context.WithValue(ctx, "whatap", traceCtx)
트랜잭션, SQL, DBConnection, 외부 HTTP request, 일반 함수 추적 등의 API에서 시작 시점에는 반드시 whatap
키로 TraceCtx
객체가 존재하는 Context
가 필요합니다.