func main() { runtime.GOMAXPROCS(runtime.NumCPU()) var config workload.Config workload.ReadConfig(&config) s := seriesly.SerieslyClient{} s.Init(config.SerieslyHostname, "sync_latency"+config.SerieslyDatabase) c := api.SyncGatewayClient{} c.Init(config.Hostname, config.Database) user := api.UserAuth{"collector", "password", []string{"stats"}} c.AddUser(user.Name, user) session := api.Session{Name: user.Name, TTL: 2592000} cookie := c.CreateSession(user.Name, session) c.AddCookie(&cookie) activeSamplers = 0 for doc := range workload.DocIterator(0, DocsPerUser, config.DocSize, "stats") { if activeSamplers < MaxSamplers { activeSamplers++ go measureLatency(&c, &s, doc) } time.Sleep(time.Duration(1000) * time.Millisecond) } }
func createSession(admin *api.SyncGatewayClient, user workload.User, config workload.Config) http.Cookie { userMeta := api.UserAuth{Name: user.Name, Password: "******", AdminChannels: []string{user.Channel}} admin.AddUser(user.Name, userMeta) session := api.Session{Name: user.Name, TTL: 2592000} // 1 month return admin.CreateSession(user.Name, session) }