MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / sendTEventsBatch

Function sendTEventsBatch

pkg/wcloud/wcloud.go:150–180  ·  view source on GitHub ↗

returns (done, num-sent, error)

(clientId string)

Source from the content-addressed store, hash-verified

148
149// returns (done, num-sent, error)
150func sendTEventsBatch(clientId string) (bool, int, error) {
151 ctx, cancelFn := context.WithTimeout(context.Background(), WCloudDefaultTimeout)
152 defer cancelFn()
153 events, err := telemetry.GetNonUploadedTEvents(ctx, TEventsBatchSize)
154 if err != nil {
155 return true, 0, fmt.Errorf("cannot get events: %v", err)
156 }
157 if len(events) == 0 {
158 return true, 0, nil
159 }
160 input := TEventsInputType{
161 ClientId: clientId,
162 Events: events,
163 }
164 req, err := makeAnonPostReq(ctx, TEventsUrl, input)
165 if err != nil {
166 return true, 0, err
167 }
168 startTime := time.Now()
169 _, err = doRequest(req, nil, true)
170 latency := time.Since(startTime)
171 log.Printf("[wcloud] sent %d tevents (latency: %v)\n", len(events), latency)
172 if err != nil {
173 return true, 0, err
174 }
175 err = telemetry.MarkTEventsAsUploaded(ctx, events)
176 if err != nil {
177 return true, 0, fmt.Errorf("error marking activity as uploaded: %v", err)
178 }
179 return len(events) < TEventsBatchSize, len(events), nil
180}
181
182func sendTEvents(clientId string) (int, error) {
183 numIters := 0

Callers 1

sendTEventsFunction · 0.85

Calls 4

GetNonUploadedTEventsFunction · 0.92
MarkTEventsAsUploadedFunction · 0.92
makeAnonPostReqFunction · 0.85
doRequestFunction · 0.85

Tested by

no test coverage detected