Skip to content

Commit 785d3bf

Browse files
authored
update egress obsrv (#1481)
1 parent 218b0d4 commit 785d3bf

4 files changed

Lines changed: 66 additions & 22 deletions

File tree

egress/types.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,14 @@ type UploadRequest interface {
7373
GetAliOSS() *livekit.AliOSSUpload
7474
}
7575

76-
func GetTypes(request interface{}) (string, string) {
77-
if r, ok := request.(EgressRequest); ok {
78-
var egressType string
79-
if r.GetMedia() != nil {
80-
egressType = EgressTypeMedia
81-
} else if r.GetTemplate() != nil {
82-
egressType = EgressTypeTemplate
83-
} else if r.GetWeb() != nil {
84-
egressType = EgressTypeWeb
85-
} else {
86-
egressType = Unknown
87-
}
88-
return egressType, GetOutputTypeV2(r.GetOutputs())
89-
}
90-
76+
func GetTypes(request any) (string, string) {
9177
switch req := request.(type) {
78+
// case *livekit.EgressInfo_Egress:
79+
// return getSourceTypeV2(req.Egress), GetOutputTypeV2(req.Egress.Outputs)
80+
81+
case *livekit.EgressInfo_Replay:
82+
return getSourceTypeV2(req.Replay), GetOutputTypeV2(req.Replay.Outputs)
83+
9284
case *livekit.EgressInfo_RoomComposite:
9385
return EgressTypeRoomComposite, GetOutputType(req.RoomComposite)
9486

@@ -108,6 +100,17 @@ func GetTypes(request interface{}) (string, string) {
108100
return Unknown, Unknown
109101
}
110102

103+
func getSourceTypeV2(req EgressRequest) string {
104+
if req.GetMedia() != nil {
105+
return EgressTypeMedia
106+
} else if req.GetTemplate() != nil {
107+
return EgressTypeTemplate
108+
} else if req.GetWeb() != nil {
109+
return EgressTypeWeb
110+
}
111+
return Unknown
112+
}
113+
111114
func GetOutputTypeV2(outputs []*livekit.Output) string {
112115
if len(outputs) == 0 {
113116
return Unknown

observability/egressobs/egress.go

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77

88
"github.com/pkg/errors"
99

10+
"github.com/livekit/protocol/egress"
1011
"github.com/livekit/protocol/livekit"
1112
)
1213

@@ -18,18 +19,42 @@ type EgressResults struct {
1819
}
1920

2021
func GetSourceType(info *livekit.EgressInfo) SessionSourceType {
21-
switch info.SourceType {
22-
case livekit.EgressSourceType_EGRESS_SOURCE_TYPE_WEB:
23-
return SessionSourceTypeWeb
24-
case livekit.EgressSourceType_EGRESS_SOURCE_TYPE_SDK:
25-
return SessionSourceTypeSdk
22+
switch r := info.Request.(type) {
23+
// case *livekit.EgressInfo_Egress:
24+
// return getSourceTypeV2(r.Egress)
25+
case *livekit.EgressInfo_Replay:
26+
return getSourceTypeV2(r.Replay)
2627
default:
27-
return SessionSourceTypeUndefined
28+
switch info.SourceType {
29+
case livekit.EgressSourceType_EGRESS_SOURCE_TYPE_WEB:
30+
return SessionSourceTypeWeb
31+
case livekit.EgressSourceType_EGRESS_SOURCE_TYPE_SDK:
32+
return SessionSourceTypeSdk
33+
default:
34+
return SessionSourceTypeUndefined
35+
}
2836
}
2937
}
3038

39+
func getSourceTypeV2(r egress.EgressRequest) SessionSourceType {
40+
if r.GetMedia() != nil {
41+
return SessionSourceTypeMedia
42+
}
43+
if r.GetTemplate() != nil {
44+
return SessionSourceTypeTemplate
45+
}
46+
if r.GetWeb() != nil {
47+
return SessionSourceTypeWeb
48+
}
49+
return SessionSourceTypeUndefined
50+
}
51+
3152
func GetRequestType(info *livekit.EgressInfo) EgressRequestType {
3253
switch info.Request.(type) {
54+
// case *livekit.EgressInfo_Egress:
55+
// return EgressRequestTypeEgress
56+
case *livekit.EgressInfo_Replay:
57+
return EgressRequestTypeReplay
3358
case *livekit.EgressInfo_RoomComposite:
3459
return EgressRequestTypeRoomComposite
3560
case *livekit.EgressInfo_Web:
@@ -68,6 +93,18 @@ func GetStatus(info *livekit.EgressInfo) SessionStatus {
6893

6994
func GetRequest(info *livekit.EgressInfo) (string, error) {
7095
switch req := info.Request.(type) {
96+
// case *livekit.EgressInfo_Egress:
97+
// b, err := protojson.Marshal(req.Egress)
98+
// if err != nil {
99+
// return "", errors.Wrap(err, "failed to marshal egress request")
100+
// }
101+
// return string(b), nil
102+
case *livekit.EgressInfo_Replay:
103+
b, err := protojson.Marshal(req.Replay)
104+
if err != nil {
105+
return "", errors.Wrap(err, "failed serializing Replay request")
106+
}
107+
return string(b), nil
71108
case *livekit.EgressInfo_RoomComposite:
72109
b, err := protojson.Marshal(req.RoomComposite)
73110
if err != nil {

observability/egressobs/gen_reporter.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

observability/egressobs/gen_source.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)