Skip to content

Commit

Permalink
[ENG-2343] Stream attempts metric
Browse files Browse the repository at this point in the history
  • Loading branch information
pwilczynskiclearcode committed Jan 10, 2025
1 parent b026313 commit 02ef2f1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
13 changes: 13 additions & 0 deletions monitor/census.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ type (
mAIResultSaveFailed *stats.Int64Measure
mAICurrentLivePipelines *stats.Int64Measure
mAIFirstSegmentDelay *stats.Int64Measure
mAILiveAttempts *stats.Int64Measure

lock sync.Mutex
emergeTimes map[uint64]map[uint64]time.Time // nonce:seqNo
Expand Down Expand Up @@ -377,6 +378,7 @@ func InitCensus(nodeType NodeType, version string) {
census.mAIResultSaveFailed = stats.Int64("ai_result_upload_failed_total", "AIResultUploadFailed", "tot")
census.mAICurrentLivePipelines = stats.Int64("ai_current_live_pipelines", "Number of live AI pipelines currently running", "tot")
census.mAIFirstSegmentDelay = stats.Int64("ai_first_segment_delay_ms", "Delay of the first live AI segment being processed", "ms")
census.mAILiveAttempts = stats.Int64("ai_live_attempts", "AI Live stream attempted", "tot")

glog.Infof("Compiler: %s Arch %s OS %s Go version %s", runtime.Compiler, runtime.GOARCH, runtime.GOOS, runtime.Version())
glog.Infof("Livepeer version: %s", version)
Expand Down Expand Up @@ -991,6 +993,13 @@ func InitCensus(nodeType NodeType, version string) {
TagKeys: baseTagsWithOrchInfo,
Aggregation: view.Distribution(0, .10, .20, .50, .100, .150, .200, .500, .1000, .5000, 10.000),
},
{
Name: "ai_live_attempt",
Measure: census.mAILiveAttempts,
Description: "AI Live stream attempted",
TagKeys: baseTags,
Aggregation: view.Count(),
},
}

// Register the views
Expand Down Expand Up @@ -1992,6 +2001,10 @@ func AIFirstSegmentDelay(delayMs int64, orchInfo *lpnet.OrchestratorInfo) {
}
}

func AILiveVideoAttempt() {
stats.Record(census.ctx, census.mAILiveAttempts.M(1))

Check warning on line 2005 in monitor/census.go

View check run for this annotation

Codecov / codecov/patch

monitor/census.go#L2004-L2005

Added lines #L2004 - L2005 were not covered by tests
}

// Convert wei to gwei
func wei2gwei(wei *big.Int) float64 {
gwei, _ := new(big.Float).Quo(new(big.Float).SetInt(wei), big.NewFloat(float64(gweiConversionFactor))).Float64()
Expand Down
3 changes: 3 additions & 0 deletions server/ai_process.go
Original file line number Diff line number Diff line change
Expand Up @@ -1027,6 +1027,9 @@ const initPixelsToPay = 30 * 30 * 3200 * 1800 // 30 seconds, 30fps, 1800p

func submitLiveVideoToVideo(ctx context.Context, params aiRequestParams, sess *AISession, req worker.GenLiveVideoToVideoJSONRequestBody) (any, error) {
startTime := time.Now()
if monitor.Enabled {
monitor.AILiveVideoAttempt()
}

Check warning on line 1032 in server/ai_process.go

View check run for this annotation

Codecov / codecov/patch

server/ai_process.go#L1030-L1032

Added lines #L1030 - L1032 were not covered by tests
// Live Video should not reuse the existing session balance, because it could lead to not sending the init
// payment, which in turns may cause "Insufficient Balance" on the Orchestrator's side.
// It works differently than other AI Jobs, because Live Video is accounted by mid on the Orchestrator's side.
Expand Down

0 comments on commit 02ef2f1

Please sign in to comment.