@@ -512,15 +512,15 @@ func (i *InvocationStatService) getInvocationTrend(ctx context.Context, req *stp
512
512
func (i * InvocationStatService ) getExecutionTrendQuery (timeSettings * trendTimeSettings , timezoneOffsetMinutes int32 ) (string , []interface {}) {
513
513
if ! i .finerTimeBucketsEnabled () {
514
514
return fmt .Sprintf ("SELECT %s as name," , i .olapdbh .DateFromUsecTimestamp ("updated_at_usec" , timezoneOffsetMinutes )) + `
515
- quantilesExactExclusive(0.5, 0.75, 0.9, 0.95, 0.99)(IF(worker_start_timestamp_usec > queued_timestamp_usec, worker_start_timestamp_usec - queued_timestamp_usec, 0)) AS queue_duration_usec_quantiles,
515
+ quantilesExactExclusive(0.5, 0.75, 0.9, 0.95, 0.99)(IF(worker_start_timestamp_usec > queued_timestamp_usec AND queued_timestamp_usec > 0 , worker_start_timestamp_usec - queued_timestamp_usec, 0)) AS queue_duration_usec_quantiles,
516
516
SUM(GREATEST(COALESCE(worker_completed_timestamp_usec - worker_start_timestamp_usec, 0), 0)) as total_build_time_usec
517
517
FROM "Executions"` , make ([]interface {}, 0 )
518
518
}
519
519
520
520
bucketStr , bucketArgs := i .olapdbh .BucketFromUsecTimestamp ("updated_at_usec" , timeSettings .location , timeSettings .interval .ClickhouseInterval ())
521
521
522
522
return fmt .Sprintf ("SELECT %s as bucket_start_time_micros," , bucketStr ) + `
523
- quantilesExactExclusive(0.5, 0.75, 0.9, 0.95, 0.99)(IF(worker_start_timestamp_usec > queued_timestamp_usec, worker_start_timestamp_usec - queued_timestamp_usec, 0)) AS queue_duration_usec_quantiles,
523
+ quantilesExactExclusive(0.5, 0.75, 0.9, 0.95, 0.99)(IF(worker_start_timestamp_usec > queued_timestamp_usec AND queued_timestamp_usec > 0 , worker_start_timestamp_usec - queued_timestamp_usec, 0)) AS queue_duration_usec_quantiles,
524
524
SUM(GREATEST(COALESCE(worker_completed_timestamp_usec - worker_start_timestamp_usec, 0), 0)) as total_build_time_usec
525
525
FROM "Executions"
526
526
` , bucketArgs
0 commit comments