コード例 #1
0
ファイル: bench.go プロジェクト: disksing/tso
func main() {
	go http.ListenAndServe(":6666", nil)
	var wg sync.WaitGroup
	start := time.Now()
	for x := 0; x < clientCnt; x++ {
		c := client.NewClient(&client.Conf{ServerAddr: *serverAddress})
		wg.Add(1)
		go func() {
			defer wg.Done()
			cnt := total / clientCnt
			prs := make([]*client.PipelineRequest, cnt)
			for i := 0; i < cnt; i++ {
				pr := c.GoGetTimestamp()
				prs[i] = pr
			}

			for i := 0; i < cnt; i++ {
				prs[i].GetTS()
			}
		}()
	}
	wg.Wait()

	log.Debugf("Total %d, use %v/s", total, time.Since(start).Seconds())
}
コード例 #2
0
ファイル: remote.go プロジェクト: pingcap/go-themis
// NewRemoteOracle creates an oracle that use a remote data source.
// Refer https://github.com/ngaut/tso for more details.
func NewRemoteOracle(zks, path string) oracle.Oracle {
	return &remoteOracle{
		c: client.NewClient(&client.Conf{
			ZKAddr:   zks,
			RootPath: path,
		}),
	}
}
コード例 #3
0
ファイル: remote.go プロジェクト: yzl11/vessel
// NewRemoteOracle creates an oracle that use a remote data source, addr should
// be formatted as 'host:port'.
// Refer https://github.com/ngaut/tso for more details.
func NewRemoteOracle(addr string) oracle.Oracle {
	return &remoteOracle{
		c: client.NewClient(&client.Conf{ServerAddr: addr}),
	}
}