github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/livekit/livekit_analytics.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.30.0 4 // protoc v3.20.3 5 // source: livekit_analytics.proto 6 7 package livekit 8 9 import ( 10 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 11 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 12 emptypb "google.golang.org/protobuf/types/known/emptypb" 13 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 14 reflect "reflect" 15 sync "sync" 16 ) 17 18 const ( 19 // Verify that this generated code is sufficiently up-to-date. 20 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 21 // Verify that runtime/protoimpl is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 23 ) 24 25 type StreamType int32 26 27 const ( 28 StreamType_UPSTREAM StreamType = 0 29 StreamType_DOWNSTREAM StreamType = 1 30 ) 31 32 // Enum value maps for StreamType. 33 var ( 34 StreamType_name = map[int32]string{ 35 0: "UPSTREAM", 36 1: "DOWNSTREAM", 37 } 38 StreamType_value = map[string]int32{ 39 "UPSTREAM": 0, 40 "DOWNSTREAM": 1, 41 } 42 ) 43 44 func (x StreamType) Enum() *StreamType { 45 p := new(StreamType) 46 *p = x 47 return p 48 } 49 50 func (x StreamType) String() string { 51 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 52 } 53 54 func (StreamType) Descriptor() protoreflect.EnumDescriptor { 55 return file_livekit_analytics_proto_enumTypes[0].Descriptor() 56 } 57 58 func (StreamType) Type() protoreflect.EnumType { 59 return &file_livekit_analytics_proto_enumTypes[0] 60 } 61 62 func (x StreamType) Number() protoreflect.EnumNumber { 63 return protoreflect.EnumNumber(x) 64 } 65 66 // Deprecated: Use StreamType.Descriptor instead. 67 func (StreamType) EnumDescriptor() ([]byte, []int) { 68 return file_livekit_analytics_proto_rawDescGZIP(), []int{0} 69 } 70 71 type AnalyticsEventType int32 72 73 const ( 74 AnalyticsEventType_ROOM_CREATED AnalyticsEventType = 0 75 AnalyticsEventType_ROOM_ENDED AnalyticsEventType = 1 76 AnalyticsEventType_PARTICIPANT_JOINED AnalyticsEventType = 2 77 AnalyticsEventType_PARTICIPANT_LEFT AnalyticsEventType = 3 78 AnalyticsEventType_TRACK_PUBLISHED AnalyticsEventType = 4 79 AnalyticsEventType_TRACK_PUBLISH_REQUESTED AnalyticsEventType = 20 80 AnalyticsEventType_TRACK_UNPUBLISHED AnalyticsEventType = 5 81 AnalyticsEventType_TRACK_SUBSCRIBED AnalyticsEventType = 6 82 AnalyticsEventType_TRACK_SUBSCRIBE_REQUESTED AnalyticsEventType = 21 83 AnalyticsEventType_TRACK_SUBSCRIBE_FAILED AnalyticsEventType = 25 84 AnalyticsEventType_TRACK_UNSUBSCRIBED AnalyticsEventType = 7 85 AnalyticsEventType_TRACK_PUBLISHED_UPDATE AnalyticsEventType = 10 86 AnalyticsEventType_TRACK_MUTED AnalyticsEventType = 23 87 AnalyticsEventType_TRACK_UNMUTED AnalyticsEventType = 24 88 AnalyticsEventType_TRACK_PUBLISH_STATS AnalyticsEventType = 26 89 AnalyticsEventType_TRACK_SUBSCRIBE_STATS AnalyticsEventType = 27 90 AnalyticsEventType_PARTICIPANT_ACTIVE AnalyticsEventType = 11 91 AnalyticsEventType_PARTICIPANT_RESUMED AnalyticsEventType = 22 92 AnalyticsEventType_EGRESS_STARTED AnalyticsEventType = 12 93 AnalyticsEventType_EGRESS_ENDED AnalyticsEventType = 13 94 AnalyticsEventType_TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY AnalyticsEventType = 14 95 AnalyticsEventType_RECONNECTED AnalyticsEventType = 15 96 AnalyticsEventType_INGRESS_CREATED AnalyticsEventType = 18 97 AnalyticsEventType_INGRESS_DELETED AnalyticsEventType = 19 98 AnalyticsEventType_INGRESS_STARTED AnalyticsEventType = 16 99 AnalyticsEventType_INGRESS_ENDED AnalyticsEventType = 17 100 ) 101 102 // Enum value maps for AnalyticsEventType. 103 var ( 104 AnalyticsEventType_name = map[int32]string{ 105 0: "ROOM_CREATED", 106 1: "ROOM_ENDED", 107 2: "PARTICIPANT_JOINED", 108 3: "PARTICIPANT_LEFT", 109 4: "TRACK_PUBLISHED", 110 20: "TRACK_PUBLISH_REQUESTED", 111 5: "TRACK_UNPUBLISHED", 112 6: "TRACK_SUBSCRIBED", 113 21: "TRACK_SUBSCRIBE_REQUESTED", 114 25: "TRACK_SUBSCRIBE_FAILED", 115 7: "TRACK_UNSUBSCRIBED", 116 10: "TRACK_PUBLISHED_UPDATE", 117 23: "TRACK_MUTED", 118 24: "TRACK_UNMUTED", 119 26: "TRACK_PUBLISH_STATS", 120 27: "TRACK_SUBSCRIBE_STATS", 121 11: "PARTICIPANT_ACTIVE", 122 22: "PARTICIPANT_RESUMED", 123 12: "EGRESS_STARTED", 124 13: "EGRESS_ENDED", 125 14: "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY", 126 15: "RECONNECTED", 127 18: "INGRESS_CREATED", 128 19: "INGRESS_DELETED", 129 16: "INGRESS_STARTED", 130 17: "INGRESS_ENDED", 131 } 132 AnalyticsEventType_value = map[string]int32{ 133 "ROOM_CREATED": 0, 134 "ROOM_ENDED": 1, 135 "PARTICIPANT_JOINED": 2, 136 "PARTICIPANT_LEFT": 3, 137 "TRACK_PUBLISHED": 4, 138 "TRACK_PUBLISH_REQUESTED": 20, 139 "TRACK_UNPUBLISHED": 5, 140 "TRACK_SUBSCRIBED": 6, 141 "TRACK_SUBSCRIBE_REQUESTED": 21, 142 "TRACK_SUBSCRIBE_FAILED": 25, 143 "TRACK_UNSUBSCRIBED": 7, 144 "TRACK_PUBLISHED_UPDATE": 10, 145 "TRACK_MUTED": 23, 146 "TRACK_UNMUTED": 24, 147 "TRACK_PUBLISH_STATS": 26, 148 "TRACK_SUBSCRIBE_STATS": 27, 149 "PARTICIPANT_ACTIVE": 11, 150 "PARTICIPANT_RESUMED": 22, 151 "EGRESS_STARTED": 12, 152 "EGRESS_ENDED": 13, 153 "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY": 14, 154 "RECONNECTED": 15, 155 "INGRESS_CREATED": 18, 156 "INGRESS_DELETED": 19, 157 "INGRESS_STARTED": 16, 158 "INGRESS_ENDED": 17, 159 } 160 ) 161 162 func (x AnalyticsEventType) Enum() *AnalyticsEventType { 163 p := new(AnalyticsEventType) 164 *p = x 165 return p 166 } 167 168 func (x AnalyticsEventType) String() string { 169 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 170 } 171 172 func (AnalyticsEventType) Descriptor() protoreflect.EnumDescriptor { 173 return file_livekit_analytics_proto_enumTypes[1].Descriptor() 174 } 175 176 func (AnalyticsEventType) Type() protoreflect.EnumType { 177 return &file_livekit_analytics_proto_enumTypes[1] 178 } 179 180 func (x AnalyticsEventType) Number() protoreflect.EnumNumber { 181 return protoreflect.EnumNumber(x) 182 } 183 184 // Deprecated: Use AnalyticsEventType.Descriptor instead. 185 func (AnalyticsEventType) EnumDescriptor() ([]byte, []int) { 186 return file_livekit_analytics_proto_rawDescGZIP(), []int{1} 187 } 188 189 type AnalyticsVideoLayer struct { 190 state protoimpl.MessageState 191 sizeCache protoimpl.SizeCache 192 unknownFields protoimpl.UnknownFields 193 194 Layer int32 `protobuf:"varint,1,opt,name=layer,proto3" json:"layer,omitempty"` 195 Packets uint32 `protobuf:"varint,2,opt,name=packets,proto3" json:"packets,omitempty"` 196 Bytes uint64 `protobuf:"varint,3,opt,name=bytes,proto3" json:"bytes,omitempty"` 197 Frames uint32 `protobuf:"varint,4,opt,name=frames,proto3" json:"frames,omitempty"` 198 } 199 200 func (x *AnalyticsVideoLayer) Reset() { 201 *x = AnalyticsVideoLayer{} 202 if protoimpl.UnsafeEnabled { 203 mi := &file_livekit_analytics_proto_msgTypes[0] 204 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 205 ms.StoreMessageInfo(mi) 206 } 207 } 208 209 func (x *AnalyticsVideoLayer) String() string { 210 return protoimpl.X.MessageStringOf(x) 211 } 212 213 func (*AnalyticsVideoLayer) ProtoMessage() {} 214 215 func (x *AnalyticsVideoLayer) ProtoReflect() protoreflect.Message { 216 mi := &file_livekit_analytics_proto_msgTypes[0] 217 if protoimpl.UnsafeEnabled && x != nil { 218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 219 if ms.LoadMessageInfo() == nil { 220 ms.StoreMessageInfo(mi) 221 } 222 return ms 223 } 224 return mi.MessageOf(x) 225 } 226 227 // Deprecated: Use AnalyticsVideoLayer.ProtoReflect.Descriptor instead. 228 func (*AnalyticsVideoLayer) Descriptor() ([]byte, []int) { 229 return file_livekit_analytics_proto_rawDescGZIP(), []int{0} 230 } 231 232 func (x *AnalyticsVideoLayer) GetLayer() int32 { 233 if x != nil { 234 return x.Layer 235 } 236 return 0 237 } 238 239 func (x *AnalyticsVideoLayer) GetPackets() uint32 { 240 if x != nil { 241 return x.Packets 242 } 243 return 0 244 } 245 246 func (x *AnalyticsVideoLayer) GetBytes() uint64 { 247 if x != nil { 248 return x.Bytes 249 } 250 return 0 251 } 252 253 func (x *AnalyticsVideoLayer) GetFrames() uint32 { 254 if x != nil { 255 return x.Frames 256 } 257 return 0 258 } 259 260 type AnalyticsStream struct { 261 state protoimpl.MessageState 262 sizeCache protoimpl.SizeCache 263 unknownFields protoimpl.UnknownFields 264 265 Ssrc uint32 `protobuf:"varint,1,opt,name=ssrc,proto3" json:"ssrc,omitempty"` 266 PrimaryPackets uint32 `protobuf:"varint,2,opt,name=primary_packets,json=primaryPackets,proto3" json:"primary_packets,omitempty"` 267 PrimaryBytes uint64 `protobuf:"varint,3,opt,name=primary_bytes,json=primaryBytes,proto3" json:"primary_bytes,omitempty"` 268 RetransmitPackets uint32 `protobuf:"varint,4,opt,name=retransmit_packets,json=retransmitPackets,proto3" json:"retransmit_packets,omitempty"` 269 RetransmitBytes uint64 `protobuf:"varint,5,opt,name=retransmit_bytes,json=retransmitBytes,proto3" json:"retransmit_bytes,omitempty"` 270 PaddingPackets uint32 `protobuf:"varint,6,opt,name=padding_packets,json=paddingPackets,proto3" json:"padding_packets,omitempty"` 271 PaddingBytes uint64 `protobuf:"varint,7,opt,name=padding_bytes,json=paddingBytes,proto3" json:"padding_bytes,omitempty"` 272 PacketsLost uint32 `protobuf:"varint,8,opt,name=packets_lost,json=packetsLost,proto3" json:"packets_lost,omitempty"` 273 Frames uint32 `protobuf:"varint,9,opt,name=frames,proto3" json:"frames,omitempty"` 274 Rtt uint32 `protobuf:"varint,10,opt,name=rtt,proto3" json:"rtt,omitempty"` 275 Jitter uint32 `protobuf:"varint,11,opt,name=jitter,proto3" json:"jitter,omitempty"` 276 Nacks uint32 `protobuf:"varint,12,opt,name=nacks,proto3" json:"nacks,omitempty"` 277 Plis uint32 `protobuf:"varint,13,opt,name=plis,proto3" json:"plis,omitempty"` 278 Firs uint32 `protobuf:"varint,14,opt,name=firs,proto3" json:"firs,omitempty"` 279 VideoLayers []*AnalyticsVideoLayer `protobuf:"bytes,15,rep,name=video_layers,json=videoLayers,proto3" json:"video_layers,omitempty"` 280 } 281 282 func (x *AnalyticsStream) Reset() { 283 *x = AnalyticsStream{} 284 if protoimpl.UnsafeEnabled { 285 mi := &file_livekit_analytics_proto_msgTypes[1] 286 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 287 ms.StoreMessageInfo(mi) 288 } 289 } 290 291 func (x *AnalyticsStream) String() string { 292 return protoimpl.X.MessageStringOf(x) 293 } 294 295 func (*AnalyticsStream) ProtoMessage() {} 296 297 func (x *AnalyticsStream) ProtoReflect() protoreflect.Message { 298 mi := &file_livekit_analytics_proto_msgTypes[1] 299 if protoimpl.UnsafeEnabled && x != nil { 300 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 301 if ms.LoadMessageInfo() == nil { 302 ms.StoreMessageInfo(mi) 303 } 304 return ms 305 } 306 return mi.MessageOf(x) 307 } 308 309 // Deprecated: Use AnalyticsStream.ProtoReflect.Descriptor instead. 310 func (*AnalyticsStream) Descriptor() ([]byte, []int) { 311 return file_livekit_analytics_proto_rawDescGZIP(), []int{1} 312 } 313 314 func (x *AnalyticsStream) GetSsrc() uint32 { 315 if x != nil { 316 return x.Ssrc 317 } 318 return 0 319 } 320 321 func (x *AnalyticsStream) GetPrimaryPackets() uint32 { 322 if x != nil { 323 return x.PrimaryPackets 324 } 325 return 0 326 } 327 328 func (x *AnalyticsStream) GetPrimaryBytes() uint64 { 329 if x != nil { 330 return x.PrimaryBytes 331 } 332 return 0 333 } 334 335 func (x *AnalyticsStream) GetRetransmitPackets() uint32 { 336 if x != nil { 337 return x.RetransmitPackets 338 } 339 return 0 340 } 341 342 func (x *AnalyticsStream) GetRetransmitBytes() uint64 { 343 if x != nil { 344 return x.RetransmitBytes 345 } 346 return 0 347 } 348 349 func (x *AnalyticsStream) GetPaddingPackets() uint32 { 350 if x != nil { 351 return x.PaddingPackets 352 } 353 return 0 354 } 355 356 func (x *AnalyticsStream) GetPaddingBytes() uint64 { 357 if x != nil { 358 return x.PaddingBytes 359 } 360 return 0 361 } 362 363 func (x *AnalyticsStream) GetPacketsLost() uint32 { 364 if x != nil { 365 return x.PacketsLost 366 } 367 return 0 368 } 369 370 func (x *AnalyticsStream) GetFrames() uint32 { 371 if x != nil { 372 return x.Frames 373 } 374 return 0 375 } 376 377 func (x *AnalyticsStream) GetRtt() uint32 { 378 if x != nil { 379 return x.Rtt 380 } 381 return 0 382 } 383 384 func (x *AnalyticsStream) GetJitter() uint32 { 385 if x != nil { 386 return x.Jitter 387 } 388 return 0 389 } 390 391 func (x *AnalyticsStream) GetNacks() uint32 { 392 if x != nil { 393 return x.Nacks 394 } 395 return 0 396 } 397 398 func (x *AnalyticsStream) GetPlis() uint32 { 399 if x != nil { 400 return x.Plis 401 } 402 return 0 403 } 404 405 func (x *AnalyticsStream) GetFirs() uint32 { 406 if x != nil { 407 return x.Firs 408 } 409 return 0 410 } 411 412 func (x *AnalyticsStream) GetVideoLayers() []*AnalyticsVideoLayer { 413 if x != nil { 414 return x.VideoLayers 415 } 416 return nil 417 } 418 419 type AnalyticsStat struct { 420 state protoimpl.MessageState 421 sizeCache protoimpl.SizeCache 422 unknownFields protoimpl.UnknownFields 423 424 AnalyticsKey string `protobuf:"bytes,1,opt,name=analytics_key,json=analyticsKey,proto3" json:"analytics_key,omitempty"` 425 Kind StreamType `protobuf:"varint,2,opt,name=kind,proto3,enum=livekit.StreamType" json:"kind,omitempty"` 426 TimeStamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"` 427 Node string `protobuf:"bytes,4,opt,name=node,proto3" json:"node,omitempty"` 428 RoomId string `protobuf:"bytes,5,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` 429 RoomName string `protobuf:"bytes,6,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` 430 ParticipantId string `protobuf:"bytes,7,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"` 431 TrackId string `protobuf:"bytes,8,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"` 432 Score float32 `protobuf:"fixed32,9,opt,name=score,proto3" json:"score,omitempty"` // average score 433 Streams []*AnalyticsStream `protobuf:"bytes,10,rep,name=streams,proto3" json:"streams,omitempty"` 434 Mime string `protobuf:"bytes,11,opt,name=mime,proto3" json:"mime,omitempty"` 435 MinScore float32 `protobuf:"fixed32,12,opt,name=min_score,json=minScore,proto3" json:"min_score,omitempty"` 436 MedianScore float32 `protobuf:"fixed32,13,opt,name=median_score,json=medianScore,proto3" json:"median_score,omitempty"` 437 } 438 439 func (x *AnalyticsStat) Reset() { 440 *x = AnalyticsStat{} 441 if protoimpl.UnsafeEnabled { 442 mi := &file_livekit_analytics_proto_msgTypes[2] 443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 444 ms.StoreMessageInfo(mi) 445 } 446 } 447 448 func (x *AnalyticsStat) String() string { 449 return protoimpl.X.MessageStringOf(x) 450 } 451 452 func (*AnalyticsStat) ProtoMessage() {} 453 454 func (x *AnalyticsStat) ProtoReflect() protoreflect.Message { 455 mi := &file_livekit_analytics_proto_msgTypes[2] 456 if protoimpl.UnsafeEnabled && x != nil { 457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 458 if ms.LoadMessageInfo() == nil { 459 ms.StoreMessageInfo(mi) 460 } 461 return ms 462 } 463 return mi.MessageOf(x) 464 } 465 466 // Deprecated: Use AnalyticsStat.ProtoReflect.Descriptor instead. 467 func (*AnalyticsStat) Descriptor() ([]byte, []int) { 468 return file_livekit_analytics_proto_rawDescGZIP(), []int{2} 469 } 470 471 func (x *AnalyticsStat) GetAnalyticsKey() string { 472 if x != nil { 473 return x.AnalyticsKey 474 } 475 return "" 476 } 477 478 func (x *AnalyticsStat) GetKind() StreamType { 479 if x != nil { 480 return x.Kind 481 } 482 return StreamType_UPSTREAM 483 } 484 485 func (x *AnalyticsStat) GetTimeStamp() *timestamppb.Timestamp { 486 if x != nil { 487 return x.TimeStamp 488 } 489 return nil 490 } 491 492 func (x *AnalyticsStat) GetNode() string { 493 if x != nil { 494 return x.Node 495 } 496 return "" 497 } 498 499 func (x *AnalyticsStat) GetRoomId() string { 500 if x != nil { 501 return x.RoomId 502 } 503 return "" 504 } 505 506 func (x *AnalyticsStat) GetRoomName() string { 507 if x != nil { 508 return x.RoomName 509 } 510 return "" 511 } 512 513 func (x *AnalyticsStat) GetParticipantId() string { 514 if x != nil { 515 return x.ParticipantId 516 } 517 return "" 518 } 519 520 func (x *AnalyticsStat) GetTrackId() string { 521 if x != nil { 522 return x.TrackId 523 } 524 return "" 525 } 526 527 func (x *AnalyticsStat) GetScore() float32 { 528 if x != nil { 529 return x.Score 530 } 531 return 0 532 } 533 534 func (x *AnalyticsStat) GetStreams() []*AnalyticsStream { 535 if x != nil { 536 return x.Streams 537 } 538 return nil 539 } 540 541 func (x *AnalyticsStat) GetMime() string { 542 if x != nil { 543 return x.Mime 544 } 545 return "" 546 } 547 548 func (x *AnalyticsStat) GetMinScore() float32 { 549 if x != nil { 550 return x.MinScore 551 } 552 return 0 553 } 554 555 func (x *AnalyticsStat) GetMedianScore() float32 { 556 if x != nil { 557 return x.MedianScore 558 } 559 return 0 560 } 561 562 type AnalyticsStats struct { 563 state protoimpl.MessageState 564 sizeCache protoimpl.SizeCache 565 unknownFields protoimpl.UnknownFields 566 567 Stats []*AnalyticsStat `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"` 568 } 569 570 func (x *AnalyticsStats) Reset() { 571 *x = AnalyticsStats{} 572 if protoimpl.UnsafeEnabled { 573 mi := &file_livekit_analytics_proto_msgTypes[3] 574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 575 ms.StoreMessageInfo(mi) 576 } 577 } 578 579 func (x *AnalyticsStats) String() string { 580 return protoimpl.X.MessageStringOf(x) 581 } 582 583 func (*AnalyticsStats) ProtoMessage() {} 584 585 func (x *AnalyticsStats) ProtoReflect() protoreflect.Message { 586 mi := &file_livekit_analytics_proto_msgTypes[3] 587 if protoimpl.UnsafeEnabled && x != nil { 588 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 589 if ms.LoadMessageInfo() == nil { 590 ms.StoreMessageInfo(mi) 591 } 592 return ms 593 } 594 return mi.MessageOf(x) 595 } 596 597 // Deprecated: Use AnalyticsStats.ProtoReflect.Descriptor instead. 598 func (*AnalyticsStats) Descriptor() ([]byte, []int) { 599 return file_livekit_analytics_proto_rawDescGZIP(), []int{3} 600 } 601 602 func (x *AnalyticsStats) GetStats() []*AnalyticsStat { 603 if x != nil { 604 return x.Stats 605 } 606 return nil 607 } 608 609 type AnalyticsClientMeta struct { 610 state protoimpl.MessageState 611 sizeCache protoimpl.SizeCache 612 unknownFields protoimpl.UnknownFields 613 614 Region string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"` 615 Node string `protobuf:"bytes,2,opt,name=node,proto3" json:"node,omitempty"` 616 ClientAddr string `protobuf:"bytes,3,opt,name=client_addr,json=clientAddr,proto3" json:"client_addr,omitempty"` 617 ClientConnectTime uint32 `protobuf:"varint,4,opt,name=client_connect_time,json=clientConnectTime,proto3" json:"client_connect_time,omitempty"` 618 // udp, tcp, turn 619 ConnectionType string `protobuf:"bytes,5,opt,name=connection_type,json=connectionType,proto3" json:"connection_type,omitempty"` 620 ReconnectReason ReconnectReason `protobuf:"varint,6,opt,name=reconnect_reason,json=reconnectReason,proto3,enum=livekit.ReconnectReason" json:"reconnect_reason,omitempty"` 621 } 622 623 func (x *AnalyticsClientMeta) Reset() { 624 *x = AnalyticsClientMeta{} 625 if protoimpl.UnsafeEnabled { 626 mi := &file_livekit_analytics_proto_msgTypes[4] 627 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 628 ms.StoreMessageInfo(mi) 629 } 630 } 631 632 func (x *AnalyticsClientMeta) String() string { 633 return protoimpl.X.MessageStringOf(x) 634 } 635 636 func (*AnalyticsClientMeta) ProtoMessage() {} 637 638 func (x *AnalyticsClientMeta) ProtoReflect() protoreflect.Message { 639 mi := &file_livekit_analytics_proto_msgTypes[4] 640 if protoimpl.UnsafeEnabled && x != nil { 641 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 642 if ms.LoadMessageInfo() == nil { 643 ms.StoreMessageInfo(mi) 644 } 645 return ms 646 } 647 return mi.MessageOf(x) 648 } 649 650 // Deprecated: Use AnalyticsClientMeta.ProtoReflect.Descriptor instead. 651 func (*AnalyticsClientMeta) Descriptor() ([]byte, []int) { 652 return file_livekit_analytics_proto_rawDescGZIP(), []int{4} 653 } 654 655 func (x *AnalyticsClientMeta) GetRegion() string { 656 if x != nil { 657 return x.Region 658 } 659 return "" 660 } 661 662 func (x *AnalyticsClientMeta) GetNode() string { 663 if x != nil { 664 return x.Node 665 } 666 return "" 667 } 668 669 func (x *AnalyticsClientMeta) GetClientAddr() string { 670 if x != nil { 671 return x.ClientAddr 672 } 673 return "" 674 } 675 676 func (x *AnalyticsClientMeta) GetClientConnectTime() uint32 { 677 if x != nil { 678 return x.ClientConnectTime 679 } 680 return 0 681 } 682 683 func (x *AnalyticsClientMeta) GetConnectionType() string { 684 if x != nil { 685 return x.ConnectionType 686 } 687 return "" 688 } 689 690 func (x *AnalyticsClientMeta) GetReconnectReason() ReconnectReason { 691 if x != nil { 692 return x.ReconnectReason 693 } 694 return ReconnectReason_RR_UNKOWN 695 } 696 697 type AnalyticsEvent struct { 698 state protoimpl.MessageState 699 sizeCache protoimpl.SizeCache 700 unknownFields protoimpl.UnknownFields 701 702 Type AnalyticsEventType `protobuf:"varint,1,opt,name=type,proto3,enum=livekit.AnalyticsEventType" json:"type,omitempty"` 703 Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 704 RoomId string `protobuf:"bytes,3,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` 705 Room *Room `protobuf:"bytes,4,opt,name=room,proto3" json:"room,omitempty"` 706 ParticipantId string `protobuf:"bytes,5,opt,name=participant_id,json=participantId,proto3" json:"participant_id,omitempty"` 707 Participant *ParticipantInfo `protobuf:"bytes,6,opt,name=participant,proto3" json:"participant,omitempty"` 708 TrackId string `protobuf:"bytes,7,opt,name=track_id,json=trackId,proto3" json:"track_id,omitempty"` 709 Track *TrackInfo `protobuf:"bytes,8,opt,name=track,proto3" json:"track,omitempty"` 710 AnalyticsKey string `protobuf:"bytes,10,opt,name=analytics_key,json=analyticsKey,proto3" json:"analytics_key,omitempty"` 711 ClientInfo *ClientInfo `protobuf:"bytes,11,opt,name=client_info,json=clientInfo,proto3" json:"client_info,omitempty"` 712 ClientMeta *AnalyticsClientMeta `protobuf:"bytes,12,opt,name=client_meta,json=clientMeta,proto3" json:"client_meta,omitempty"` 713 EgressId string `protobuf:"bytes,13,opt,name=egress_id,json=egressId,proto3" json:"egress_id,omitempty"` 714 IngressId string `protobuf:"bytes,19,opt,name=ingress_id,json=ingressId,proto3" json:"ingress_id,omitempty"` 715 MaxSubscribedVideoQuality VideoQuality `protobuf:"varint,14,opt,name=max_subscribed_video_quality,json=maxSubscribedVideoQuality,proto3,enum=livekit.VideoQuality" json:"max_subscribed_video_quality,omitempty"` 716 Publisher *ParticipantInfo `protobuf:"bytes,15,opt,name=publisher,proto3" json:"publisher,omitempty"` 717 Mime string `protobuf:"bytes,16,opt,name=mime,proto3" json:"mime,omitempty"` 718 Egress *EgressInfo `protobuf:"bytes,17,opt,name=egress,proto3" json:"egress,omitempty"` 719 Ingress *IngressInfo `protobuf:"bytes,18,opt,name=ingress,proto3" json:"ingress,omitempty"` 720 Error string `protobuf:"bytes,20,opt,name=error,proto3" json:"error,omitempty"` 721 RtpStats *RTPStats `protobuf:"bytes,21,opt,name=rtp_stats,json=rtpStats,proto3" json:"rtp_stats,omitempty"` 722 VideoLayer int32 `protobuf:"varint,22,opt,name=video_layer,json=videoLayer,proto3" json:"video_layer,omitempty"` 723 } 724 725 func (x *AnalyticsEvent) Reset() { 726 *x = AnalyticsEvent{} 727 if protoimpl.UnsafeEnabled { 728 mi := &file_livekit_analytics_proto_msgTypes[5] 729 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 730 ms.StoreMessageInfo(mi) 731 } 732 } 733 734 func (x *AnalyticsEvent) String() string { 735 return protoimpl.X.MessageStringOf(x) 736 } 737 738 func (*AnalyticsEvent) ProtoMessage() {} 739 740 func (x *AnalyticsEvent) ProtoReflect() protoreflect.Message { 741 mi := &file_livekit_analytics_proto_msgTypes[5] 742 if protoimpl.UnsafeEnabled && x != nil { 743 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 744 if ms.LoadMessageInfo() == nil { 745 ms.StoreMessageInfo(mi) 746 } 747 return ms 748 } 749 return mi.MessageOf(x) 750 } 751 752 // Deprecated: Use AnalyticsEvent.ProtoReflect.Descriptor instead. 753 func (*AnalyticsEvent) Descriptor() ([]byte, []int) { 754 return file_livekit_analytics_proto_rawDescGZIP(), []int{5} 755 } 756 757 func (x *AnalyticsEvent) GetType() AnalyticsEventType { 758 if x != nil { 759 return x.Type 760 } 761 return AnalyticsEventType_ROOM_CREATED 762 } 763 764 func (x *AnalyticsEvent) GetTimestamp() *timestamppb.Timestamp { 765 if x != nil { 766 return x.Timestamp 767 } 768 return nil 769 } 770 771 func (x *AnalyticsEvent) GetRoomId() string { 772 if x != nil { 773 return x.RoomId 774 } 775 return "" 776 } 777 778 func (x *AnalyticsEvent) GetRoom() *Room { 779 if x != nil { 780 return x.Room 781 } 782 return nil 783 } 784 785 func (x *AnalyticsEvent) GetParticipantId() string { 786 if x != nil { 787 return x.ParticipantId 788 } 789 return "" 790 } 791 792 func (x *AnalyticsEvent) GetParticipant() *ParticipantInfo { 793 if x != nil { 794 return x.Participant 795 } 796 return nil 797 } 798 799 func (x *AnalyticsEvent) GetTrackId() string { 800 if x != nil { 801 return x.TrackId 802 } 803 return "" 804 } 805 806 func (x *AnalyticsEvent) GetTrack() *TrackInfo { 807 if x != nil { 808 return x.Track 809 } 810 return nil 811 } 812 813 func (x *AnalyticsEvent) GetAnalyticsKey() string { 814 if x != nil { 815 return x.AnalyticsKey 816 } 817 return "" 818 } 819 820 func (x *AnalyticsEvent) GetClientInfo() *ClientInfo { 821 if x != nil { 822 return x.ClientInfo 823 } 824 return nil 825 } 826 827 func (x *AnalyticsEvent) GetClientMeta() *AnalyticsClientMeta { 828 if x != nil { 829 return x.ClientMeta 830 } 831 return nil 832 } 833 834 func (x *AnalyticsEvent) GetEgressId() string { 835 if x != nil { 836 return x.EgressId 837 } 838 return "" 839 } 840 841 func (x *AnalyticsEvent) GetIngressId() string { 842 if x != nil { 843 return x.IngressId 844 } 845 return "" 846 } 847 848 func (x *AnalyticsEvent) GetMaxSubscribedVideoQuality() VideoQuality { 849 if x != nil { 850 return x.MaxSubscribedVideoQuality 851 } 852 return VideoQuality_LOW 853 } 854 855 func (x *AnalyticsEvent) GetPublisher() *ParticipantInfo { 856 if x != nil { 857 return x.Publisher 858 } 859 return nil 860 } 861 862 func (x *AnalyticsEvent) GetMime() string { 863 if x != nil { 864 return x.Mime 865 } 866 return "" 867 } 868 869 func (x *AnalyticsEvent) GetEgress() *EgressInfo { 870 if x != nil { 871 return x.Egress 872 } 873 return nil 874 } 875 876 func (x *AnalyticsEvent) GetIngress() *IngressInfo { 877 if x != nil { 878 return x.Ingress 879 } 880 return nil 881 } 882 883 func (x *AnalyticsEvent) GetError() string { 884 if x != nil { 885 return x.Error 886 } 887 return "" 888 } 889 890 func (x *AnalyticsEvent) GetRtpStats() *RTPStats { 891 if x != nil { 892 return x.RtpStats 893 } 894 return nil 895 } 896 897 func (x *AnalyticsEvent) GetVideoLayer() int32 { 898 if x != nil { 899 return x.VideoLayer 900 } 901 return 0 902 } 903 904 type AnalyticsEvents struct { 905 state protoimpl.MessageState 906 sizeCache protoimpl.SizeCache 907 unknownFields protoimpl.UnknownFields 908 909 Events []*AnalyticsEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` 910 } 911 912 func (x *AnalyticsEvents) Reset() { 913 *x = AnalyticsEvents{} 914 if protoimpl.UnsafeEnabled { 915 mi := &file_livekit_analytics_proto_msgTypes[6] 916 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 917 ms.StoreMessageInfo(mi) 918 } 919 } 920 921 func (x *AnalyticsEvents) String() string { 922 return protoimpl.X.MessageStringOf(x) 923 } 924 925 func (*AnalyticsEvents) ProtoMessage() {} 926 927 func (x *AnalyticsEvents) ProtoReflect() protoreflect.Message { 928 mi := &file_livekit_analytics_proto_msgTypes[6] 929 if protoimpl.UnsafeEnabled && x != nil { 930 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 931 if ms.LoadMessageInfo() == nil { 932 ms.StoreMessageInfo(mi) 933 } 934 return ms 935 } 936 return mi.MessageOf(x) 937 } 938 939 // Deprecated: Use AnalyticsEvents.ProtoReflect.Descriptor instead. 940 func (*AnalyticsEvents) Descriptor() ([]byte, []int) { 941 return file_livekit_analytics_proto_rawDescGZIP(), []int{6} 942 } 943 944 func (x *AnalyticsEvents) GetEvents() []*AnalyticsEvent { 945 if x != nil { 946 return x.Events 947 } 948 return nil 949 } 950 951 var File_livekit_analytics_proto protoreflect.FileDescriptor 952 953 var file_livekit_analytics_proto_rawDesc = []byte{ 954 0x0a, 0x17, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 955 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 956 0x69, 0x74, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 957 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 958 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 959 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 960 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 961 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 962 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x6c, 0x69, 963 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 964 0x6f, 0x74, 0x6f, 0x22, 0x73, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 965 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 966 0x79, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x61, 0x79, 0x65, 0x72, 967 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 968 0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x79, 969 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65, 0x73, 970 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 971 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xff, 0x03, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 972 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 973 0x73, 0x73, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x73, 0x73, 0x72, 0x63, 974 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x63, 0x6b, 975 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 976 0x72, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x69, 977 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 978 0x52, 0x0c, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2d, 979 0x0a, 0x12, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x61, 0x63, 980 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x65, 0x74, 0x72, 981 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 982 0x10, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 983 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 984 0x6d, 0x69, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x64, 0x64, 985 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 986 0x0d, 0x52, 0x0e, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 987 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 988 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 989 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 990 0x73, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 991 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61, 992 0x6d, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 993 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x74, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 994 0x72, 0x74, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x18, 0x0b, 0x20, 995 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e, 996 0x61, 0x63, 0x6b, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6e, 0x61, 0x63, 0x6b, 997 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 998 0x04, 0x70, 0x6c, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x72, 0x73, 0x18, 0x0e, 0x20, 999 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x69, 0x72, 0x73, 0x12, 0x3f, 0x0a, 0x0c, 0x76, 0x69, 0x64, 1000 0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 1001 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 1002 0x69, 0x63, 0x73, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x0b, 0x76, 1003 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0xc2, 0x03, 0x0a, 0x0d, 0x41, 1004 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x12, 0x23, 0x0a, 0x0d, 1005 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 1006 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65, 1007 0x79, 0x12, 0x27, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 1008 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 1009 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69, 1010 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1011 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1012 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 1013 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 1014 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 1015 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 1016 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 1017 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 1018 0x25, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 1019 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 1020 0x70, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 1021 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 1022 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 1023 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 1024 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 1025 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x72, 0x65, 1026 0x61, 0x6d, 0x52, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 1027 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12, 1028 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0c, 0x20, 0x01, 1029 0x28, 0x02, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 1030 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 1031 0x28, 0x02, 0x52, 0x0b, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 1032 0x3e, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 1033 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 1034 0x32, 0x16, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 1035 0x74, 0x69, 0x63, 0x73, 0x53, 0x74, 0x61, 0x74, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x22, 1036 0x80, 0x02, 0x0a, 0x13, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69, 1037 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 1038 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 1039 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 1040 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 1041 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1042 0x41, 0x64, 0x64, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 1043 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 1044 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 1045 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 1046 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 1047 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 1048 0x10, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 1049 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 1050 0x74, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 1051 0x6e, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 1052 0x6f, 0x6e, 0x22, 0x9d, 0x07, 0x0a, 0x0e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 1053 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 1054 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 1055 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 1056 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 1057 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1058 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 1059 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 1060 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 1061 0x09, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 1062 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 1063 0x74, 0x2e, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 1064 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 1065 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 1066 0x74, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 1067 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 1068 0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 1069 0x66, 0x6f, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x12, 1070 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 1071 0x09, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x05, 0x74, 0x72, 1072 0x61, 0x63, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 1073 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x74, 1074 0x72, 0x61, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 1075 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 1076 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 1077 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 1078 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 1079 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 1080 0x3d, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x18, 0x0c, 1081 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 1082 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 1083 0x74, 0x61, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1b, 1084 0x0a, 0x09, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 1085 0x09, 0x52, 0x08, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 1086 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 1087 0x09, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x1c, 0x6d, 0x61, 1088 0x78, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x76, 0x69, 0x64, 1089 0x65, 0x6f, 0x5f, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 1090 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 1091 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x19, 0x6d, 0x61, 0x78, 0x53, 0x75, 0x62, 0x73, 1092 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 1093 0x74, 0x79, 0x12, 0x36, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 1094 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 1095 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 1096 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 1097 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12, 0x2b, 1098 0x0a, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 1099 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 1100 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x07, 0x69, 1101 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 1102 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 1103 0x66, 0x6f, 0x52, 0x07, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x65, 1104 0x72, 0x72, 0x6f, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 1105 0x72, 0x12, 0x2e, 0x0a, 0x09, 0x72, 0x74, 0x70, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x15, 1106 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 1107 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x08, 0x72, 0x74, 0x70, 0x53, 0x74, 0x61, 0x74, 1108 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 1109 0x18, 0x16, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 1110 0x65, 0x72, 0x22, 0x42, 0x0a, 0x0f, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 1111 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 1112 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 1113 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x06, 1114 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x2a, 0x2a, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 1115 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 1116 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x4f, 0x57, 0x4e, 0x53, 0x54, 0x52, 0x45, 0x41, 0x4d, 1117 0x10, 0x01, 0x2a, 0xec, 0x04, 0x0a, 0x12, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 1118 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f, 1119 0x4d, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 1120 0x4f, 0x4f, 0x4d, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50, 1121 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 1122 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 1123 0x4e, 0x54, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x54, 0x52, 0x41, 1124 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x04, 0x12, 0x1b, 1125 0x0a, 0x17, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 1126 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x14, 0x12, 0x15, 0x0a, 0x11, 0x54, 1127 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 1128 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 1129 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x06, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x52, 0x41, 0x43, 1130 0x4b, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x52, 0x45, 0x51, 0x55, 1131 0x45, 0x53, 0x54, 0x45, 0x44, 0x10, 0x15, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x52, 0x41, 0x43, 0x4b, 1132 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 1133 0x44, 0x10, 0x19, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x55, 0x4e, 0x53, 1134 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x10, 0x07, 0x12, 0x1a, 0x0a, 0x16, 0x54, 1135 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x55, 1136 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x0a, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x52, 0x41, 0x43, 0x4b, 1137 0x5f, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x17, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x52, 0x41, 0x43, 1138 0x4b, 0x5f, 0x55, 0x4e, 0x4d, 0x55, 0x54, 0x45, 0x44, 0x10, 0x18, 0x12, 0x17, 0x0a, 0x13, 0x54, 1139 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x5f, 0x53, 0x54, 0x41, 1140 0x54, 0x53, 0x10, 0x1a, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 0x53, 0x55, 1141 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x53, 0x10, 0x1b, 0x12, 1142 0x16, 0x0a, 0x12, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x41, 1143 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x0b, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 1144 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45, 0x44, 0x10, 0x16, 1145 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 1146 0x45, 0x44, 0x10, 0x0c, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45, 1147 0x4e, 0x44, 0x45, 0x44, 0x10, 0x0d, 0x12, 0x26, 0x0a, 0x22, 0x54, 0x52, 0x41, 0x43, 0x4b, 0x5f, 1148 0x4d, 0x41, 0x58, 0x5f, 0x53, 0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x44, 0x5f, 0x56, 1149 0x49, 0x44, 0x45, 0x4f, 0x5f, 0x51, 0x55, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x0e, 0x12, 0x0f, 1150 0x0a, 0x0b, 0x52, 0x45, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x0f, 0x12, 1151 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, 1152 0x45, 0x44, 0x10, 0x12, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 1153 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x13, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x47, 1154 0x52, 0x45, 0x53, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x10, 0x12, 0x11, 1155 0x0a, 0x0d, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x45, 0x4e, 0x44, 0x45, 0x44, 0x10, 1156 0x11, 0x32, 0xa4, 0x01, 0x0a, 0x18, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x52, 1157 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x42, 1158 0x0a, 0x0b, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x17, 0x2e, 1159 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x74, 0x69, 0x63, 1160 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1161 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 1162 0x28, 0x01, 0x12, 0x44, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x45, 0x76, 0x65, 0x6e, 1163 0x74, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x6e, 0x61, 1164 0x6c, 0x79, 0x74, 0x69, 0x63, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x16, 0x2e, 0x67, 1165 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 1166 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x28, 0x01, 0x42, 0x46, 0x5a, 0x23, 0x67, 0x69, 0x74, 0x68, 1167 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2f, 0x70, 1168 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0xaa, 1169 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0xea, 1170 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 1171 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1172 } 1173 1174 var ( 1175 file_livekit_analytics_proto_rawDescOnce sync.Once 1176 file_livekit_analytics_proto_rawDescData = file_livekit_analytics_proto_rawDesc 1177 ) 1178 1179 func file_livekit_analytics_proto_rawDescGZIP() []byte { 1180 file_livekit_analytics_proto_rawDescOnce.Do(func() { 1181 file_livekit_analytics_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_analytics_proto_rawDescData) 1182 }) 1183 return file_livekit_analytics_proto_rawDescData 1184 } 1185 1186 var file_livekit_analytics_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1187 var file_livekit_analytics_proto_msgTypes = make([]protoimpl.MessageInfo, 7) 1188 var file_livekit_analytics_proto_goTypes = []interface{}{ 1189 (StreamType)(0), // 0: livekit.StreamType 1190 (AnalyticsEventType)(0), // 1: livekit.AnalyticsEventType 1191 (*AnalyticsVideoLayer)(nil), // 2: livekit.AnalyticsVideoLayer 1192 (*AnalyticsStream)(nil), // 3: livekit.AnalyticsStream 1193 (*AnalyticsStat)(nil), // 4: livekit.AnalyticsStat 1194 (*AnalyticsStats)(nil), // 5: livekit.AnalyticsStats 1195 (*AnalyticsClientMeta)(nil), // 6: livekit.AnalyticsClientMeta 1196 (*AnalyticsEvent)(nil), // 7: livekit.AnalyticsEvent 1197 (*AnalyticsEvents)(nil), // 8: livekit.AnalyticsEvents 1198 (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp 1199 (ReconnectReason)(0), // 10: livekit.ReconnectReason 1200 (*Room)(nil), // 11: livekit.Room 1201 (*ParticipantInfo)(nil), // 12: livekit.ParticipantInfo 1202 (*TrackInfo)(nil), // 13: livekit.TrackInfo 1203 (*ClientInfo)(nil), // 14: livekit.ClientInfo 1204 (VideoQuality)(0), // 15: livekit.VideoQuality 1205 (*EgressInfo)(nil), // 16: livekit.EgressInfo 1206 (*IngressInfo)(nil), // 17: livekit.IngressInfo 1207 (*RTPStats)(nil), // 18: livekit.RTPStats 1208 (*emptypb.Empty)(nil), // 19: google.protobuf.Empty 1209 } 1210 var file_livekit_analytics_proto_depIdxs = []int32{ 1211 2, // 0: livekit.AnalyticsStream.video_layers:type_name -> livekit.AnalyticsVideoLayer 1212 0, // 1: livekit.AnalyticsStat.kind:type_name -> livekit.StreamType 1213 9, // 2: livekit.AnalyticsStat.time_stamp:type_name -> google.protobuf.Timestamp 1214 3, // 3: livekit.AnalyticsStat.streams:type_name -> livekit.AnalyticsStream 1215 4, // 4: livekit.AnalyticsStats.stats:type_name -> livekit.AnalyticsStat 1216 10, // 5: livekit.AnalyticsClientMeta.reconnect_reason:type_name -> livekit.ReconnectReason 1217 1, // 6: livekit.AnalyticsEvent.type:type_name -> livekit.AnalyticsEventType 1218 9, // 7: livekit.AnalyticsEvent.timestamp:type_name -> google.protobuf.Timestamp 1219 11, // 8: livekit.AnalyticsEvent.room:type_name -> livekit.Room 1220 12, // 9: livekit.AnalyticsEvent.participant:type_name -> livekit.ParticipantInfo 1221 13, // 10: livekit.AnalyticsEvent.track:type_name -> livekit.TrackInfo 1222 14, // 11: livekit.AnalyticsEvent.client_info:type_name -> livekit.ClientInfo 1223 6, // 12: livekit.AnalyticsEvent.client_meta:type_name -> livekit.AnalyticsClientMeta 1224 15, // 13: livekit.AnalyticsEvent.max_subscribed_video_quality:type_name -> livekit.VideoQuality 1225 12, // 14: livekit.AnalyticsEvent.publisher:type_name -> livekit.ParticipantInfo 1226 16, // 15: livekit.AnalyticsEvent.egress:type_name -> livekit.EgressInfo 1227 17, // 16: livekit.AnalyticsEvent.ingress:type_name -> livekit.IngressInfo 1228 18, // 17: livekit.AnalyticsEvent.rtp_stats:type_name -> livekit.RTPStats 1229 7, // 18: livekit.AnalyticsEvents.events:type_name -> livekit.AnalyticsEvent 1230 5, // 19: livekit.AnalyticsRecorderService.IngestStats:input_type -> livekit.AnalyticsStats 1231 8, // 20: livekit.AnalyticsRecorderService.IngestEvents:input_type -> livekit.AnalyticsEvents 1232 19, // 21: livekit.AnalyticsRecorderService.IngestStats:output_type -> google.protobuf.Empty 1233 19, // 22: livekit.AnalyticsRecorderService.IngestEvents:output_type -> google.protobuf.Empty 1234 21, // [21:23] is the sub-list for method output_type 1235 19, // [19:21] is the sub-list for method input_type 1236 19, // [19:19] is the sub-list for extension type_name 1237 19, // [19:19] is the sub-list for extension extendee 1238 0, // [0:19] is the sub-list for field type_name 1239 } 1240 1241 func init() { file_livekit_analytics_proto_init() } 1242 func file_livekit_analytics_proto_init() { 1243 if File_livekit_analytics_proto != nil { 1244 return 1245 } 1246 file_livekit_models_proto_init() 1247 file_livekit_egress_proto_init() 1248 file_livekit_ingress_proto_init() 1249 if !protoimpl.UnsafeEnabled { 1250 file_livekit_analytics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1251 switch v := v.(*AnalyticsVideoLayer); i { 1252 case 0: 1253 return &v.state 1254 case 1: 1255 return &v.sizeCache 1256 case 2: 1257 return &v.unknownFields 1258 default: 1259 return nil 1260 } 1261 } 1262 file_livekit_analytics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1263 switch v := v.(*AnalyticsStream); i { 1264 case 0: 1265 return &v.state 1266 case 1: 1267 return &v.sizeCache 1268 case 2: 1269 return &v.unknownFields 1270 default: 1271 return nil 1272 } 1273 } 1274 file_livekit_analytics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1275 switch v := v.(*AnalyticsStat); i { 1276 case 0: 1277 return &v.state 1278 case 1: 1279 return &v.sizeCache 1280 case 2: 1281 return &v.unknownFields 1282 default: 1283 return nil 1284 } 1285 } 1286 file_livekit_analytics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1287 switch v := v.(*AnalyticsStats); i { 1288 case 0: 1289 return &v.state 1290 case 1: 1291 return &v.sizeCache 1292 case 2: 1293 return &v.unknownFields 1294 default: 1295 return nil 1296 } 1297 } 1298 file_livekit_analytics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1299 switch v := v.(*AnalyticsClientMeta); i { 1300 case 0: 1301 return &v.state 1302 case 1: 1303 return &v.sizeCache 1304 case 2: 1305 return &v.unknownFields 1306 default: 1307 return nil 1308 } 1309 } 1310 file_livekit_analytics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1311 switch v := v.(*AnalyticsEvent); i { 1312 case 0: 1313 return &v.state 1314 case 1: 1315 return &v.sizeCache 1316 case 2: 1317 return &v.unknownFields 1318 default: 1319 return nil 1320 } 1321 } 1322 file_livekit_analytics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1323 switch v := v.(*AnalyticsEvents); i { 1324 case 0: 1325 return &v.state 1326 case 1: 1327 return &v.sizeCache 1328 case 2: 1329 return &v.unknownFields 1330 default: 1331 return nil 1332 } 1333 } 1334 } 1335 type x struct{} 1336 out := protoimpl.TypeBuilder{ 1337 File: protoimpl.DescBuilder{ 1338 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1339 RawDescriptor: file_livekit_analytics_proto_rawDesc, 1340 NumEnums: 2, 1341 NumMessages: 7, 1342 NumExtensions: 0, 1343 NumServices: 1, 1344 }, 1345 GoTypes: file_livekit_analytics_proto_goTypes, 1346 DependencyIndexes: file_livekit_analytics_proto_depIdxs, 1347 EnumInfos: file_livekit_analytics_proto_enumTypes, 1348 MessageInfos: file_livekit_analytics_proto_msgTypes, 1349 }.Build() 1350 File_livekit_analytics_proto = out.File 1351 file_livekit_analytics_proto_rawDesc = nil 1352 file_livekit_analytics_proto_goTypes = nil 1353 file_livekit_analytics_proto_depIdxs = nil 1354 }