1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20#[derive(PartialEq,Clone,Default)]
27pub struct Experiment {
28 pub name: ::std::string::String,
30 pub description: ::std::string::String,
31 pub user: ::std::string::String,
32 pub time_created_secs: f64,
33 pub hparam_infos: ::protobuf::RepeatedField<HParamInfo>,
34 pub metric_infos: ::protobuf::RepeatedField<MetricInfo>,
35 pub unknown_fields: ::protobuf::UnknownFields,
37 pub cached_size: ::protobuf::CachedSize,
38}
39
40impl<'a> ::std::default::Default for &'a Experiment {
41 fn default() -> &'a Experiment {
42 <Experiment as ::protobuf::Message>::default_instance()
43 }
44}
45
46impl Experiment {
47 pub fn new() -> Experiment {
48 ::std::default::Default::default()
49 }
50
51 pub fn get_name(&self) -> &str {
55 &self.name
56 }
57 pub fn clear_name(&mut self) {
58 self.name.clear();
59 }
60
61 pub fn set_name(&mut self, v: ::std::string::String) {
63 self.name = v;
64 }
65
66 pub fn mut_name(&mut self) -> &mut ::std::string::String {
69 &mut self.name
70 }
71
72 pub fn take_name(&mut self) -> ::std::string::String {
74 ::std::mem::replace(&mut self.name, ::std::string::String::new())
75 }
76
77 pub fn get_description(&self) -> &str {
81 &self.description
82 }
83 pub fn clear_description(&mut self) {
84 self.description.clear();
85 }
86
87 pub fn set_description(&mut self, v: ::std::string::String) {
89 self.description = v;
90 }
91
92 pub fn mut_description(&mut self) -> &mut ::std::string::String {
95 &mut self.description
96 }
97
98 pub fn take_description(&mut self) -> ::std::string::String {
100 ::std::mem::replace(&mut self.description, ::std::string::String::new())
101 }
102
103 pub fn get_user(&self) -> &str {
107 &self.user
108 }
109 pub fn clear_user(&mut self) {
110 self.user.clear();
111 }
112
113 pub fn set_user(&mut self, v: ::std::string::String) {
115 self.user = v;
116 }
117
118 pub fn mut_user(&mut self) -> &mut ::std::string::String {
121 &mut self.user
122 }
123
124 pub fn take_user(&mut self) -> ::std::string::String {
126 ::std::mem::replace(&mut self.user, ::std::string::String::new())
127 }
128
129 pub fn get_time_created_secs(&self) -> f64 {
133 self.time_created_secs
134 }
135 pub fn clear_time_created_secs(&mut self) {
136 self.time_created_secs = 0.;
137 }
138
139 pub fn set_time_created_secs(&mut self, v: f64) {
141 self.time_created_secs = v;
142 }
143
144 pub fn get_hparam_infos(&self) -> &[HParamInfo] {
148 &self.hparam_infos
149 }
150 pub fn clear_hparam_infos(&mut self) {
151 self.hparam_infos.clear();
152 }
153
154 pub fn set_hparam_infos(&mut self, v: ::protobuf::RepeatedField<HParamInfo>) {
156 self.hparam_infos = v;
157 }
158
159 pub fn mut_hparam_infos(&mut self) -> &mut ::protobuf::RepeatedField<HParamInfo> {
161 &mut self.hparam_infos
162 }
163
164 pub fn take_hparam_infos(&mut self) -> ::protobuf::RepeatedField<HParamInfo> {
166 ::std::mem::replace(&mut self.hparam_infos, ::protobuf::RepeatedField::new())
167 }
168
169 pub fn get_metric_infos(&self) -> &[MetricInfo] {
173 &self.metric_infos
174 }
175 pub fn clear_metric_infos(&mut self) {
176 self.metric_infos.clear();
177 }
178
179 pub fn set_metric_infos(&mut self, v: ::protobuf::RepeatedField<MetricInfo>) {
181 self.metric_infos = v;
182 }
183
184 pub fn mut_metric_infos(&mut self) -> &mut ::protobuf::RepeatedField<MetricInfo> {
186 &mut self.metric_infos
187 }
188
189 pub fn take_metric_infos(&mut self) -> ::protobuf::RepeatedField<MetricInfo> {
191 ::std::mem::replace(&mut self.metric_infos, ::protobuf::RepeatedField::new())
192 }
193}
194
195impl ::protobuf::Message for Experiment {
196 fn is_initialized(&self) -> bool {
197 for v in &self.hparam_infos {
198 if !v.is_initialized() {
199 return false;
200 }
201 };
202 for v in &self.metric_infos {
203 if !v.is_initialized() {
204 return false;
205 }
206 };
207 true
208 }
209
210 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
211 while !is.eof()? {
212 let (field_number, wire_type) = is.read_tag_unpack()?;
213 match field_number {
214 6 => {
215 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
216 },
217 1 => {
218 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
219 },
220 2 => {
221 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.user)?;
222 },
223 3 => {
224 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
225 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
226 }
227 let tmp = is.read_double()?;
228 self.time_created_secs = tmp;
229 },
230 4 => {
231 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.hparam_infos)?;
232 },
233 5 => {
234 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.metric_infos)?;
235 },
236 _ => {
237 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
238 },
239 };
240 }
241 ::std::result::Result::Ok(())
242 }
243
244 #[allow(unused_variables)]
246 fn compute_size(&self) -> u32 {
247 let mut my_size = 0;
248 if !self.name.is_empty() {
249 my_size += ::protobuf::rt::string_size(6, &self.name);
250 }
251 if !self.description.is_empty() {
252 my_size += ::protobuf::rt::string_size(1, &self.description);
253 }
254 if !self.user.is_empty() {
255 my_size += ::protobuf::rt::string_size(2, &self.user);
256 }
257 if self.time_created_secs != 0. {
258 my_size += 9;
259 }
260 for value in &self.hparam_infos {
261 let len = value.compute_size();
262 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
263 };
264 for value in &self.metric_infos {
265 let len = value.compute_size();
266 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
267 };
268 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
269 self.cached_size.set(my_size);
270 my_size
271 }
272
273 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
274 if !self.name.is_empty() {
275 os.write_string(6, &self.name)?;
276 }
277 if !self.description.is_empty() {
278 os.write_string(1, &self.description)?;
279 }
280 if !self.user.is_empty() {
281 os.write_string(2, &self.user)?;
282 }
283 if self.time_created_secs != 0. {
284 os.write_double(3, self.time_created_secs)?;
285 }
286 for v in &self.hparam_infos {
287 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
288 os.write_raw_varint32(v.get_cached_size())?;
289 v.write_to_with_cached_sizes(os)?;
290 };
291 for v in &self.metric_infos {
292 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
293 os.write_raw_varint32(v.get_cached_size())?;
294 v.write_to_with_cached_sizes(os)?;
295 };
296 os.write_unknown_fields(self.get_unknown_fields())?;
297 ::std::result::Result::Ok(())
298 }
299
300 fn get_cached_size(&self) -> u32 {
301 self.cached_size.get()
302 }
303
304 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
305 &self.unknown_fields
306 }
307
308 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
309 &mut self.unknown_fields
310 }
311
312 fn as_any(&self) -> &dyn (::std::any::Any) {
313 self as &dyn (::std::any::Any)
314 }
315 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
316 self as &mut dyn (::std::any::Any)
317 }
318 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
319 self
320 }
321
322 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
323 Self::descriptor_static()
324 }
325
326 fn new() -> Experiment {
327 Experiment::new()
328 }
329
330 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
331 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
332 descriptor.get(|| {
333 let mut fields = ::std::vec::Vec::new();
334 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
335 "name",
336 |m: &Experiment| { &m.name },
337 |m: &mut Experiment| { &mut m.name },
338 ));
339 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
340 "description",
341 |m: &Experiment| { &m.description },
342 |m: &mut Experiment| { &mut m.description },
343 ));
344 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
345 "user",
346 |m: &Experiment| { &m.user },
347 |m: &mut Experiment| { &mut m.user },
348 ));
349 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
350 "time_created_secs",
351 |m: &Experiment| { &m.time_created_secs },
352 |m: &mut Experiment| { &mut m.time_created_secs },
353 ));
354 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<HParamInfo>>(
355 "hparam_infos",
356 |m: &Experiment| { &m.hparam_infos },
357 |m: &mut Experiment| { &mut m.hparam_infos },
358 ));
359 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricInfo>>(
360 "metric_infos",
361 |m: &Experiment| { &m.metric_infos },
362 |m: &mut Experiment| { &mut m.metric_infos },
363 ));
364 ::protobuf::reflect::MessageDescriptor::new_pb_name::<Experiment>(
365 "Experiment",
366 fields,
367 file_descriptor_proto()
368 )
369 })
370 }
371
372 fn default_instance() -> &'static Experiment {
373 static instance: ::protobuf::rt::LazyV2<Experiment> = ::protobuf::rt::LazyV2::INIT;
374 instance.get(Experiment::new)
375 }
376}
377
378impl ::protobuf::Clear for Experiment {
379 fn clear(&mut self) {
380 self.name.clear();
381 self.description.clear();
382 self.user.clear();
383 self.time_created_secs = 0.;
384 self.hparam_infos.clear();
385 self.metric_infos.clear();
386 self.unknown_fields.clear();
387 }
388}
389
390impl ::std::fmt::Debug for Experiment {
391 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
392 ::protobuf::text_format::fmt(self, f)
393 }
394}
395
396impl ::protobuf::reflect::ProtobufValue for Experiment {
397 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
398 ::protobuf::reflect::ReflectValueRef::Message(self)
399 }
400}
401
402#[derive(PartialEq,Clone,Default)]
403pub struct HParamInfo {
404 pub name: ::std::string::String,
406 pub display_name: ::std::string::String,
407 pub description: ::std::string::String,
408 pub field_type: DataType,
409 pub domain: ::std::option::Option<HParamInfo_oneof_domain>,
411 pub unknown_fields: ::protobuf::UnknownFields,
413 pub cached_size: ::protobuf::CachedSize,
414}
415
416impl<'a> ::std::default::Default for &'a HParamInfo {
417 fn default() -> &'a HParamInfo {
418 <HParamInfo as ::protobuf::Message>::default_instance()
419 }
420}
421
422#[derive(Clone,PartialEq,Debug)]
423pub enum HParamInfo_oneof_domain {
424 domain_discrete(::protobuf::well_known_types::ListValue),
425 domain_interval(Interval),
426}
427
428impl HParamInfo {
429 pub fn new() -> HParamInfo {
430 ::std::default::Default::default()
431 }
432
433 pub fn get_name(&self) -> &str {
437 &self.name
438 }
439 pub fn clear_name(&mut self) {
440 self.name.clear();
441 }
442
443 pub fn set_name(&mut self, v: ::std::string::String) {
445 self.name = v;
446 }
447
448 pub fn mut_name(&mut self) -> &mut ::std::string::String {
451 &mut self.name
452 }
453
454 pub fn take_name(&mut self) -> ::std::string::String {
456 ::std::mem::replace(&mut self.name, ::std::string::String::new())
457 }
458
459 pub fn get_display_name(&self) -> &str {
463 &self.display_name
464 }
465 pub fn clear_display_name(&mut self) {
466 self.display_name.clear();
467 }
468
469 pub fn set_display_name(&mut self, v: ::std::string::String) {
471 self.display_name = v;
472 }
473
474 pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
477 &mut self.display_name
478 }
479
480 pub fn take_display_name(&mut self) -> ::std::string::String {
482 ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
483 }
484
485 pub fn get_description(&self) -> &str {
489 &self.description
490 }
491 pub fn clear_description(&mut self) {
492 self.description.clear();
493 }
494
495 pub fn set_description(&mut self, v: ::std::string::String) {
497 self.description = v;
498 }
499
500 pub fn mut_description(&mut self) -> &mut ::std::string::String {
503 &mut self.description
504 }
505
506 pub fn take_description(&mut self) -> ::std::string::String {
508 ::std::mem::replace(&mut self.description, ::std::string::String::new())
509 }
510
511 pub fn get_field_type(&self) -> DataType {
515 self.field_type
516 }
517 pub fn clear_field_type(&mut self) {
518 self.field_type = DataType::DATA_TYPE_UNSET;
519 }
520
521 pub fn set_field_type(&mut self, v: DataType) {
523 self.field_type = v;
524 }
525
526 pub fn get_domain_discrete(&self) -> &::protobuf::well_known_types::ListValue {
530 match self.domain {
531 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(ref v)) => v,
532 _ => <::protobuf::well_known_types::ListValue as ::protobuf::Message>::default_instance(),
533 }
534 }
535 pub fn clear_domain_discrete(&mut self) {
536 self.domain = ::std::option::Option::None;
537 }
538
539 pub fn has_domain_discrete(&self) -> bool {
540 match self.domain {
541 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(..)) => true,
542 _ => false,
543 }
544 }
545
546 pub fn set_domain_discrete(&mut self, v: ::protobuf::well_known_types::ListValue) {
548 self.domain = ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(v))
549 }
550
551 pub fn mut_domain_discrete(&mut self) -> &mut ::protobuf::well_known_types::ListValue {
553 if let ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(_)) = self.domain {
554 } else {
555 self.domain = ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(::protobuf::well_known_types::ListValue::new()));
556 }
557 match self.domain {
558 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(ref mut v)) => v,
559 _ => panic!(),
560 }
561 }
562
563 pub fn take_domain_discrete(&mut self) -> ::protobuf::well_known_types::ListValue {
565 if self.has_domain_discrete() {
566 match self.domain.take() {
567 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(v)) => v,
568 _ => panic!(),
569 }
570 } else {
571 ::protobuf::well_known_types::ListValue::new()
572 }
573 }
574
575 pub fn get_domain_interval(&self) -> &Interval {
579 match self.domain {
580 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(ref v)) => v,
581 _ => <Interval as ::protobuf::Message>::default_instance(),
582 }
583 }
584 pub fn clear_domain_interval(&mut self) {
585 self.domain = ::std::option::Option::None;
586 }
587
588 pub fn has_domain_interval(&self) -> bool {
589 match self.domain {
590 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(..)) => true,
591 _ => false,
592 }
593 }
594
595 pub fn set_domain_interval(&mut self, v: Interval) {
597 self.domain = ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(v))
598 }
599
600 pub fn mut_domain_interval(&mut self) -> &mut Interval {
602 if let ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(_)) = self.domain {
603 } else {
604 self.domain = ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(Interval::new()));
605 }
606 match self.domain {
607 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(ref mut v)) => v,
608 _ => panic!(),
609 }
610 }
611
612 pub fn take_domain_interval(&mut self) -> Interval {
614 if self.has_domain_interval() {
615 match self.domain.take() {
616 ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(v)) => v,
617 _ => panic!(),
618 }
619 } else {
620 Interval::new()
621 }
622 }
623}
624
625impl ::protobuf::Message for HParamInfo {
626 fn is_initialized(&self) -> bool {
627 if let Some(HParamInfo_oneof_domain::domain_discrete(ref v)) = self.domain {
628 if !v.is_initialized() {
629 return false;
630 }
631 }
632 if let Some(HParamInfo_oneof_domain::domain_interval(ref v)) = self.domain {
633 if !v.is_initialized() {
634 return false;
635 }
636 }
637 true
638 }
639
640 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
641 while !is.eof()? {
642 let (field_number, wire_type) = is.read_tag_unpack()?;
643 match field_number {
644 1 => {
645 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
646 },
647 2 => {
648 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
649 },
650 3 => {
651 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
652 },
653 4 => {
654 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 4, &mut self.unknown_fields)?
655 },
656 5 => {
657 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
658 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
659 }
660 self.domain = ::std::option::Option::Some(HParamInfo_oneof_domain::domain_discrete(is.read_message()?));
661 },
662 6 => {
663 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
664 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
665 }
666 self.domain = ::std::option::Option::Some(HParamInfo_oneof_domain::domain_interval(is.read_message()?));
667 },
668 _ => {
669 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
670 },
671 };
672 }
673 ::std::result::Result::Ok(())
674 }
675
676 #[allow(unused_variables)]
678 fn compute_size(&self) -> u32 {
679 let mut my_size = 0;
680 if !self.name.is_empty() {
681 my_size += ::protobuf::rt::string_size(1, &self.name);
682 }
683 if !self.display_name.is_empty() {
684 my_size += ::protobuf::rt::string_size(2, &self.display_name);
685 }
686 if !self.description.is_empty() {
687 my_size += ::protobuf::rt::string_size(3, &self.description);
688 }
689 if self.field_type != DataType::DATA_TYPE_UNSET {
690 my_size += ::protobuf::rt::enum_size(4, self.field_type);
691 }
692 if let ::std::option::Option::Some(ref v) = self.domain {
693 match v {
694 &HParamInfo_oneof_domain::domain_discrete(ref v) => {
695 let len = v.compute_size();
696 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
697 },
698 &HParamInfo_oneof_domain::domain_interval(ref v) => {
699 let len = v.compute_size();
700 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
701 },
702 };
703 }
704 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
705 self.cached_size.set(my_size);
706 my_size
707 }
708
709 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
710 if !self.name.is_empty() {
711 os.write_string(1, &self.name)?;
712 }
713 if !self.display_name.is_empty() {
714 os.write_string(2, &self.display_name)?;
715 }
716 if !self.description.is_empty() {
717 os.write_string(3, &self.description)?;
718 }
719 if self.field_type != DataType::DATA_TYPE_UNSET {
720 os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.field_type))?;
721 }
722 if let ::std::option::Option::Some(ref v) = self.domain {
723 match v {
724 &HParamInfo_oneof_domain::domain_discrete(ref v) => {
725 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
726 os.write_raw_varint32(v.get_cached_size())?;
727 v.write_to_with_cached_sizes(os)?;
728 },
729 &HParamInfo_oneof_domain::domain_interval(ref v) => {
730 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
731 os.write_raw_varint32(v.get_cached_size())?;
732 v.write_to_with_cached_sizes(os)?;
733 },
734 };
735 }
736 os.write_unknown_fields(self.get_unknown_fields())?;
737 ::std::result::Result::Ok(())
738 }
739
740 fn get_cached_size(&self) -> u32 {
741 self.cached_size.get()
742 }
743
744 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
745 &self.unknown_fields
746 }
747
748 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
749 &mut self.unknown_fields
750 }
751
752 fn as_any(&self) -> &dyn (::std::any::Any) {
753 self as &dyn (::std::any::Any)
754 }
755 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
756 self as &mut dyn (::std::any::Any)
757 }
758 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
759 self
760 }
761
762 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
763 Self::descriptor_static()
764 }
765
766 fn new() -> HParamInfo {
767 HParamInfo::new()
768 }
769
770 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
771 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
772 descriptor.get(|| {
773 let mut fields = ::std::vec::Vec::new();
774 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
775 "name",
776 |m: &HParamInfo| { &m.name },
777 |m: &mut HParamInfo| { &mut m.name },
778 ));
779 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
780 "display_name",
781 |m: &HParamInfo| { &m.display_name },
782 |m: &mut HParamInfo| { &mut m.display_name },
783 ));
784 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
785 "description",
786 |m: &HParamInfo| { &m.description },
787 |m: &mut HParamInfo| { &mut m.description },
788 ));
789 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<DataType>>(
790 "type",
791 |m: &HParamInfo| { &m.field_type },
792 |m: &mut HParamInfo| { &mut m.field_type },
793 ));
794 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ::protobuf::well_known_types::ListValue>(
795 "domain_discrete",
796 HParamInfo::has_domain_discrete,
797 HParamInfo::get_domain_discrete,
798 ));
799 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Interval>(
800 "domain_interval",
801 HParamInfo::has_domain_interval,
802 HParamInfo::get_domain_interval,
803 ));
804 ::protobuf::reflect::MessageDescriptor::new_pb_name::<HParamInfo>(
805 "HParamInfo",
806 fields,
807 file_descriptor_proto()
808 )
809 })
810 }
811
812 fn default_instance() -> &'static HParamInfo {
813 static instance: ::protobuf::rt::LazyV2<HParamInfo> = ::protobuf::rt::LazyV2::INIT;
814 instance.get(HParamInfo::new)
815 }
816}
817
818impl ::protobuf::Clear for HParamInfo {
819 fn clear(&mut self) {
820 self.name.clear();
821 self.display_name.clear();
822 self.description.clear();
823 self.field_type = DataType::DATA_TYPE_UNSET;
824 self.domain = ::std::option::Option::None;
825 self.domain = ::std::option::Option::None;
826 self.unknown_fields.clear();
827 }
828}
829
830impl ::std::fmt::Debug for HParamInfo {
831 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
832 ::protobuf::text_format::fmt(self, f)
833 }
834}
835
836impl ::protobuf::reflect::ProtobufValue for HParamInfo {
837 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
838 ::protobuf::reflect::ReflectValueRef::Message(self)
839 }
840}
841
842#[derive(PartialEq,Clone,Default)]
843pub struct Interval {
844 pub min_value: f64,
846 pub max_value: f64,
847 pub unknown_fields: ::protobuf::UnknownFields,
849 pub cached_size: ::protobuf::CachedSize,
850}
851
852impl<'a> ::std::default::Default for &'a Interval {
853 fn default() -> &'a Interval {
854 <Interval as ::protobuf::Message>::default_instance()
855 }
856}
857
858impl Interval {
859 pub fn new() -> Interval {
860 ::std::default::Default::default()
861 }
862
863 pub fn get_min_value(&self) -> f64 {
867 self.min_value
868 }
869 pub fn clear_min_value(&mut self) {
870 self.min_value = 0.;
871 }
872
873 pub fn set_min_value(&mut self, v: f64) {
875 self.min_value = v;
876 }
877
878 pub fn get_max_value(&self) -> f64 {
882 self.max_value
883 }
884 pub fn clear_max_value(&mut self) {
885 self.max_value = 0.;
886 }
887
888 pub fn set_max_value(&mut self, v: f64) {
890 self.max_value = v;
891 }
892}
893
894impl ::protobuf::Message for Interval {
895 fn is_initialized(&self) -> bool {
896 true
897 }
898
899 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
900 while !is.eof()? {
901 let (field_number, wire_type) = is.read_tag_unpack()?;
902 match field_number {
903 1 => {
904 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
905 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
906 }
907 let tmp = is.read_double()?;
908 self.min_value = tmp;
909 },
910 2 => {
911 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
912 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
913 }
914 let tmp = is.read_double()?;
915 self.max_value = tmp;
916 },
917 _ => {
918 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
919 },
920 };
921 }
922 ::std::result::Result::Ok(())
923 }
924
925 #[allow(unused_variables)]
927 fn compute_size(&self) -> u32 {
928 let mut my_size = 0;
929 if self.min_value != 0. {
930 my_size += 9;
931 }
932 if self.max_value != 0. {
933 my_size += 9;
934 }
935 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
936 self.cached_size.set(my_size);
937 my_size
938 }
939
940 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
941 if self.min_value != 0. {
942 os.write_double(1, self.min_value)?;
943 }
944 if self.max_value != 0. {
945 os.write_double(2, self.max_value)?;
946 }
947 os.write_unknown_fields(self.get_unknown_fields())?;
948 ::std::result::Result::Ok(())
949 }
950
951 fn get_cached_size(&self) -> u32 {
952 self.cached_size.get()
953 }
954
955 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
956 &self.unknown_fields
957 }
958
959 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
960 &mut self.unknown_fields
961 }
962
963 fn as_any(&self) -> &dyn (::std::any::Any) {
964 self as &dyn (::std::any::Any)
965 }
966 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
967 self as &mut dyn (::std::any::Any)
968 }
969 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
970 self
971 }
972
973 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
974 Self::descriptor_static()
975 }
976
977 fn new() -> Interval {
978 Interval::new()
979 }
980
981 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
982 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
983 descriptor.get(|| {
984 let mut fields = ::std::vec::Vec::new();
985 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
986 "min_value",
987 |m: &Interval| { &m.min_value },
988 |m: &mut Interval| { &mut m.min_value },
989 ));
990 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
991 "max_value",
992 |m: &Interval| { &m.max_value },
993 |m: &mut Interval| { &mut m.max_value },
994 ));
995 ::protobuf::reflect::MessageDescriptor::new_pb_name::<Interval>(
996 "Interval",
997 fields,
998 file_descriptor_proto()
999 )
1000 })
1001 }
1002
1003 fn default_instance() -> &'static Interval {
1004 static instance: ::protobuf::rt::LazyV2<Interval> = ::protobuf::rt::LazyV2::INIT;
1005 instance.get(Interval::new)
1006 }
1007}
1008
1009impl ::protobuf::Clear for Interval {
1010 fn clear(&mut self) {
1011 self.min_value = 0.;
1012 self.max_value = 0.;
1013 self.unknown_fields.clear();
1014 }
1015}
1016
1017impl ::std::fmt::Debug for Interval {
1018 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1019 ::protobuf::text_format::fmt(self, f)
1020 }
1021}
1022
1023impl ::protobuf::reflect::ProtobufValue for Interval {
1024 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1025 ::protobuf::reflect::ReflectValueRef::Message(self)
1026 }
1027}
1028
1029#[derive(PartialEq,Clone,Default)]
1030pub struct MetricName {
1031 pub group: ::std::string::String,
1033 pub tag: ::std::string::String,
1034 pub unknown_fields: ::protobuf::UnknownFields,
1036 pub cached_size: ::protobuf::CachedSize,
1037}
1038
1039impl<'a> ::std::default::Default for &'a MetricName {
1040 fn default() -> &'a MetricName {
1041 <MetricName as ::protobuf::Message>::default_instance()
1042 }
1043}
1044
1045impl MetricName {
1046 pub fn new() -> MetricName {
1047 ::std::default::Default::default()
1048 }
1049
1050 pub fn get_group(&self) -> &str {
1054 &self.group
1055 }
1056 pub fn clear_group(&mut self) {
1057 self.group.clear();
1058 }
1059
1060 pub fn set_group(&mut self, v: ::std::string::String) {
1062 self.group = v;
1063 }
1064
1065 pub fn mut_group(&mut self) -> &mut ::std::string::String {
1068 &mut self.group
1069 }
1070
1071 pub fn take_group(&mut self) -> ::std::string::String {
1073 ::std::mem::replace(&mut self.group, ::std::string::String::new())
1074 }
1075
1076 pub fn get_tag(&self) -> &str {
1080 &self.tag
1081 }
1082 pub fn clear_tag(&mut self) {
1083 self.tag.clear();
1084 }
1085
1086 pub fn set_tag(&mut self, v: ::std::string::String) {
1088 self.tag = v;
1089 }
1090
1091 pub fn mut_tag(&mut self) -> &mut ::std::string::String {
1094 &mut self.tag
1095 }
1096
1097 pub fn take_tag(&mut self) -> ::std::string::String {
1099 ::std::mem::replace(&mut self.tag, ::std::string::String::new())
1100 }
1101}
1102
1103impl ::protobuf::Message for MetricName {
1104 fn is_initialized(&self) -> bool {
1105 true
1106 }
1107
1108 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1109 while !is.eof()? {
1110 let (field_number, wire_type) = is.read_tag_unpack()?;
1111 match field_number {
1112 1 => {
1113 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.group)?;
1114 },
1115 2 => {
1116 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.tag)?;
1117 },
1118 _ => {
1119 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1120 },
1121 };
1122 }
1123 ::std::result::Result::Ok(())
1124 }
1125
1126 #[allow(unused_variables)]
1128 fn compute_size(&self) -> u32 {
1129 let mut my_size = 0;
1130 if !self.group.is_empty() {
1131 my_size += ::protobuf::rt::string_size(1, &self.group);
1132 }
1133 if !self.tag.is_empty() {
1134 my_size += ::protobuf::rt::string_size(2, &self.tag);
1135 }
1136 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1137 self.cached_size.set(my_size);
1138 my_size
1139 }
1140
1141 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1142 if !self.group.is_empty() {
1143 os.write_string(1, &self.group)?;
1144 }
1145 if !self.tag.is_empty() {
1146 os.write_string(2, &self.tag)?;
1147 }
1148 os.write_unknown_fields(self.get_unknown_fields())?;
1149 ::std::result::Result::Ok(())
1150 }
1151
1152 fn get_cached_size(&self) -> u32 {
1153 self.cached_size.get()
1154 }
1155
1156 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1157 &self.unknown_fields
1158 }
1159
1160 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1161 &mut self.unknown_fields
1162 }
1163
1164 fn as_any(&self) -> &dyn (::std::any::Any) {
1165 self as &dyn (::std::any::Any)
1166 }
1167 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1168 self as &mut dyn (::std::any::Any)
1169 }
1170 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1171 self
1172 }
1173
1174 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1175 Self::descriptor_static()
1176 }
1177
1178 fn new() -> MetricName {
1179 MetricName::new()
1180 }
1181
1182 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1183 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1184 descriptor.get(|| {
1185 let mut fields = ::std::vec::Vec::new();
1186 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1187 "group",
1188 |m: &MetricName| { &m.group },
1189 |m: &mut MetricName| { &mut m.group },
1190 ));
1191 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1192 "tag",
1193 |m: &MetricName| { &m.tag },
1194 |m: &mut MetricName| { &mut m.tag },
1195 ));
1196 ::protobuf::reflect::MessageDescriptor::new_pb_name::<MetricName>(
1197 "MetricName",
1198 fields,
1199 file_descriptor_proto()
1200 )
1201 })
1202 }
1203
1204 fn default_instance() -> &'static MetricName {
1205 static instance: ::protobuf::rt::LazyV2<MetricName> = ::protobuf::rt::LazyV2::INIT;
1206 instance.get(MetricName::new)
1207 }
1208}
1209
1210impl ::protobuf::Clear for MetricName {
1211 fn clear(&mut self) {
1212 self.group.clear();
1213 self.tag.clear();
1214 self.unknown_fields.clear();
1215 }
1216}
1217
1218impl ::std::fmt::Debug for MetricName {
1219 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1220 ::protobuf::text_format::fmt(self, f)
1221 }
1222}
1223
1224impl ::protobuf::reflect::ProtobufValue for MetricName {
1225 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1226 ::protobuf::reflect::ReflectValueRef::Message(self)
1227 }
1228}
1229
1230#[derive(PartialEq,Clone,Default)]
1231pub struct MetricInfo {
1232 pub name: ::protobuf::SingularPtrField<MetricName>,
1234 pub display_name: ::std::string::String,
1235 pub description: ::std::string::String,
1236 pub dataset_type: DatasetType,
1237 pub unknown_fields: ::protobuf::UnknownFields,
1239 pub cached_size: ::protobuf::CachedSize,
1240}
1241
1242impl<'a> ::std::default::Default for &'a MetricInfo {
1243 fn default() -> &'a MetricInfo {
1244 <MetricInfo as ::protobuf::Message>::default_instance()
1245 }
1246}
1247
1248impl MetricInfo {
1249 pub fn new() -> MetricInfo {
1250 ::std::default::Default::default()
1251 }
1252
1253 pub fn get_name(&self) -> &MetricName {
1257 self.name.as_ref().unwrap_or_else(|| <MetricName as ::protobuf::Message>::default_instance())
1258 }
1259 pub fn clear_name(&mut self) {
1260 self.name.clear();
1261 }
1262
1263 pub fn has_name(&self) -> bool {
1264 self.name.is_some()
1265 }
1266
1267 pub fn set_name(&mut self, v: MetricName) {
1269 self.name = ::protobuf::SingularPtrField::some(v);
1270 }
1271
1272 pub fn mut_name(&mut self) -> &mut MetricName {
1275 if self.name.is_none() {
1276 self.name.set_default();
1277 }
1278 self.name.as_mut().unwrap()
1279 }
1280
1281 pub fn take_name(&mut self) -> MetricName {
1283 self.name.take().unwrap_or_else(|| MetricName::new())
1284 }
1285
1286 pub fn get_display_name(&self) -> &str {
1290 &self.display_name
1291 }
1292 pub fn clear_display_name(&mut self) {
1293 self.display_name.clear();
1294 }
1295
1296 pub fn set_display_name(&mut self, v: ::std::string::String) {
1298 self.display_name = v;
1299 }
1300
1301 pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
1304 &mut self.display_name
1305 }
1306
1307 pub fn take_display_name(&mut self) -> ::std::string::String {
1309 ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
1310 }
1311
1312 pub fn get_description(&self) -> &str {
1316 &self.description
1317 }
1318 pub fn clear_description(&mut self) {
1319 self.description.clear();
1320 }
1321
1322 pub fn set_description(&mut self, v: ::std::string::String) {
1324 self.description = v;
1325 }
1326
1327 pub fn mut_description(&mut self) -> &mut ::std::string::String {
1330 &mut self.description
1331 }
1332
1333 pub fn take_description(&mut self) -> ::std::string::String {
1335 ::std::mem::replace(&mut self.description, ::std::string::String::new())
1336 }
1337
1338 pub fn get_dataset_type(&self) -> DatasetType {
1342 self.dataset_type
1343 }
1344 pub fn clear_dataset_type(&mut self) {
1345 self.dataset_type = DatasetType::DATASET_UNKNOWN;
1346 }
1347
1348 pub fn set_dataset_type(&mut self, v: DatasetType) {
1350 self.dataset_type = v;
1351 }
1352}
1353
1354impl ::protobuf::Message for MetricInfo {
1355 fn is_initialized(&self) -> bool {
1356 for v in &self.name {
1357 if !v.is_initialized() {
1358 return false;
1359 }
1360 };
1361 true
1362 }
1363
1364 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1365 while !is.eof()? {
1366 let (field_number, wire_type) = is.read_tag_unpack()?;
1367 match field_number {
1368 1 => {
1369 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.name)?;
1370 },
1371 3 => {
1372 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
1373 },
1374 4 => {
1375 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
1376 },
1377 5 => {
1378 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.dataset_type, 5, &mut self.unknown_fields)?
1379 },
1380 _ => {
1381 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1382 },
1383 };
1384 }
1385 ::std::result::Result::Ok(())
1386 }
1387
1388 #[allow(unused_variables)]
1390 fn compute_size(&self) -> u32 {
1391 let mut my_size = 0;
1392 if let Some(ref v) = self.name.as_ref() {
1393 let len = v.compute_size();
1394 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1395 }
1396 if !self.display_name.is_empty() {
1397 my_size += ::protobuf::rt::string_size(3, &self.display_name);
1398 }
1399 if !self.description.is_empty() {
1400 my_size += ::protobuf::rt::string_size(4, &self.description);
1401 }
1402 if self.dataset_type != DatasetType::DATASET_UNKNOWN {
1403 my_size += ::protobuf::rt::enum_size(5, self.dataset_type);
1404 }
1405 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1406 self.cached_size.set(my_size);
1407 my_size
1408 }
1409
1410 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1411 if let Some(ref v) = self.name.as_ref() {
1412 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1413 os.write_raw_varint32(v.get_cached_size())?;
1414 v.write_to_with_cached_sizes(os)?;
1415 }
1416 if !self.display_name.is_empty() {
1417 os.write_string(3, &self.display_name)?;
1418 }
1419 if !self.description.is_empty() {
1420 os.write_string(4, &self.description)?;
1421 }
1422 if self.dataset_type != DatasetType::DATASET_UNKNOWN {
1423 os.write_enum(5, ::protobuf::ProtobufEnum::value(&self.dataset_type))?;
1424 }
1425 os.write_unknown_fields(self.get_unknown_fields())?;
1426 ::std::result::Result::Ok(())
1427 }
1428
1429 fn get_cached_size(&self) -> u32 {
1430 self.cached_size.get()
1431 }
1432
1433 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1434 &self.unknown_fields
1435 }
1436
1437 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1438 &mut self.unknown_fields
1439 }
1440
1441 fn as_any(&self) -> &dyn (::std::any::Any) {
1442 self as &dyn (::std::any::Any)
1443 }
1444 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1445 self as &mut dyn (::std::any::Any)
1446 }
1447 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1448 self
1449 }
1450
1451 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1452 Self::descriptor_static()
1453 }
1454
1455 fn new() -> MetricInfo {
1456 MetricInfo::new()
1457 }
1458
1459 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1460 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1461 descriptor.get(|| {
1462 let mut fields = ::std::vec::Vec::new();
1463 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricName>>(
1464 "name",
1465 |m: &MetricInfo| { &m.name },
1466 |m: &mut MetricInfo| { &mut m.name },
1467 ));
1468 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1469 "display_name",
1470 |m: &MetricInfo| { &m.display_name },
1471 |m: &mut MetricInfo| { &mut m.display_name },
1472 ));
1473 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1474 "description",
1475 |m: &MetricInfo| { &m.description },
1476 |m: &mut MetricInfo| { &mut m.description },
1477 ));
1478 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<DatasetType>>(
1479 "dataset_type",
1480 |m: &MetricInfo| { &m.dataset_type },
1481 |m: &mut MetricInfo| { &mut m.dataset_type },
1482 ));
1483 ::protobuf::reflect::MessageDescriptor::new_pb_name::<MetricInfo>(
1484 "MetricInfo",
1485 fields,
1486 file_descriptor_proto()
1487 )
1488 })
1489 }
1490
1491 fn default_instance() -> &'static MetricInfo {
1492 static instance: ::protobuf::rt::LazyV2<MetricInfo> = ::protobuf::rt::LazyV2::INIT;
1493 instance.get(MetricInfo::new)
1494 }
1495}
1496
1497impl ::protobuf::Clear for MetricInfo {
1498 fn clear(&mut self) {
1499 self.name.clear();
1500 self.display_name.clear();
1501 self.description.clear();
1502 self.dataset_type = DatasetType::DATASET_UNKNOWN;
1503 self.unknown_fields.clear();
1504 }
1505}
1506
1507impl ::std::fmt::Debug for MetricInfo {
1508 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1509 ::protobuf::text_format::fmt(self, f)
1510 }
1511}
1512
1513impl ::protobuf::reflect::ProtobufValue for MetricInfo {
1514 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1515 ::protobuf::reflect::ReflectValueRef::Message(self)
1516 }
1517}
1518
1519#[derive(PartialEq,Clone,Default)]
1520pub struct SessionGroup {
1521 pub name: ::std::string::String,
1523 pub hparams: ::std::collections::HashMap<::std::string::String, ::protobuf::well_known_types::Value>,
1524 pub metric_values: ::protobuf::RepeatedField<MetricValue>,
1525 pub sessions: ::protobuf::RepeatedField<Session>,
1526 pub monitor_url: ::std::string::String,
1527 pub unknown_fields: ::protobuf::UnknownFields,
1529 pub cached_size: ::protobuf::CachedSize,
1530}
1531
1532impl<'a> ::std::default::Default for &'a SessionGroup {
1533 fn default() -> &'a SessionGroup {
1534 <SessionGroup as ::protobuf::Message>::default_instance()
1535 }
1536}
1537
1538impl SessionGroup {
1539 pub fn new() -> SessionGroup {
1540 ::std::default::Default::default()
1541 }
1542
1543 pub fn get_name(&self) -> &str {
1547 &self.name
1548 }
1549 pub fn clear_name(&mut self) {
1550 self.name.clear();
1551 }
1552
1553 pub fn set_name(&mut self, v: ::std::string::String) {
1555 self.name = v;
1556 }
1557
1558 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1561 &mut self.name
1562 }
1563
1564 pub fn take_name(&mut self) -> ::std::string::String {
1566 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1567 }
1568
1569 pub fn get_hparams(&self) -> &::std::collections::HashMap<::std::string::String, ::protobuf::well_known_types::Value> {
1573 &self.hparams
1574 }
1575 pub fn clear_hparams(&mut self) {
1576 self.hparams.clear();
1577 }
1578
1579 pub fn set_hparams(&mut self, v: ::std::collections::HashMap<::std::string::String, ::protobuf::well_known_types::Value>) {
1581 self.hparams = v;
1582 }
1583
1584 pub fn mut_hparams(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::protobuf::well_known_types::Value> {
1586 &mut self.hparams
1587 }
1588
1589 pub fn take_hparams(&mut self) -> ::std::collections::HashMap<::std::string::String, ::protobuf::well_known_types::Value> {
1591 ::std::mem::replace(&mut self.hparams, ::std::collections::HashMap::new())
1592 }
1593
1594 pub fn get_metric_values(&self) -> &[MetricValue] {
1598 &self.metric_values
1599 }
1600 pub fn clear_metric_values(&mut self) {
1601 self.metric_values.clear();
1602 }
1603
1604 pub fn set_metric_values(&mut self, v: ::protobuf::RepeatedField<MetricValue>) {
1606 self.metric_values = v;
1607 }
1608
1609 pub fn mut_metric_values(&mut self) -> &mut ::protobuf::RepeatedField<MetricValue> {
1611 &mut self.metric_values
1612 }
1613
1614 pub fn take_metric_values(&mut self) -> ::protobuf::RepeatedField<MetricValue> {
1616 ::std::mem::replace(&mut self.metric_values, ::protobuf::RepeatedField::new())
1617 }
1618
1619 pub fn get_sessions(&self) -> &[Session] {
1623 &self.sessions
1624 }
1625 pub fn clear_sessions(&mut self) {
1626 self.sessions.clear();
1627 }
1628
1629 pub fn set_sessions(&mut self, v: ::protobuf::RepeatedField<Session>) {
1631 self.sessions = v;
1632 }
1633
1634 pub fn mut_sessions(&mut self) -> &mut ::protobuf::RepeatedField<Session> {
1636 &mut self.sessions
1637 }
1638
1639 pub fn take_sessions(&mut self) -> ::protobuf::RepeatedField<Session> {
1641 ::std::mem::replace(&mut self.sessions, ::protobuf::RepeatedField::new())
1642 }
1643
1644 pub fn get_monitor_url(&self) -> &str {
1648 &self.monitor_url
1649 }
1650 pub fn clear_monitor_url(&mut self) {
1651 self.monitor_url.clear();
1652 }
1653
1654 pub fn set_monitor_url(&mut self, v: ::std::string::String) {
1656 self.monitor_url = v;
1657 }
1658
1659 pub fn mut_monitor_url(&mut self) -> &mut ::std::string::String {
1662 &mut self.monitor_url
1663 }
1664
1665 pub fn take_monitor_url(&mut self) -> ::std::string::String {
1667 ::std::mem::replace(&mut self.monitor_url, ::std::string::String::new())
1668 }
1669}
1670
1671impl ::protobuf::Message for SessionGroup {
1672 fn is_initialized(&self) -> bool {
1673 for v in &self.metric_values {
1674 if !v.is_initialized() {
1675 return false;
1676 }
1677 };
1678 for v in &self.sessions {
1679 if !v.is_initialized() {
1680 return false;
1681 }
1682 };
1683 true
1684 }
1685
1686 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1687 while !is.eof()? {
1688 let (field_number, wire_type) = is.read_tag_unpack()?;
1689 match field_number {
1690 1 => {
1691 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1692 },
1693 2 => {
1694 ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Value>>(wire_type, is, &mut self.hparams)?;
1695 },
1696 3 => {
1697 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.metric_values)?;
1698 },
1699 4 => {
1700 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.sessions)?;
1701 },
1702 5 => {
1703 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.monitor_url)?;
1704 },
1705 _ => {
1706 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1707 },
1708 };
1709 }
1710 ::std::result::Result::Ok(())
1711 }
1712
1713 #[allow(unused_variables)]
1715 fn compute_size(&self) -> u32 {
1716 let mut my_size = 0;
1717 if !self.name.is_empty() {
1718 my_size += ::protobuf::rt::string_size(1, &self.name);
1719 }
1720 my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Value>>(2, &self.hparams);
1721 for value in &self.metric_values {
1722 let len = value.compute_size();
1723 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1724 };
1725 for value in &self.sessions {
1726 let len = value.compute_size();
1727 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1728 };
1729 if !self.monitor_url.is_empty() {
1730 my_size += ::protobuf::rt::string_size(5, &self.monitor_url);
1731 }
1732 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1733 self.cached_size.set(my_size);
1734 my_size
1735 }
1736
1737 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1738 if !self.name.is_empty() {
1739 os.write_string(1, &self.name)?;
1740 }
1741 ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Value>>(2, &self.hparams, os)?;
1742 for v in &self.metric_values {
1743 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1744 os.write_raw_varint32(v.get_cached_size())?;
1745 v.write_to_with_cached_sizes(os)?;
1746 };
1747 for v in &self.sessions {
1748 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1749 os.write_raw_varint32(v.get_cached_size())?;
1750 v.write_to_with_cached_sizes(os)?;
1751 };
1752 if !self.monitor_url.is_empty() {
1753 os.write_string(5, &self.monitor_url)?;
1754 }
1755 os.write_unknown_fields(self.get_unknown_fields())?;
1756 ::std::result::Result::Ok(())
1757 }
1758
1759 fn get_cached_size(&self) -> u32 {
1760 self.cached_size.get()
1761 }
1762
1763 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1764 &self.unknown_fields
1765 }
1766
1767 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1768 &mut self.unknown_fields
1769 }
1770
1771 fn as_any(&self) -> &dyn (::std::any::Any) {
1772 self as &dyn (::std::any::Any)
1773 }
1774 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1775 self as &mut dyn (::std::any::Any)
1776 }
1777 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1778 self
1779 }
1780
1781 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1782 Self::descriptor_static()
1783 }
1784
1785 fn new() -> SessionGroup {
1786 SessionGroup::new()
1787 }
1788
1789 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1790 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1791 descriptor.get(|| {
1792 let mut fields = ::std::vec::Vec::new();
1793 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1794 "name",
1795 |m: &SessionGroup| { &m.name },
1796 |m: &mut SessionGroup| { &mut m.name },
1797 ));
1798 fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Value>>(
1799 "hparams",
1800 |m: &SessionGroup| { &m.hparams },
1801 |m: &mut SessionGroup| { &mut m.hparams },
1802 ));
1803 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricValue>>(
1804 "metric_values",
1805 |m: &SessionGroup| { &m.metric_values },
1806 |m: &mut SessionGroup| { &mut m.metric_values },
1807 ));
1808 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Session>>(
1809 "sessions",
1810 |m: &SessionGroup| { &m.sessions },
1811 |m: &mut SessionGroup| { &mut m.sessions },
1812 ));
1813 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1814 "monitor_url",
1815 |m: &SessionGroup| { &m.monitor_url },
1816 |m: &mut SessionGroup| { &mut m.monitor_url },
1817 ));
1818 ::protobuf::reflect::MessageDescriptor::new_pb_name::<SessionGroup>(
1819 "SessionGroup",
1820 fields,
1821 file_descriptor_proto()
1822 )
1823 })
1824 }
1825
1826 fn default_instance() -> &'static SessionGroup {
1827 static instance: ::protobuf::rt::LazyV2<SessionGroup> = ::protobuf::rt::LazyV2::INIT;
1828 instance.get(SessionGroup::new)
1829 }
1830}
1831
1832impl ::protobuf::Clear for SessionGroup {
1833 fn clear(&mut self) {
1834 self.name.clear();
1835 self.hparams.clear();
1836 self.metric_values.clear();
1837 self.sessions.clear();
1838 self.monitor_url.clear();
1839 self.unknown_fields.clear();
1840 }
1841}
1842
1843impl ::std::fmt::Debug for SessionGroup {
1844 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1845 ::protobuf::text_format::fmt(self, f)
1846 }
1847}
1848
1849impl ::protobuf::reflect::ProtobufValue for SessionGroup {
1850 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1851 ::protobuf::reflect::ReflectValueRef::Message(self)
1852 }
1853}
1854
1855#[derive(PartialEq,Clone,Default)]
1856pub struct MetricValue {
1857 pub name: ::protobuf::SingularPtrField<MetricName>,
1859 pub value: f64,
1860 pub training_step: i32,
1861 pub wall_time_secs: f64,
1862 pub unknown_fields: ::protobuf::UnknownFields,
1864 pub cached_size: ::protobuf::CachedSize,
1865}
1866
1867impl<'a> ::std::default::Default for &'a MetricValue {
1868 fn default() -> &'a MetricValue {
1869 <MetricValue as ::protobuf::Message>::default_instance()
1870 }
1871}
1872
1873impl MetricValue {
1874 pub fn new() -> MetricValue {
1875 ::std::default::Default::default()
1876 }
1877
1878 pub fn get_name(&self) -> &MetricName {
1882 self.name.as_ref().unwrap_or_else(|| <MetricName as ::protobuf::Message>::default_instance())
1883 }
1884 pub fn clear_name(&mut self) {
1885 self.name.clear();
1886 }
1887
1888 pub fn has_name(&self) -> bool {
1889 self.name.is_some()
1890 }
1891
1892 pub fn set_name(&mut self, v: MetricName) {
1894 self.name = ::protobuf::SingularPtrField::some(v);
1895 }
1896
1897 pub fn mut_name(&mut self) -> &mut MetricName {
1900 if self.name.is_none() {
1901 self.name.set_default();
1902 }
1903 self.name.as_mut().unwrap()
1904 }
1905
1906 pub fn take_name(&mut self) -> MetricName {
1908 self.name.take().unwrap_or_else(|| MetricName::new())
1909 }
1910
1911 pub fn get_value(&self) -> f64 {
1915 self.value
1916 }
1917 pub fn clear_value(&mut self) {
1918 self.value = 0.;
1919 }
1920
1921 pub fn set_value(&mut self, v: f64) {
1923 self.value = v;
1924 }
1925
1926 pub fn get_training_step(&self) -> i32 {
1930 self.training_step
1931 }
1932 pub fn clear_training_step(&mut self) {
1933 self.training_step = 0;
1934 }
1935
1936 pub fn set_training_step(&mut self, v: i32) {
1938 self.training_step = v;
1939 }
1940
1941 pub fn get_wall_time_secs(&self) -> f64 {
1945 self.wall_time_secs
1946 }
1947 pub fn clear_wall_time_secs(&mut self) {
1948 self.wall_time_secs = 0.;
1949 }
1950
1951 pub fn set_wall_time_secs(&mut self, v: f64) {
1953 self.wall_time_secs = v;
1954 }
1955}
1956
1957impl ::protobuf::Message for MetricValue {
1958 fn is_initialized(&self) -> bool {
1959 for v in &self.name {
1960 if !v.is_initialized() {
1961 return false;
1962 }
1963 };
1964 true
1965 }
1966
1967 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1968 while !is.eof()? {
1969 let (field_number, wire_type) = is.read_tag_unpack()?;
1970 match field_number {
1971 1 => {
1972 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.name)?;
1973 },
1974 2 => {
1975 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1976 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1977 }
1978 let tmp = is.read_double()?;
1979 self.value = tmp;
1980 },
1981 3 => {
1982 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1983 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1984 }
1985 let tmp = is.read_int32()?;
1986 self.training_step = tmp;
1987 },
1988 4 => {
1989 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
1990 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1991 }
1992 let tmp = is.read_double()?;
1993 self.wall_time_secs = tmp;
1994 },
1995 _ => {
1996 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1997 },
1998 };
1999 }
2000 ::std::result::Result::Ok(())
2001 }
2002
2003 #[allow(unused_variables)]
2005 fn compute_size(&self) -> u32 {
2006 let mut my_size = 0;
2007 if let Some(ref v) = self.name.as_ref() {
2008 let len = v.compute_size();
2009 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2010 }
2011 if self.value != 0. {
2012 my_size += 9;
2013 }
2014 if self.training_step != 0 {
2015 my_size += ::protobuf::rt::value_size(3, self.training_step, ::protobuf::wire_format::WireTypeVarint);
2016 }
2017 if self.wall_time_secs != 0. {
2018 my_size += 9;
2019 }
2020 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2021 self.cached_size.set(my_size);
2022 my_size
2023 }
2024
2025 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2026 if let Some(ref v) = self.name.as_ref() {
2027 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2028 os.write_raw_varint32(v.get_cached_size())?;
2029 v.write_to_with_cached_sizes(os)?;
2030 }
2031 if self.value != 0. {
2032 os.write_double(2, self.value)?;
2033 }
2034 if self.training_step != 0 {
2035 os.write_int32(3, self.training_step)?;
2036 }
2037 if self.wall_time_secs != 0. {
2038 os.write_double(4, self.wall_time_secs)?;
2039 }
2040 os.write_unknown_fields(self.get_unknown_fields())?;
2041 ::std::result::Result::Ok(())
2042 }
2043
2044 fn get_cached_size(&self) -> u32 {
2045 self.cached_size.get()
2046 }
2047
2048 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2049 &self.unknown_fields
2050 }
2051
2052 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2053 &mut self.unknown_fields
2054 }
2055
2056 fn as_any(&self) -> &dyn (::std::any::Any) {
2057 self as &dyn (::std::any::Any)
2058 }
2059 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2060 self as &mut dyn (::std::any::Any)
2061 }
2062 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2063 self
2064 }
2065
2066 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2067 Self::descriptor_static()
2068 }
2069
2070 fn new() -> MetricValue {
2071 MetricValue::new()
2072 }
2073
2074 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2075 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2076 descriptor.get(|| {
2077 let mut fields = ::std::vec::Vec::new();
2078 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricName>>(
2079 "name",
2080 |m: &MetricValue| { &m.name },
2081 |m: &mut MetricValue| { &mut m.name },
2082 ));
2083 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
2084 "value",
2085 |m: &MetricValue| { &m.value },
2086 |m: &mut MetricValue| { &mut m.value },
2087 ));
2088 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
2089 "training_step",
2090 |m: &MetricValue| { &m.training_step },
2091 |m: &mut MetricValue| { &mut m.training_step },
2092 ));
2093 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
2094 "wall_time_secs",
2095 |m: &MetricValue| { &m.wall_time_secs },
2096 |m: &mut MetricValue| { &mut m.wall_time_secs },
2097 ));
2098 ::protobuf::reflect::MessageDescriptor::new_pb_name::<MetricValue>(
2099 "MetricValue",
2100 fields,
2101 file_descriptor_proto()
2102 )
2103 })
2104 }
2105
2106 fn default_instance() -> &'static MetricValue {
2107 static instance: ::protobuf::rt::LazyV2<MetricValue> = ::protobuf::rt::LazyV2::INIT;
2108 instance.get(MetricValue::new)
2109 }
2110}
2111
2112impl ::protobuf::Clear for MetricValue {
2113 fn clear(&mut self) {
2114 self.name.clear();
2115 self.value = 0.;
2116 self.training_step = 0;
2117 self.wall_time_secs = 0.;
2118 self.unknown_fields.clear();
2119 }
2120}
2121
2122impl ::std::fmt::Debug for MetricValue {
2123 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2124 ::protobuf::text_format::fmt(self, f)
2125 }
2126}
2127
2128impl ::protobuf::reflect::ProtobufValue for MetricValue {
2129 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2130 ::protobuf::reflect::ReflectValueRef::Message(self)
2131 }
2132}
2133
2134#[derive(PartialEq,Clone,Default)]
2135pub struct Session {
2136 pub name: ::std::string::String,
2138 pub start_time_secs: f64,
2139 pub end_time_secs: f64,
2140 pub status: Status,
2141 pub model_uri: ::std::string::String,
2142 pub metric_values: ::protobuf::RepeatedField<MetricValue>,
2143 pub monitor_url: ::std::string::String,
2144 pub unknown_fields: ::protobuf::UnknownFields,
2146 pub cached_size: ::protobuf::CachedSize,
2147}
2148
2149impl<'a> ::std::default::Default for &'a Session {
2150 fn default() -> &'a Session {
2151 <Session as ::protobuf::Message>::default_instance()
2152 }
2153}
2154
2155impl Session {
2156 pub fn new() -> Session {
2157 ::std::default::Default::default()
2158 }
2159
2160 pub fn get_name(&self) -> &str {
2164 &self.name
2165 }
2166 pub fn clear_name(&mut self) {
2167 self.name.clear();
2168 }
2169
2170 pub fn set_name(&mut self, v: ::std::string::String) {
2172 self.name = v;
2173 }
2174
2175 pub fn mut_name(&mut self) -> &mut ::std::string::String {
2178 &mut self.name
2179 }
2180
2181 pub fn take_name(&mut self) -> ::std::string::String {
2183 ::std::mem::replace(&mut self.name, ::std::string::String::new())
2184 }
2185
2186 pub fn get_start_time_secs(&self) -> f64 {
2190 self.start_time_secs
2191 }
2192 pub fn clear_start_time_secs(&mut self) {
2193 self.start_time_secs = 0.;
2194 }
2195
2196 pub fn set_start_time_secs(&mut self, v: f64) {
2198 self.start_time_secs = v;
2199 }
2200
2201 pub fn get_end_time_secs(&self) -> f64 {
2205 self.end_time_secs
2206 }
2207 pub fn clear_end_time_secs(&mut self) {
2208 self.end_time_secs = 0.;
2209 }
2210
2211 pub fn set_end_time_secs(&mut self, v: f64) {
2213 self.end_time_secs = v;
2214 }
2215
2216 pub fn get_status(&self) -> Status {
2220 self.status
2221 }
2222 pub fn clear_status(&mut self) {
2223 self.status = Status::STATUS_UNKNOWN;
2224 }
2225
2226 pub fn set_status(&mut self, v: Status) {
2228 self.status = v;
2229 }
2230
2231 pub fn get_model_uri(&self) -> &str {
2235 &self.model_uri
2236 }
2237 pub fn clear_model_uri(&mut self) {
2238 self.model_uri.clear();
2239 }
2240
2241 pub fn set_model_uri(&mut self, v: ::std::string::String) {
2243 self.model_uri = v;
2244 }
2245
2246 pub fn mut_model_uri(&mut self) -> &mut ::std::string::String {
2249 &mut self.model_uri
2250 }
2251
2252 pub fn take_model_uri(&mut self) -> ::std::string::String {
2254 ::std::mem::replace(&mut self.model_uri, ::std::string::String::new())
2255 }
2256
2257 pub fn get_metric_values(&self) -> &[MetricValue] {
2261 &self.metric_values
2262 }
2263 pub fn clear_metric_values(&mut self) {
2264 self.metric_values.clear();
2265 }
2266
2267 pub fn set_metric_values(&mut self, v: ::protobuf::RepeatedField<MetricValue>) {
2269 self.metric_values = v;
2270 }
2271
2272 pub fn mut_metric_values(&mut self) -> &mut ::protobuf::RepeatedField<MetricValue> {
2274 &mut self.metric_values
2275 }
2276
2277 pub fn take_metric_values(&mut self) -> ::protobuf::RepeatedField<MetricValue> {
2279 ::std::mem::replace(&mut self.metric_values, ::protobuf::RepeatedField::new())
2280 }
2281
2282 pub fn get_monitor_url(&self) -> &str {
2286 &self.monitor_url
2287 }
2288 pub fn clear_monitor_url(&mut self) {
2289 self.monitor_url.clear();
2290 }
2291
2292 pub fn set_monitor_url(&mut self, v: ::std::string::String) {
2294 self.monitor_url = v;
2295 }
2296
2297 pub fn mut_monitor_url(&mut self) -> &mut ::std::string::String {
2300 &mut self.monitor_url
2301 }
2302
2303 pub fn take_monitor_url(&mut self) -> ::std::string::String {
2305 ::std::mem::replace(&mut self.monitor_url, ::std::string::String::new())
2306 }
2307}
2308
2309impl ::protobuf::Message for Session {
2310 fn is_initialized(&self) -> bool {
2311 for v in &self.metric_values {
2312 if !v.is_initialized() {
2313 return false;
2314 }
2315 };
2316 true
2317 }
2318
2319 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2320 while !is.eof()? {
2321 let (field_number, wire_type) = is.read_tag_unpack()?;
2322 match field_number {
2323 1 => {
2324 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
2325 },
2326 2 => {
2327 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
2328 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2329 }
2330 let tmp = is.read_double()?;
2331 self.start_time_secs = tmp;
2332 },
2333 3 => {
2334 if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
2335 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2336 }
2337 let tmp = is.read_double()?;
2338 self.end_time_secs = tmp;
2339 },
2340 4 => {
2341 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.status, 4, &mut self.unknown_fields)?
2342 },
2343 5 => {
2344 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.model_uri)?;
2345 },
2346 6 => {
2347 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.metric_values)?;
2348 },
2349 7 => {
2350 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.monitor_url)?;
2351 },
2352 _ => {
2353 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2354 },
2355 };
2356 }
2357 ::std::result::Result::Ok(())
2358 }
2359
2360 #[allow(unused_variables)]
2362 fn compute_size(&self) -> u32 {
2363 let mut my_size = 0;
2364 if !self.name.is_empty() {
2365 my_size += ::protobuf::rt::string_size(1, &self.name);
2366 }
2367 if self.start_time_secs != 0. {
2368 my_size += 9;
2369 }
2370 if self.end_time_secs != 0. {
2371 my_size += 9;
2372 }
2373 if self.status != Status::STATUS_UNKNOWN {
2374 my_size += ::protobuf::rt::enum_size(4, self.status);
2375 }
2376 if !self.model_uri.is_empty() {
2377 my_size += ::protobuf::rt::string_size(5, &self.model_uri);
2378 }
2379 for value in &self.metric_values {
2380 let len = value.compute_size();
2381 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2382 };
2383 if !self.monitor_url.is_empty() {
2384 my_size += ::protobuf::rt::string_size(7, &self.monitor_url);
2385 }
2386 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2387 self.cached_size.set(my_size);
2388 my_size
2389 }
2390
2391 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2392 if !self.name.is_empty() {
2393 os.write_string(1, &self.name)?;
2394 }
2395 if self.start_time_secs != 0. {
2396 os.write_double(2, self.start_time_secs)?;
2397 }
2398 if self.end_time_secs != 0. {
2399 os.write_double(3, self.end_time_secs)?;
2400 }
2401 if self.status != Status::STATUS_UNKNOWN {
2402 os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.status))?;
2403 }
2404 if !self.model_uri.is_empty() {
2405 os.write_string(5, &self.model_uri)?;
2406 }
2407 for v in &self.metric_values {
2408 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2409 os.write_raw_varint32(v.get_cached_size())?;
2410 v.write_to_with_cached_sizes(os)?;
2411 };
2412 if !self.monitor_url.is_empty() {
2413 os.write_string(7, &self.monitor_url)?;
2414 }
2415 os.write_unknown_fields(self.get_unknown_fields())?;
2416 ::std::result::Result::Ok(())
2417 }
2418
2419 fn get_cached_size(&self) -> u32 {
2420 self.cached_size.get()
2421 }
2422
2423 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2424 &self.unknown_fields
2425 }
2426
2427 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2428 &mut self.unknown_fields
2429 }
2430
2431 fn as_any(&self) -> &dyn (::std::any::Any) {
2432 self as &dyn (::std::any::Any)
2433 }
2434 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2435 self as &mut dyn (::std::any::Any)
2436 }
2437 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2438 self
2439 }
2440
2441 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2442 Self::descriptor_static()
2443 }
2444
2445 fn new() -> Session {
2446 Session::new()
2447 }
2448
2449 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2450 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2451 descriptor.get(|| {
2452 let mut fields = ::std::vec::Vec::new();
2453 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2454 "name",
2455 |m: &Session| { &m.name },
2456 |m: &mut Session| { &mut m.name },
2457 ));
2458 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
2459 "start_time_secs",
2460 |m: &Session| { &m.start_time_secs },
2461 |m: &mut Session| { &mut m.start_time_secs },
2462 ));
2463 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
2464 "end_time_secs",
2465 |m: &Session| { &m.end_time_secs },
2466 |m: &mut Session| { &mut m.end_time_secs },
2467 ));
2468 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Status>>(
2469 "status",
2470 |m: &Session| { &m.status },
2471 |m: &mut Session| { &mut m.status },
2472 ));
2473 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2474 "model_uri",
2475 |m: &Session| { &m.model_uri },
2476 |m: &mut Session| { &mut m.model_uri },
2477 ));
2478 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricValue>>(
2479 "metric_values",
2480 |m: &Session| { &m.metric_values },
2481 |m: &mut Session| { &mut m.metric_values },
2482 ));
2483 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2484 "monitor_url",
2485 |m: &Session| { &m.monitor_url },
2486 |m: &mut Session| { &mut m.monitor_url },
2487 ));
2488 ::protobuf::reflect::MessageDescriptor::new_pb_name::<Session>(
2489 "Session",
2490 fields,
2491 file_descriptor_proto()
2492 )
2493 })
2494 }
2495
2496 fn default_instance() -> &'static Session {
2497 static instance: ::protobuf::rt::LazyV2<Session> = ::protobuf::rt::LazyV2::INIT;
2498 instance.get(Session::new)
2499 }
2500}
2501
2502impl ::protobuf::Clear for Session {
2503 fn clear(&mut self) {
2504 self.name.clear();
2505 self.start_time_secs = 0.;
2506 self.end_time_secs = 0.;
2507 self.status = Status::STATUS_UNKNOWN;
2508 self.model_uri.clear();
2509 self.metric_values.clear();
2510 self.monitor_url.clear();
2511 self.unknown_fields.clear();
2512 }
2513}
2514
2515impl ::std::fmt::Debug for Session {
2516 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2517 ::protobuf::text_format::fmt(self, f)
2518 }
2519}
2520
2521impl ::protobuf::reflect::ProtobufValue for Session {
2522 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2523 ::protobuf::reflect::ReflectValueRef::Message(self)
2524 }
2525}
2526
2527#[derive(PartialEq,Clone,Default)]
2528pub struct GetExperimentRequest {
2529 pub experiment_name: ::std::string::String,
2531 pub unknown_fields: ::protobuf::UnknownFields,
2533 pub cached_size: ::protobuf::CachedSize,
2534}
2535
2536impl<'a> ::std::default::Default for &'a GetExperimentRequest {
2537 fn default() -> &'a GetExperimentRequest {
2538 <GetExperimentRequest as ::protobuf::Message>::default_instance()
2539 }
2540}
2541
2542impl GetExperimentRequest {
2543 pub fn new() -> GetExperimentRequest {
2544 ::std::default::Default::default()
2545 }
2546
2547 pub fn get_experiment_name(&self) -> &str {
2551 &self.experiment_name
2552 }
2553 pub fn clear_experiment_name(&mut self) {
2554 self.experiment_name.clear();
2555 }
2556
2557 pub fn set_experiment_name(&mut self, v: ::std::string::String) {
2559 self.experiment_name = v;
2560 }
2561
2562 pub fn mut_experiment_name(&mut self) -> &mut ::std::string::String {
2565 &mut self.experiment_name
2566 }
2567
2568 pub fn take_experiment_name(&mut self) -> ::std::string::String {
2570 ::std::mem::replace(&mut self.experiment_name, ::std::string::String::new())
2571 }
2572}
2573
2574impl ::protobuf::Message for GetExperimentRequest {
2575 fn is_initialized(&self) -> bool {
2576 true
2577 }
2578
2579 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2580 while !is.eof()? {
2581 let (field_number, wire_type) = is.read_tag_unpack()?;
2582 match field_number {
2583 1 => {
2584 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.experiment_name)?;
2585 },
2586 _ => {
2587 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2588 },
2589 };
2590 }
2591 ::std::result::Result::Ok(())
2592 }
2593
2594 #[allow(unused_variables)]
2596 fn compute_size(&self) -> u32 {
2597 let mut my_size = 0;
2598 if !self.experiment_name.is_empty() {
2599 my_size += ::protobuf::rt::string_size(1, &self.experiment_name);
2600 }
2601 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2602 self.cached_size.set(my_size);
2603 my_size
2604 }
2605
2606 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2607 if !self.experiment_name.is_empty() {
2608 os.write_string(1, &self.experiment_name)?;
2609 }
2610 os.write_unknown_fields(self.get_unknown_fields())?;
2611 ::std::result::Result::Ok(())
2612 }
2613
2614 fn get_cached_size(&self) -> u32 {
2615 self.cached_size.get()
2616 }
2617
2618 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2619 &self.unknown_fields
2620 }
2621
2622 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2623 &mut self.unknown_fields
2624 }
2625
2626 fn as_any(&self) -> &dyn (::std::any::Any) {
2627 self as &dyn (::std::any::Any)
2628 }
2629 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2630 self as &mut dyn (::std::any::Any)
2631 }
2632 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2633 self
2634 }
2635
2636 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2637 Self::descriptor_static()
2638 }
2639
2640 fn new() -> GetExperimentRequest {
2641 GetExperimentRequest::new()
2642 }
2643
2644 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2645 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2646 descriptor.get(|| {
2647 let mut fields = ::std::vec::Vec::new();
2648 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2649 "experiment_name",
2650 |m: &GetExperimentRequest| { &m.experiment_name },
2651 |m: &mut GetExperimentRequest| { &mut m.experiment_name },
2652 ));
2653 ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetExperimentRequest>(
2654 "GetExperimentRequest",
2655 fields,
2656 file_descriptor_proto()
2657 )
2658 })
2659 }
2660
2661 fn default_instance() -> &'static GetExperimentRequest {
2662 static instance: ::protobuf::rt::LazyV2<GetExperimentRequest> = ::protobuf::rt::LazyV2::INIT;
2663 instance.get(GetExperimentRequest::new)
2664 }
2665}
2666
2667impl ::protobuf::Clear for GetExperimentRequest {
2668 fn clear(&mut self) {
2669 self.experiment_name.clear();
2670 self.unknown_fields.clear();
2671 }
2672}
2673
2674impl ::std::fmt::Debug for GetExperimentRequest {
2675 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2676 ::protobuf::text_format::fmt(self, f)
2677 }
2678}
2679
2680impl ::protobuf::reflect::ProtobufValue for GetExperimentRequest {
2681 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2682 ::protobuf::reflect::ReflectValueRef::Message(self)
2683 }
2684}
2685
2686#[derive(PartialEq,Clone,Default)]
2687pub struct ListSessionGroupsRequest {
2688 pub experiment_name: ::std::string::String,
2690 pub allowed_statuses: ::std::vec::Vec<Status>,
2691 pub col_params: ::protobuf::RepeatedField<ColParams>,
2692 pub aggregation_type: AggregationType,
2693 pub aggregation_metric: ::protobuf::SingularPtrField<MetricName>,
2694 pub start_index: i32,
2695 pub slice_size: i32,
2696 pub unknown_fields: ::protobuf::UnknownFields,
2698 pub cached_size: ::protobuf::CachedSize,
2699}
2700
2701impl<'a> ::std::default::Default for &'a ListSessionGroupsRequest {
2702 fn default() -> &'a ListSessionGroupsRequest {
2703 <ListSessionGroupsRequest as ::protobuf::Message>::default_instance()
2704 }
2705}
2706
2707impl ListSessionGroupsRequest {
2708 pub fn new() -> ListSessionGroupsRequest {
2709 ::std::default::Default::default()
2710 }
2711
2712 pub fn get_experiment_name(&self) -> &str {
2716 &self.experiment_name
2717 }
2718 pub fn clear_experiment_name(&mut self) {
2719 self.experiment_name.clear();
2720 }
2721
2722 pub fn set_experiment_name(&mut self, v: ::std::string::String) {
2724 self.experiment_name = v;
2725 }
2726
2727 pub fn mut_experiment_name(&mut self) -> &mut ::std::string::String {
2730 &mut self.experiment_name
2731 }
2732
2733 pub fn take_experiment_name(&mut self) -> ::std::string::String {
2735 ::std::mem::replace(&mut self.experiment_name, ::std::string::String::new())
2736 }
2737
2738 pub fn get_allowed_statuses(&self) -> &[Status] {
2742 &self.allowed_statuses
2743 }
2744 pub fn clear_allowed_statuses(&mut self) {
2745 self.allowed_statuses.clear();
2746 }
2747
2748 pub fn set_allowed_statuses(&mut self, v: ::std::vec::Vec<Status>) {
2750 self.allowed_statuses = v;
2751 }
2752
2753 pub fn mut_allowed_statuses(&mut self) -> &mut ::std::vec::Vec<Status> {
2755 &mut self.allowed_statuses
2756 }
2757
2758 pub fn take_allowed_statuses(&mut self) -> ::std::vec::Vec<Status> {
2760 ::std::mem::replace(&mut self.allowed_statuses, ::std::vec::Vec::new())
2761 }
2762
2763 pub fn get_col_params(&self) -> &[ColParams] {
2767 &self.col_params
2768 }
2769 pub fn clear_col_params(&mut self) {
2770 self.col_params.clear();
2771 }
2772
2773 pub fn set_col_params(&mut self, v: ::protobuf::RepeatedField<ColParams>) {
2775 self.col_params = v;
2776 }
2777
2778 pub fn mut_col_params(&mut self) -> &mut ::protobuf::RepeatedField<ColParams> {
2780 &mut self.col_params
2781 }
2782
2783 pub fn take_col_params(&mut self) -> ::protobuf::RepeatedField<ColParams> {
2785 ::std::mem::replace(&mut self.col_params, ::protobuf::RepeatedField::new())
2786 }
2787
2788 pub fn get_aggregation_type(&self) -> AggregationType {
2792 self.aggregation_type
2793 }
2794 pub fn clear_aggregation_type(&mut self) {
2795 self.aggregation_type = AggregationType::AGGREGATION_UNSET;
2796 }
2797
2798 pub fn set_aggregation_type(&mut self, v: AggregationType) {
2800 self.aggregation_type = v;
2801 }
2802
2803 pub fn get_aggregation_metric(&self) -> &MetricName {
2807 self.aggregation_metric.as_ref().unwrap_or_else(|| <MetricName as ::protobuf::Message>::default_instance())
2808 }
2809 pub fn clear_aggregation_metric(&mut self) {
2810 self.aggregation_metric.clear();
2811 }
2812
2813 pub fn has_aggregation_metric(&self) -> bool {
2814 self.aggregation_metric.is_some()
2815 }
2816
2817 pub fn set_aggregation_metric(&mut self, v: MetricName) {
2819 self.aggregation_metric = ::protobuf::SingularPtrField::some(v);
2820 }
2821
2822 pub fn mut_aggregation_metric(&mut self) -> &mut MetricName {
2825 if self.aggregation_metric.is_none() {
2826 self.aggregation_metric.set_default();
2827 }
2828 self.aggregation_metric.as_mut().unwrap()
2829 }
2830
2831 pub fn take_aggregation_metric(&mut self) -> MetricName {
2833 self.aggregation_metric.take().unwrap_or_else(|| MetricName::new())
2834 }
2835
2836 pub fn get_start_index(&self) -> i32 {
2840 self.start_index
2841 }
2842 pub fn clear_start_index(&mut self) {
2843 self.start_index = 0;
2844 }
2845
2846 pub fn set_start_index(&mut self, v: i32) {
2848 self.start_index = v;
2849 }
2850
2851 pub fn get_slice_size(&self) -> i32 {
2855 self.slice_size
2856 }
2857 pub fn clear_slice_size(&mut self) {
2858 self.slice_size = 0;
2859 }
2860
2861 pub fn set_slice_size(&mut self, v: i32) {
2863 self.slice_size = v;
2864 }
2865}
2866
2867impl ::protobuf::Message for ListSessionGroupsRequest {
2868 fn is_initialized(&self) -> bool {
2869 for v in &self.col_params {
2870 if !v.is_initialized() {
2871 return false;
2872 }
2873 };
2874 for v in &self.aggregation_metric {
2875 if !v.is_initialized() {
2876 return false;
2877 }
2878 };
2879 true
2880 }
2881
2882 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2883 while !is.eof()? {
2884 let (field_number, wire_type) = is.read_tag_unpack()?;
2885 match field_number {
2886 6 => {
2887 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.experiment_name)?;
2888 },
2889 7 => {
2890 ::protobuf::rt::read_repeated_enum_with_unknown_fields_into(wire_type, is, &mut self.allowed_statuses, 7, &mut self.unknown_fields)?
2891 },
2892 1 => {
2893 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.col_params)?;
2894 },
2895 2 => {
2896 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.aggregation_type, 2, &mut self.unknown_fields)?
2897 },
2898 3 => {
2899 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.aggregation_metric)?;
2900 },
2901 4 => {
2902 if wire_type != ::protobuf::wire_format::WireTypeVarint {
2903 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2904 }
2905 let tmp = is.read_int32()?;
2906 self.start_index = tmp;
2907 },
2908 5 => {
2909 if wire_type != ::protobuf::wire_format::WireTypeVarint {
2910 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2911 }
2912 let tmp = is.read_int32()?;
2913 self.slice_size = tmp;
2914 },
2915 _ => {
2916 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2917 },
2918 };
2919 }
2920 ::std::result::Result::Ok(())
2921 }
2922
2923 #[allow(unused_variables)]
2925 fn compute_size(&self) -> u32 {
2926 let mut my_size = 0;
2927 if !self.experiment_name.is_empty() {
2928 my_size += ::protobuf::rt::string_size(6, &self.experiment_name);
2929 }
2930 for value in &self.allowed_statuses {
2931 my_size += ::protobuf::rt::enum_size(7, *value);
2932 };
2933 for value in &self.col_params {
2934 let len = value.compute_size();
2935 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2936 };
2937 if self.aggregation_type != AggregationType::AGGREGATION_UNSET {
2938 my_size += ::protobuf::rt::enum_size(2, self.aggregation_type);
2939 }
2940 if let Some(ref v) = self.aggregation_metric.as_ref() {
2941 let len = v.compute_size();
2942 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2943 }
2944 if self.start_index != 0 {
2945 my_size += ::protobuf::rt::value_size(4, self.start_index, ::protobuf::wire_format::WireTypeVarint);
2946 }
2947 if self.slice_size != 0 {
2948 my_size += ::protobuf::rt::value_size(5, self.slice_size, ::protobuf::wire_format::WireTypeVarint);
2949 }
2950 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2951 self.cached_size.set(my_size);
2952 my_size
2953 }
2954
2955 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2956 if !self.experiment_name.is_empty() {
2957 os.write_string(6, &self.experiment_name)?;
2958 }
2959 for v in &self.allowed_statuses {
2960 os.write_enum(7, ::protobuf::ProtobufEnum::value(v))?;
2961 };
2962 for v in &self.col_params {
2963 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2964 os.write_raw_varint32(v.get_cached_size())?;
2965 v.write_to_with_cached_sizes(os)?;
2966 };
2967 if self.aggregation_type != AggregationType::AGGREGATION_UNSET {
2968 os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.aggregation_type))?;
2969 }
2970 if let Some(ref v) = self.aggregation_metric.as_ref() {
2971 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2972 os.write_raw_varint32(v.get_cached_size())?;
2973 v.write_to_with_cached_sizes(os)?;
2974 }
2975 if self.start_index != 0 {
2976 os.write_int32(4, self.start_index)?;
2977 }
2978 if self.slice_size != 0 {
2979 os.write_int32(5, self.slice_size)?;
2980 }
2981 os.write_unknown_fields(self.get_unknown_fields())?;
2982 ::std::result::Result::Ok(())
2983 }
2984
2985 fn get_cached_size(&self) -> u32 {
2986 self.cached_size.get()
2987 }
2988
2989 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2990 &self.unknown_fields
2991 }
2992
2993 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2994 &mut self.unknown_fields
2995 }
2996
2997 fn as_any(&self) -> &dyn (::std::any::Any) {
2998 self as &dyn (::std::any::Any)
2999 }
3000 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3001 self as &mut dyn (::std::any::Any)
3002 }
3003 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3004 self
3005 }
3006
3007 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3008 Self::descriptor_static()
3009 }
3010
3011 fn new() -> ListSessionGroupsRequest {
3012 ListSessionGroupsRequest::new()
3013 }
3014
3015 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3016 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3017 descriptor.get(|| {
3018 let mut fields = ::std::vec::Vec::new();
3019 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3020 "experiment_name",
3021 |m: &ListSessionGroupsRequest| { &m.experiment_name },
3022 |m: &mut ListSessionGroupsRequest| { &mut m.experiment_name },
3023 ));
3024 fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Status>>(
3025 "allowed_statuses",
3026 |m: &ListSessionGroupsRequest| { &m.allowed_statuses },
3027 |m: &mut ListSessionGroupsRequest| { &mut m.allowed_statuses },
3028 ));
3029 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ColParams>>(
3030 "col_params",
3031 |m: &ListSessionGroupsRequest| { &m.col_params },
3032 |m: &mut ListSessionGroupsRequest| { &mut m.col_params },
3033 ));
3034 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<AggregationType>>(
3035 "aggregation_type",
3036 |m: &ListSessionGroupsRequest| { &m.aggregation_type },
3037 |m: &mut ListSessionGroupsRequest| { &mut m.aggregation_type },
3038 ));
3039 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricName>>(
3040 "aggregation_metric",
3041 |m: &ListSessionGroupsRequest| { &m.aggregation_metric },
3042 |m: &mut ListSessionGroupsRequest| { &mut m.aggregation_metric },
3043 ));
3044 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3045 "start_index",
3046 |m: &ListSessionGroupsRequest| { &m.start_index },
3047 |m: &mut ListSessionGroupsRequest| { &mut m.start_index },
3048 ));
3049 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3050 "slice_size",
3051 |m: &ListSessionGroupsRequest| { &m.slice_size },
3052 |m: &mut ListSessionGroupsRequest| { &mut m.slice_size },
3053 ));
3054 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListSessionGroupsRequest>(
3055 "ListSessionGroupsRequest",
3056 fields,
3057 file_descriptor_proto()
3058 )
3059 })
3060 }
3061
3062 fn default_instance() -> &'static ListSessionGroupsRequest {
3063 static instance: ::protobuf::rt::LazyV2<ListSessionGroupsRequest> = ::protobuf::rt::LazyV2::INIT;
3064 instance.get(ListSessionGroupsRequest::new)
3065 }
3066}
3067
3068impl ::protobuf::Clear for ListSessionGroupsRequest {
3069 fn clear(&mut self) {
3070 self.experiment_name.clear();
3071 self.allowed_statuses.clear();
3072 self.col_params.clear();
3073 self.aggregation_type = AggregationType::AGGREGATION_UNSET;
3074 self.aggregation_metric.clear();
3075 self.start_index = 0;
3076 self.slice_size = 0;
3077 self.unknown_fields.clear();
3078 }
3079}
3080
3081impl ::std::fmt::Debug for ListSessionGroupsRequest {
3082 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3083 ::protobuf::text_format::fmt(self, f)
3084 }
3085}
3086
3087impl ::protobuf::reflect::ProtobufValue for ListSessionGroupsRequest {
3088 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3089 ::protobuf::reflect::ReflectValueRef::Message(self)
3090 }
3091}
3092
3093#[derive(PartialEq,Clone,Default)]
3094pub struct ColParams {
3095 pub order: SortOrder,
3097 pub missing_values_first: bool,
3098 pub exclude_missing_values: bool,
3099 pub name: ::std::option::Option<ColParams_oneof_name>,
3101 pub filter: ::std::option::Option<ColParams_oneof_filter>,
3102 pub unknown_fields: ::protobuf::UnknownFields,
3104 pub cached_size: ::protobuf::CachedSize,
3105}
3106
3107impl<'a> ::std::default::Default for &'a ColParams {
3108 fn default() -> &'a ColParams {
3109 <ColParams as ::protobuf::Message>::default_instance()
3110 }
3111}
3112
3113#[derive(Clone,PartialEq,Debug)]
3114pub enum ColParams_oneof_name {
3115 metric(MetricName),
3116 hparam(::std::string::String),
3117}
3118
3119#[derive(Clone,PartialEq,Debug)]
3120pub enum ColParams_oneof_filter {
3121 filter_regexp(::std::string::String),
3122 filter_interval(Interval),
3123 filter_discrete(::protobuf::well_known_types::ListValue),
3124}
3125
3126impl ColParams {
3127 pub fn new() -> ColParams {
3128 ::std::default::Default::default()
3129 }
3130
3131 pub fn get_metric(&self) -> &MetricName {
3135 match self.name {
3136 ::std::option::Option::Some(ColParams_oneof_name::metric(ref v)) => v,
3137 _ => <MetricName as ::protobuf::Message>::default_instance(),
3138 }
3139 }
3140 pub fn clear_metric(&mut self) {
3141 self.name = ::std::option::Option::None;
3142 }
3143
3144 pub fn has_metric(&self) -> bool {
3145 match self.name {
3146 ::std::option::Option::Some(ColParams_oneof_name::metric(..)) => true,
3147 _ => false,
3148 }
3149 }
3150
3151 pub fn set_metric(&mut self, v: MetricName) {
3153 self.name = ::std::option::Option::Some(ColParams_oneof_name::metric(v))
3154 }
3155
3156 pub fn mut_metric(&mut self) -> &mut MetricName {
3158 if let ::std::option::Option::Some(ColParams_oneof_name::metric(_)) = self.name {
3159 } else {
3160 self.name = ::std::option::Option::Some(ColParams_oneof_name::metric(MetricName::new()));
3161 }
3162 match self.name {
3163 ::std::option::Option::Some(ColParams_oneof_name::metric(ref mut v)) => v,
3164 _ => panic!(),
3165 }
3166 }
3167
3168 pub fn take_metric(&mut self) -> MetricName {
3170 if self.has_metric() {
3171 match self.name.take() {
3172 ::std::option::Option::Some(ColParams_oneof_name::metric(v)) => v,
3173 _ => panic!(),
3174 }
3175 } else {
3176 MetricName::new()
3177 }
3178 }
3179
3180 pub fn get_hparam(&self) -> &str {
3184 match self.name {
3185 ::std::option::Option::Some(ColParams_oneof_name::hparam(ref v)) => v,
3186 _ => "",
3187 }
3188 }
3189 pub fn clear_hparam(&mut self) {
3190 self.name = ::std::option::Option::None;
3191 }
3192
3193 pub fn has_hparam(&self) -> bool {
3194 match self.name {
3195 ::std::option::Option::Some(ColParams_oneof_name::hparam(..)) => true,
3196 _ => false,
3197 }
3198 }
3199
3200 pub fn set_hparam(&mut self, v: ::std::string::String) {
3202 self.name = ::std::option::Option::Some(ColParams_oneof_name::hparam(v))
3203 }
3204
3205 pub fn mut_hparam(&mut self) -> &mut ::std::string::String {
3207 if let ::std::option::Option::Some(ColParams_oneof_name::hparam(_)) = self.name {
3208 } else {
3209 self.name = ::std::option::Option::Some(ColParams_oneof_name::hparam(::std::string::String::new()));
3210 }
3211 match self.name {
3212 ::std::option::Option::Some(ColParams_oneof_name::hparam(ref mut v)) => v,
3213 _ => panic!(),
3214 }
3215 }
3216
3217 pub fn take_hparam(&mut self) -> ::std::string::String {
3219 if self.has_hparam() {
3220 match self.name.take() {
3221 ::std::option::Option::Some(ColParams_oneof_name::hparam(v)) => v,
3222 _ => panic!(),
3223 }
3224 } else {
3225 ::std::string::String::new()
3226 }
3227 }
3228
3229 pub fn get_order(&self) -> SortOrder {
3233 self.order
3234 }
3235 pub fn clear_order(&mut self) {
3236 self.order = SortOrder::ORDER_UNSPECIFIED;
3237 }
3238
3239 pub fn set_order(&mut self, v: SortOrder) {
3241 self.order = v;
3242 }
3243
3244 pub fn get_missing_values_first(&self) -> bool {
3248 self.missing_values_first
3249 }
3250 pub fn clear_missing_values_first(&mut self) {
3251 self.missing_values_first = false;
3252 }
3253
3254 pub fn set_missing_values_first(&mut self, v: bool) {
3256 self.missing_values_first = v;
3257 }
3258
3259 pub fn get_filter_regexp(&self) -> &str {
3263 match self.filter {
3264 ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(ref v)) => v,
3265 _ => "",
3266 }
3267 }
3268 pub fn clear_filter_regexp(&mut self) {
3269 self.filter = ::std::option::Option::None;
3270 }
3271
3272 pub fn has_filter_regexp(&self) -> bool {
3273 match self.filter {
3274 ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(..)) => true,
3275 _ => false,
3276 }
3277 }
3278
3279 pub fn set_filter_regexp(&mut self, v: ::std::string::String) {
3281 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(v))
3282 }
3283
3284 pub fn mut_filter_regexp(&mut self) -> &mut ::std::string::String {
3286 if let ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(_)) = self.filter {
3287 } else {
3288 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(::std::string::String::new()));
3289 }
3290 match self.filter {
3291 ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(ref mut v)) => v,
3292 _ => panic!(),
3293 }
3294 }
3295
3296 pub fn take_filter_regexp(&mut self) -> ::std::string::String {
3298 if self.has_filter_regexp() {
3299 match self.filter.take() {
3300 ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(v)) => v,
3301 _ => panic!(),
3302 }
3303 } else {
3304 ::std::string::String::new()
3305 }
3306 }
3307
3308 pub fn get_filter_interval(&self) -> &Interval {
3312 match self.filter {
3313 ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(ref v)) => v,
3314 _ => <Interval as ::protobuf::Message>::default_instance(),
3315 }
3316 }
3317 pub fn clear_filter_interval(&mut self) {
3318 self.filter = ::std::option::Option::None;
3319 }
3320
3321 pub fn has_filter_interval(&self) -> bool {
3322 match self.filter {
3323 ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(..)) => true,
3324 _ => false,
3325 }
3326 }
3327
3328 pub fn set_filter_interval(&mut self, v: Interval) {
3330 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(v))
3331 }
3332
3333 pub fn mut_filter_interval(&mut self) -> &mut Interval {
3335 if let ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(_)) = self.filter {
3336 } else {
3337 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(Interval::new()));
3338 }
3339 match self.filter {
3340 ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(ref mut v)) => v,
3341 _ => panic!(),
3342 }
3343 }
3344
3345 pub fn take_filter_interval(&mut self) -> Interval {
3347 if self.has_filter_interval() {
3348 match self.filter.take() {
3349 ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(v)) => v,
3350 _ => panic!(),
3351 }
3352 } else {
3353 Interval::new()
3354 }
3355 }
3356
3357 pub fn get_filter_discrete(&self) -> &::protobuf::well_known_types::ListValue {
3361 match self.filter {
3362 ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(ref v)) => v,
3363 _ => <::protobuf::well_known_types::ListValue as ::protobuf::Message>::default_instance(),
3364 }
3365 }
3366 pub fn clear_filter_discrete(&mut self) {
3367 self.filter = ::std::option::Option::None;
3368 }
3369
3370 pub fn has_filter_discrete(&self) -> bool {
3371 match self.filter {
3372 ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(..)) => true,
3373 _ => false,
3374 }
3375 }
3376
3377 pub fn set_filter_discrete(&mut self, v: ::protobuf::well_known_types::ListValue) {
3379 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(v))
3380 }
3381
3382 pub fn mut_filter_discrete(&mut self) -> &mut ::protobuf::well_known_types::ListValue {
3384 if let ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(_)) = self.filter {
3385 } else {
3386 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(::protobuf::well_known_types::ListValue::new()));
3387 }
3388 match self.filter {
3389 ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(ref mut v)) => v,
3390 _ => panic!(),
3391 }
3392 }
3393
3394 pub fn take_filter_discrete(&mut self) -> ::protobuf::well_known_types::ListValue {
3396 if self.has_filter_discrete() {
3397 match self.filter.take() {
3398 ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(v)) => v,
3399 _ => panic!(),
3400 }
3401 } else {
3402 ::protobuf::well_known_types::ListValue::new()
3403 }
3404 }
3405
3406 pub fn get_exclude_missing_values(&self) -> bool {
3410 self.exclude_missing_values
3411 }
3412 pub fn clear_exclude_missing_values(&mut self) {
3413 self.exclude_missing_values = false;
3414 }
3415
3416 pub fn set_exclude_missing_values(&mut self, v: bool) {
3418 self.exclude_missing_values = v;
3419 }
3420}
3421
3422impl ::protobuf::Message for ColParams {
3423 fn is_initialized(&self) -> bool {
3424 if let Some(ColParams_oneof_name::metric(ref v)) = self.name {
3425 if !v.is_initialized() {
3426 return false;
3427 }
3428 }
3429 if let Some(ColParams_oneof_filter::filter_interval(ref v)) = self.filter {
3430 if !v.is_initialized() {
3431 return false;
3432 }
3433 }
3434 if let Some(ColParams_oneof_filter::filter_discrete(ref v)) = self.filter {
3435 if !v.is_initialized() {
3436 return false;
3437 }
3438 }
3439 true
3440 }
3441
3442 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3443 while !is.eof()? {
3444 let (field_number, wire_type) = is.read_tag_unpack()?;
3445 match field_number {
3446 1 => {
3447 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3448 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3449 }
3450 self.name = ::std::option::Option::Some(ColParams_oneof_name::metric(is.read_message()?));
3451 },
3452 2 => {
3453 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3454 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3455 }
3456 self.name = ::std::option::Option::Some(ColParams_oneof_name::hparam(is.read_string()?));
3457 },
3458 3 => {
3459 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.order, 3, &mut self.unknown_fields)?
3460 },
3461 4 => {
3462 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3463 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3464 }
3465 let tmp = is.read_bool()?;
3466 self.missing_values_first = tmp;
3467 },
3468 5 => {
3469 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3470 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3471 }
3472 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_regexp(is.read_string()?));
3473 },
3474 6 => {
3475 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3476 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3477 }
3478 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_interval(is.read_message()?));
3479 },
3480 7 => {
3481 if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
3482 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3483 }
3484 self.filter = ::std::option::Option::Some(ColParams_oneof_filter::filter_discrete(is.read_message()?));
3485 },
3486 8 => {
3487 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3488 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3489 }
3490 let tmp = is.read_bool()?;
3491 self.exclude_missing_values = tmp;
3492 },
3493 _ => {
3494 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3495 },
3496 };
3497 }
3498 ::std::result::Result::Ok(())
3499 }
3500
3501 #[allow(unused_variables)]
3503 fn compute_size(&self) -> u32 {
3504 let mut my_size = 0;
3505 if self.order != SortOrder::ORDER_UNSPECIFIED {
3506 my_size += ::protobuf::rt::enum_size(3, self.order);
3507 }
3508 if self.missing_values_first != false {
3509 my_size += 2;
3510 }
3511 if self.exclude_missing_values != false {
3512 my_size += 2;
3513 }
3514 if let ::std::option::Option::Some(ref v) = self.name {
3515 match v {
3516 &ColParams_oneof_name::metric(ref v) => {
3517 let len = v.compute_size();
3518 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3519 },
3520 &ColParams_oneof_name::hparam(ref v) => {
3521 my_size += ::protobuf::rt::string_size(2, &v);
3522 },
3523 };
3524 }
3525 if let ::std::option::Option::Some(ref v) = self.filter {
3526 match v {
3527 &ColParams_oneof_filter::filter_regexp(ref v) => {
3528 my_size += ::protobuf::rt::string_size(5, &v);
3529 },
3530 &ColParams_oneof_filter::filter_interval(ref v) => {
3531 let len = v.compute_size();
3532 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3533 },
3534 &ColParams_oneof_filter::filter_discrete(ref v) => {
3535 let len = v.compute_size();
3536 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3537 },
3538 };
3539 }
3540 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3541 self.cached_size.set(my_size);
3542 my_size
3543 }
3544
3545 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3546 if self.order != SortOrder::ORDER_UNSPECIFIED {
3547 os.write_enum(3, ::protobuf::ProtobufEnum::value(&self.order))?;
3548 }
3549 if self.missing_values_first != false {
3550 os.write_bool(4, self.missing_values_first)?;
3551 }
3552 if self.exclude_missing_values != false {
3553 os.write_bool(8, self.exclude_missing_values)?;
3554 }
3555 if let ::std::option::Option::Some(ref v) = self.name {
3556 match v {
3557 &ColParams_oneof_name::metric(ref v) => {
3558 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3559 os.write_raw_varint32(v.get_cached_size())?;
3560 v.write_to_with_cached_sizes(os)?;
3561 },
3562 &ColParams_oneof_name::hparam(ref v) => {
3563 os.write_string(2, v)?;
3564 },
3565 };
3566 }
3567 if let ::std::option::Option::Some(ref v) = self.filter {
3568 match v {
3569 &ColParams_oneof_filter::filter_regexp(ref v) => {
3570 os.write_string(5, v)?;
3571 },
3572 &ColParams_oneof_filter::filter_interval(ref v) => {
3573 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3574 os.write_raw_varint32(v.get_cached_size())?;
3575 v.write_to_with_cached_sizes(os)?;
3576 },
3577 &ColParams_oneof_filter::filter_discrete(ref v) => {
3578 os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3579 os.write_raw_varint32(v.get_cached_size())?;
3580 v.write_to_with_cached_sizes(os)?;
3581 },
3582 };
3583 }
3584 os.write_unknown_fields(self.get_unknown_fields())?;
3585 ::std::result::Result::Ok(())
3586 }
3587
3588 fn get_cached_size(&self) -> u32 {
3589 self.cached_size.get()
3590 }
3591
3592 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3593 &self.unknown_fields
3594 }
3595
3596 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3597 &mut self.unknown_fields
3598 }
3599
3600 fn as_any(&self) -> &dyn (::std::any::Any) {
3601 self as &dyn (::std::any::Any)
3602 }
3603 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3604 self as &mut dyn (::std::any::Any)
3605 }
3606 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3607 self
3608 }
3609
3610 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3611 Self::descriptor_static()
3612 }
3613
3614 fn new() -> ColParams {
3615 ColParams::new()
3616 }
3617
3618 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3619 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3620 descriptor.get(|| {
3621 let mut fields = ::std::vec::Vec::new();
3622 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, MetricName>(
3623 "metric",
3624 ColParams::has_metric,
3625 ColParams::get_metric,
3626 ));
3627 fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
3628 "hparam",
3629 ColParams::has_hparam,
3630 ColParams::get_hparam,
3631 ));
3632 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<SortOrder>>(
3633 "order",
3634 |m: &ColParams| { &m.order },
3635 |m: &mut ColParams| { &mut m.order },
3636 ));
3637 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
3638 "missing_values_first",
3639 |m: &ColParams| { &m.missing_values_first },
3640 |m: &mut ColParams| { &mut m.missing_values_first },
3641 ));
3642 fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
3643 "filter_regexp",
3644 ColParams::has_filter_regexp,
3645 ColParams::get_filter_regexp,
3646 ));
3647 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Interval>(
3648 "filter_interval",
3649 ColParams::has_filter_interval,
3650 ColParams::get_filter_interval,
3651 ));
3652 fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ::protobuf::well_known_types::ListValue>(
3653 "filter_discrete",
3654 ColParams::has_filter_discrete,
3655 ColParams::get_filter_discrete,
3656 ));
3657 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
3658 "exclude_missing_values",
3659 |m: &ColParams| { &m.exclude_missing_values },
3660 |m: &mut ColParams| { &mut m.exclude_missing_values },
3661 ));
3662 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ColParams>(
3663 "ColParams",
3664 fields,
3665 file_descriptor_proto()
3666 )
3667 })
3668 }
3669
3670 fn default_instance() -> &'static ColParams {
3671 static instance: ::protobuf::rt::LazyV2<ColParams> = ::protobuf::rt::LazyV2::INIT;
3672 instance.get(ColParams::new)
3673 }
3674}
3675
3676impl ::protobuf::Clear for ColParams {
3677 fn clear(&mut self) {
3678 self.name = ::std::option::Option::None;
3679 self.name = ::std::option::Option::None;
3680 self.order = SortOrder::ORDER_UNSPECIFIED;
3681 self.missing_values_first = false;
3682 self.filter = ::std::option::Option::None;
3683 self.filter = ::std::option::Option::None;
3684 self.filter = ::std::option::Option::None;
3685 self.exclude_missing_values = false;
3686 self.unknown_fields.clear();
3687 }
3688}
3689
3690impl ::std::fmt::Debug for ColParams {
3691 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3692 ::protobuf::text_format::fmt(self, f)
3693 }
3694}
3695
3696impl ::protobuf::reflect::ProtobufValue for ColParams {
3697 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3698 ::protobuf::reflect::ReflectValueRef::Message(self)
3699 }
3700}
3701
3702#[derive(PartialEq,Clone,Default)]
3703pub struct ListSessionGroupsResponse {
3704 pub session_groups: ::protobuf::RepeatedField<SessionGroup>,
3706 pub total_size: i32,
3707 pub unknown_fields: ::protobuf::UnknownFields,
3709 pub cached_size: ::protobuf::CachedSize,
3710}
3711
3712impl<'a> ::std::default::Default for &'a ListSessionGroupsResponse {
3713 fn default() -> &'a ListSessionGroupsResponse {
3714 <ListSessionGroupsResponse as ::protobuf::Message>::default_instance()
3715 }
3716}
3717
3718impl ListSessionGroupsResponse {
3719 pub fn new() -> ListSessionGroupsResponse {
3720 ::std::default::Default::default()
3721 }
3722
3723 pub fn get_session_groups(&self) -> &[SessionGroup] {
3727 &self.session_groups
3728 }
3729 pub fn clear_session_groups(&mut self) {
3730 self.session_groups.clear();
3731 }
3732
3733 pub fn set_session_groups(&mut self, v: ::protobuf::RepeatedField<SessionGroup>) {
3735 self.session_groups = v;
3736 }
3737
3738 pub fn mut_session_groups(&mut self) -> &mut ::protobuf::RepeatedField<SessionGroup> {
3740 &mut self.session_groups
3741 }
3742
3743 pub fn take_session_groups(&mut self) -> ::protobuf::RepeatedField<SessionGroup> {
3745 ::std::mem::replace(&mut self.session_groups, ::protobuf::RepeatedField::new())
3746 }
3747
3748 pub fn get_total_size(&self) -> i32 {
3752 self.total_size
3753 }
3754 pub fn clear_total_size(&mut self) {
3755 self.total_size = 0;
3756 }
3757
3758 pub fn set_total_size(&mut self, v: i32) {
3760 self.total_size = v;
3761 }
3762}
3763
3764impl ::protobuf::Message for ListSessionGroupsResponse {
3765 fn is_initialized(&self) -> bool {
3766 for v in &self.session_groups {
3767 if !v.is_initialized() {
3768 return false;
3769 }
3770 };
3771 true
3772 }
3773
3774 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3775 while !is.eof()? {
3776 let (field_number, wire_type) = is.read_tag_unpack()?;
3777 match field_number {
3778 1 => {
3779 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.session_groups)?;
3780 },
3781 3 => {
3782 if wire_type != ::protobuf::wire_format::WireTypeVarint {
3783 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3784 }
3785 let tmp = is.read_int32()?;
3786 self.total_size = tmp;
3787 },
3788 _ => {
3789 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3790 },
3791 };
3792 }
3793 ::std::result::Result::Ok(())
3794 }
3795
3796 #[allow(unused_variables)]
3798 fn compute_size(&self) -> u32 {
3799 let mut my_size = 0;
3800 for value in &self.session_groups {
3801 let len = value.compute_size();
3802 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3803 };
3804 if self.total_size != 0 {
3805 my_size += ::protobuf::rt::value_size(3, self.total_size, ::protobuf::wire_format::WireTypeVarint);
3806 }
3807 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3808 self.cached_size.set(my_size);
3809 my_size
3810 }
3811
3812 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3813 for v in &self.session_groups {
3814 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3815 os.write_raw_varint32(v.get_cached_size())?;
3816 v.write_to_with_cached_sizes(os)?;
3817 };
3818 if self.total_size != 0 {
3819 os.write_int32(3, self.total_size)?;
3820 }
3821 os.write_unknown_fields(self.get_unknown_fields())?;
3822 ::std::result::Result::Ok(())
3823 }
3824
3825 fn get_cached_size(&self) -> u32 {
3826 self.cached_size.get()
3827 }
3828
3829 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3830 &self.unknown_fields
3831 }
3832
3833 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3834 &mut self.unknown_fields
3835 }
3836
3837 fn as_any(&self) -> &dyn (::std::any::Any) {
3838 self as &dyn (::std::any::Any)
3839 }
3840 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3841 self as &mut dyn (::std::any::Any)
3842 }
3843 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3844 self
3845 }
3846
3847 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3848 Self::descriptor_static()
3849 }
3850
3851 fn new() -> ListSessionGroupsResponse {
3852 ListSessionGroupsResponse::new()
3853 }
3854
3855 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3856 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3857 descriptor.get(|| {
3858 let mut fields = ::std::vec::Vec::new();
3859 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<SessionGroup>>(
3860 "session_groups",
3861 |m: &ListSessionGroupsResponse| { &m.session_groups },
3862 |m: &mut ListSessionGroupsResponse| { &mut m.session_groups },
3863 ));
3864 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3865 "total_size",
3866 |m: &ListSessionGroupsResponse| { &m.total_size },
3867 |m: &mut ListSessionGroupsResponse| { &mut m.total_size },
3868 ));
3869 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListSessionGroupsResponse>(
3870 "ListSessionGroupsResponse",
3871 fields,
3872 file_descriptor_proto()
3873 )
3874 })
3875 }
3876
3877 fn default_instance() -> &'static ListSessionGroupsResponse {
3878 static instance: ::protobuf::rt::LazyV2<ListSessionGroupsResponse> = ::protobuf::rt::LazyV2::INIT;
3879 instance.get(ListSessionGroupsResponse::new)
3880 }
3881}
3882
3883impl ::protobuf::Clear for ListSessionGroupsResponse {
3884 fn clear(&mut self) {
3885 self.session_groups.clear();
3886 self.total_size = 0;
3887 self.unknown_fields.clear();
3888 }
3889}
3890
3891impl ::std::fmt::Debug for ListSessionGroupsResponse {
3892 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3893 ::protobuf::text_format::fmt(self, f)
3894 }
3895}
3896
3897impl ::protobuf::reflect::ProtobufValue for ListSessionGroupsResponse {
3898 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3899 ::protobuf::reflect::ReflectValueRef::Message(self)
3900 }
3901}
3902
3903#[derive(PartialEq,Clone,Default)]
3904pub struct ListMetricEvalsRequest {
3905 pub experiment_name: ::std::string::String,
3907 pub session_name: ::std::string::String,
3908 pub metric_name: ::protobuf::SingularPtrField<MetricName>,
3909 pub unknown_fields: ::protobuf::UnknownFields,
3911 pub cached_size: ::protobuf::CachedSize,
3912}
3913
3914impl<'a> ::std::default::Default for &'a ListMetricEvalsRequest {
3915 fn default() -> &'a ListMetricEvalsRequest {
3916 <ListMetricEvalsRequest as ::protobuf::Message>::default_instance()
3917 }
3918}
3919
3920impl ListMetricEvalsRequest {
3921 pub fn new() -> ListMetricEvalsRequest {
3922 ::std::default::Default::default()
3923 }
3924
3925 pub fn get_experiment_name(&self) -> &str {
3929 &self.experiment_name
3930 }
3931 pub fn clear_experiment_name(&mut self) {
3932 self.experiment_name.clear();
3933 }
3934
3935 pub fn set_experiment_name(&mut self, v: ::std::string::String) {
3937 self.experiment_name = v;
3938 }
3939
3940 pub fn mut_experiment_name(&mut self) -> &mut ::std::string::String {
3943 &mut self.experiment_name
3944 }
3945
3946 pub fn take_experiment_name(&mut self) -> ::std::string::String {
3948 ::std::mem::replace(&mut self.experiment_name, ::std::string::String::new())
3949 }
3950
3951 pub fn get_session_name(&self) -> &str {
3955 &self.session_name
3956 }
3957 pub fn clear_session_name(&mut self) {
3958 self.session_name.clear();
3959 }
3960
3961 pub fn set_session_name(&mut self, v: ::std::string::String) {
3963 self.session_name = v;
3964 }
3965
3966 pub fn mut_session_name(&mut self) -> &mut ::std::string::String {
3969 &mut self.session_name
3970 }
3971
3972 pub fn take_session_name(&mut self) -> ::std::string::String {
3974 ::std::mem::replace(&mut self.session_name, ::std::string::String::new())
3975 }
3976
3977 pub fn get_metric_name(&self) -> &MetricName {
3981 self.metric_name.as_ref().unwrap_or_else(|| <MetricName as ::protobuf::Message>::default_instance())
3982 }
3983 pub fn clear_metric_name(&mut self) {
3984 self.metric_name.clear();
3985 }
3986
3987 pub fn has_metric_name(&self) -> bool {
3988 self.metric_name.is_some()
3989 }
3990
3991 pub fn set_metric_name(&mut self, v: MetricName) {
3993 self.metric_name = ::protobuf::SingularPtrField::some(v);
3994 }
3995
3996 pub fn mut_metric_name(&mut self) -> &mut MetricName {
3999 if self.metric_name.is_none() {
4000 self.metric_name.set_default();
4001 }
4002 self.metric_name.as_mut().unwrap()
4003 }
4004
4005 pub fn take_metric_name(&mut self) -> MetricName {
4007 self.metric_name.take().unwrap_or_else(|| MetricName::new())
4008 }
4009}
4010
4011impl ::protobuf::Message for ListMetricEvalsRequest {
4012 fn is_initialized(&self) -> bool {
4013 for v in &self.metric_name {
4014 if !v.is_initialized() {
4015 return false;
4016 }
4017 };
4018 true
4019 }
4020
4021 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4022 while !is.eof()? {
4023 let (field_number, wire_type) = is.read_tag_unpack()?;
4024 match field_number {
4025 3 => {
4026 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.experiment_name)?;
4027 },
4028 1 => {
4029 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.session_name)?;
4030 },
4031 2 => {
4032 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.metric_name)?;
4033 },
4034 _ => {
4035 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4036 },
4037 };
4038 }
4039 ::std::result::Result::Ok(())
4040 }
4041
4042 #[allow(unused_variables)]
4044 fn compute_size(&self) -> u32 {
4045 let mut my_size = 0;
4046 if !self.experiment_name.is_empty() {
4047 my_size += ::protobuf::rt::string_size(3, &self.experiment_name);
4048 }
4049 if !self.session_name.is_empty() {
4050 my_size += ::protobuf::rt::string_size(1, &self.session_name);
4051 }
4052 if let Some(ref v) = self.metric_name.as_ref() {
4053 let len = v.compute_size();
4054 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4055 }
4056 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4057 self.cached_size.set(my_size);
4058 my_size
4059 }
4060
4061 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4062 if !self.experiment_name.is_empty() {
4063 os.write_string(3, &self.experiment_name)?;
4064 }
4065 if !self.session_name.is_empty() {
4066 os.write_string(1, &self.session_name)?;
4067 }
4068 if let Some(ref v) = self.metric_name.as_ref() {
4069 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4070 os.write_raw_varint32(v.get_cached_size())?;
4071 v.write_to_with_cached_sizes(os)?;
4072 }
4073 os.write_unknown_fields(self.get_unknown_fields())?;
4074 ::std::result::Result::Ok(())
4075 }
4076
4077 fn get_cached_size(&self) -> u32 {
4078 self.cached_size.get()
4079 }
4080
4081 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4082 &self.unknown_fields
4083 }
4084
4085 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4086 &mut self.unknown_fields
4087 }
4088
4089 fn as_any(&self) -> &dyn (::std::any::Any) {
4090 self as &dyn (::std::any::Any)
4091 }
4092 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4093 self as &mut dyn (::std::any::Any)
4094 }
4095 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4096 self
4097 }
4098
4099 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4100 Self::descriptor_static()
4101 }
4102
4103 fn new() -> ListMetricEvalsRequest {
4104 ListMetricEvalsRequest::new()
4105 }
4106
4107 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4108 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4109 descriptor.get(|| {
4110 let mut fields = ::std::vec::Vec::new();
4111 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4112 "experiment_name",
4113 |m: &ListMetricEvalsRequest| { &m.experiment_name },
4114 |m: &mut ListMetricEvalsRequest| { &mut m.experiment_name },
4115 ));
4116 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4117 "session_name",
4118 |m: &ListMetricEvalsRequest| { &m.session_name },
4119 |m: &mut ListMetricEvalsRequest| { &mut m.session_name },
4120 ));
4121 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MetricName>>(
4122 "metric_name",
4123 |m: &ListMetricEvalsRequest| { &m.metric_name },
4124 |m: &mut ListMetricEvalsRequest| { &mut m.metric_name },
4125 ));
4126 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListMetricEvalsRequest>(
4127 "ListMetricEvalsRequest",
4128 fields,
4129 file_descriptor_proto()
4130 )
4131 })
4132 }
4133
4134 fn default_instance() -> &'static ListMetricEvalsRequest {
4135 static instance: ::protobuf::rt::LazyV2<ListMetricEvalsRequest> = ::protobuf::rt::LazyV2::INIT;
4136 instance.get(ListMetricEvalsRequest::new)
4137 }
4138}
4139
4140impl ::protobuf::Clear for ListMetricEvalsRequest {
4141 fn clear(&mut self) {
4142 self.experiment_name.clear();
4143 self.session_name.clear();
4144 self.metric_name.clear();
4145 self.unknown_fields.clear();
4146 }
4147}
4148
4149impl ::std::fmt::Debug for ListMetricEvalsRequest {
4150 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4151 ::protobuf::text_format::fmt(self, f)
4152 }
4153}
4154
4155impl ::protobuf::reflect::ProtobufValue for ListMetricEvalsRequest {
4156 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4157 ::protobuf::reflect::ReflectValueRef::Message(self)
4158 }
4159}
4160
4161#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4162pub enum DataType {
4163 DATA_TYPE_UNSET = 0,
4164 DATA_TYPE_STRING = 1,
4165 DATA_TYPE_BOOL = 2,
4166 DATA_TYPE_FLOAT64 = 3,
4167}
4168
4169impl ::protobuf::ProtobufEnum for DataType {
4170 fn value(&self) -> i32 {
4171 *self as i32
4172 }
4173
4174 fn from_i32(value: i32) -> ::std::option::Option<DataType> {
4175 match value {
4176 0 => ::std::option::Option::Some(DataType::DATA_TYPE_UNSET),
4177 1 => ::std::option::Option::Some(DataType::DATA_TYPE_STRING),
4178 2 => ::std::option::Option::Some(DataType::DATA_TYPE_BOOL),
4179 3 => ::std::option::Option::Some(DataType::DATA_TYPE_FLOAT64),
4180 _ => ::std::option::Option::None
4181 }
4182 }
4183
4184 fn values() -> &'static [Self] {
4185 static values: &'static [DataType] = &[
4186 DataType::DATA_TYPE_UNSET,
4187 DataType::DATA_TYPE_STRING,
4188 DataType::DATA_TYPE_BOOL,
4189 DataType::DATA_TYPE_FLOAT64,
4190 ];
4191 values
4192 }
4193
4194 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4195 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4196 descriptor.get(|| {
4197 ::protobuf::reflect::EnumDescriptor::new_pb_name::<DataType>("DataType", file_descriptor_proto())
4198 })
4199 }
4200}
4201
4202impl ::std::marker::Copy for DataType {
4203}
4204
4205impl ::std::default::Default for DataType {
4206 fn default() -> Self {
4207 DataType::DATA_TYPE_UNSET
4208 }
4209}
4210
4211impl ::protobuf::reflect::ProtobufValue for DataType {
4212 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4213 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4214 }
4215}
4216
4217#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4218pub enum DatasetType {
4219 DATASET_UNKNOWN = 0,
4220 DATASET_TRAINING = 1,
4221 DATASET_VALIDATION = 2,
4222}
4223
4224impl ::protobuf::ProtobufEnum for DatasetType {
4225 fn value(&self) -> i32 {
4226 *self as i32
4227 }
4228
4229 fn from_i32(value: i32) -> ::std::option::Option<DatasetType> {
4230 match value {
4231 0 => ::std::option::Option::Some(DatasetType::DATASET_UNKNOWN),
4232 1 => ::std::option::Option::Some(DatasetType::DATASET_TRAINING),
4233 2 => ::std::option::Option::Some(DatasetType::DATASET_VALIDATION),
4234 _ => ::std::option::Option::None
4235 }
4236 }
4237
4238 fn values() -> &'static [Self] {
4239 static values: &'static [DatasetType] = &[
4240 DatasetType::DATASET_UNKNOWN,
4241 DatasetType::DATASET_TRAINING,
4242 DatasetType::DATASET_VALIDATION,
4243 ];
4244 values
4245 }
4246
4247 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4248 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4249 descriptor.get(|| {
4250 ::protobuf::reflect::EnumDescriptor::new_pb_name::<DatasetType>("DatasetType", file_descriptor_proto())
4251 })
4252 }
4253}
4254
4255impl ::std::marker::Copy for DatasetType {
4256}
4257
4258impl ::std::default::Default for DatasetType {
4259 fn default() -> Self {
4260 DatasetType::DATASET_UNKNOWN
4261 }
4262}
4263
4264impl ::protobuf::reflect::ProtobufValue for DatasetType {
4265 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4266 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4267 }
4268}
4269
4270#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4271pub enum Status {
4272 STATUS_UNKNOWN = 0,
4273 STATUS_SUCCESS = 1,
4274 STATUS_FAILURE = 2,
4275 STATUS_RUNNING = 3,
4276}
4277
4278impl ::protobuf::ProtobufEnum for Status {
4279 fn value(&self) -> i32 {
4280 *self as i32
4281 }
4282
4283 fn from_i32(value: i32) -> ::std::option::Option<Status> {
4284 match value {
4285 0 => ::std::option::Option::Some(Status::STATUS_UNKNOWN),
4286 1 => ::std::option::Option::Some(Status::STATUS_SUCCESS),
4287 2 => ::std::option::Option::Some(Status::STATUS_FAILURE),
4288 3 => ::std::option::Option::Some(Status::STATUS_RUNNING),
4289 _ => ::std::option::Option::None
4290 }
4291 }
4292
4293 fn values() -> &'static [Self] {
4294 static values: &'static [Status] = &[
4295 Status::STATUS_UNKNOWN,
4296 Status::STATUS_SUCCESS,
4297 Status::STATUS_FAILURE,
4298 Status::STATUS_RUNNING,
4299 ];
4300 values
4301 }
4302
4303 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4304 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4305 descriptor.get(|| {
4306 ::protobuf::reflect::EnumDescriptor::new_pb_name::<Status>("Status", file_descriptor_proto())
4307 })
4308 }
4309}
4310
4311impl ::std::marker::Copy for Status {
4312}
4313
4314impl ::std::default::Default for Status {
4315 fn default() -> Self {
4316 Status::STATUS_UNKNOWN
4317 }
4318}
4319
4320impl ::protobuf::reflect::ProtobufValue for Status {
4321 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4322 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4323 }
4324}
4325
4326#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4327pub enum SortOrder {
4328 ORDER_UNSPECIFIED = 0,
4329 ORDER_ASC = 1,
4330 ORDER_DESC = 2,
4331}
4332
4333impl ::protobuf::ProtobufEnum for SortOrder {
4334 fn value(&self) -> i32 {
4335 *self as i32
4336 }
4337
4338 fn from_i32(value: i32) -> ::std::option::Option<SortOrder> {
4339 match value {
4340 0 => ::std::option::Option::Some(SortOrder::ORDER_UNSPECIFIED),
4341 1 => ::std::option::Option::Some(SortOrder::ORDER_ASC),
4342 2 => ::std::option::Option::Some(SortOrder::ORDER_DESC),
4343 _ => ::std::option::Option::None
4344 }
4345 }
4346
4347 fn values() -> &'static [Self] {
4348 static values: &'static [SortOrder] = &[
4349 SortOrder::ORDER_UNSPECIFIED,
4350 SortOrder::ORDER_ASC,
4351 SortOrder::ORDER_DESC,
4352 ];
4353 values
4354 }
4355
4356 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4357 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4358 descriptor.get(|| {
4359 ::protobuf::reflect::EnumDescriptor::new_pb_name::<SortOrder>("SortOrder", file_descriptor_proto())
4360 })
4361 }
4362}
4363
4364impl ::std::marker::Copy for SortOrder {
4365}
4366
4367impl ::std::default::Default for SortOrder {
4368 fn default() -> Self {
4369 SortOrder::ORDER_UNSPECIFIED
4370 }
4371}
4372
4373impl ::protobuf::reflect::ProtobufValue for SortOrder {
4374 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4375 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4376 }
4377}
4378
4379#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4380pub enum AggregationType {
4381 AGGREGATION_UNSET = 0,
4382 AGGREGATION_AVG = 1,
4383 AGGREGATION_MEDIAN = 2,
4384 AGGREGATION_MIN = 3,
4385 AGGREGATION_MAX = 4,
4386}
4387
4388impl ::protobuf::ProtobufEnum for AggregationType {
4389 fn value(&self) -> i32 {
4390 *self as i32
4391 }
4392
4393 fn from_i32(value: i32) -> ::std::option::Option<AggregationType> {
4394 match value {
4395 0 => ::std::option::Option::Some(AggregationType::AGGREGATION_UNSET),
4396 1 => ::std::option::Option::Some(AggregationType::AGGREGATION_AVG),
4397 2 => ::std::option::Option::Some(AggregationType::AGGREGATION_MEDIAN),
4398 3 => ::std::option::Option::Some(AggregationType::AGGREGATION_MIN),
4399 4 => ::std::option::Option::Some(AggregationType::AGGREGATION_MAX),
4400 _ => ::std::option::Option::None
4401 }
4402 }
4403
4404 fn values() -> &'static [Self] {
4405 static values: &'static [AggregationType] = &[
4406 AggregationType::AGGREGATION_UNSET,
4407 AggregationType::AGGREGATION_AVG,
4408 AggregationType::AGGREGATION_MEDIAN,
4409 AggregationType::AGGREGATION_MIN,
4410 AggregationType::AGGREGATION_MAX,
4411 ];
4412 values
4413 }
4414
4415 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4416 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4417 descriptor.get(|| {
4418 ::protobuf::reflect::EnumDescriptor::new_pb_name::<AggregationType>("AggregationType", file_descriptor_proto())
4419 })
4420 }
4421}
4422
4423impl ::std::marker::Copy for AggregationType {
4424}
4425
4426impl ::std::default::Default for AggregationType {
4427 fn default() -> Self {
4428 AggregationType::AGGREGATION_UNSET
4429 }
4430}
4431
4432impl ::protobuf::reflect::ProtobufValue for AggregationType {
4433 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4434 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4435 }
4436}
4437
4438static file_descriptor_proto_data: &'static [u8] = b"\
4439 \n\rsrc/api.proto\x12\x14tensorboardrs.hparam\x1a\x1cgoogle/protobuf/str\
4440 uct.proto\"\x8c\x02\n\nExperiment\x12\x12\n\x04name\x18\x06\x20\x01(\tR\
4441 \x04name\x12\x20\n\x0bdescription\x18\x01\x20\x01(\tR\x0bdescription\x12\
4442 \x12\n\x04user\x18\x02\x20\x01(\tR\x04user\x12*\n\x11time_created_secs\
4443 \x18\x03\x20\x01(\x01R\x0ftimeCreatedSecs\x12C\n\x0chparam_infos\x18\x04\
4444 \x20\x03(\x0b2\x20.tensorboardrs.hparam.HParamInfoR\x0bhparamInfos\x12C\
4445 \n\x0cmetric_infos\x18\x05\x20\x03(\x0b2\x20.tensorboardrs.hparam.Metric\
4446 InfoR\x0bmetricInfos\"\xb5\x02\n\nHParamInfo\x12\x12\n\x04name\x18\x01\
4447 \x20\x01(\tR\x04name\x12!\n\x0cdisplay_name\x18\x02\x20\x01(\tR\x0bdispl\
4448 ayName\x12\x20\n\x0bdescription\x18\x03\x20\x01(\tR\x0bdescription\x122\
4449 \n\x04type\x18\x04\x20\x01(\x0e2\x1e.tensorboardrs.hparam.DataTypeR\x04t\
4450 ype\x12E\n\x0fdomain_discrete\x18\x05\x20\x01(\x0b2\x1a.google.protobuf.\
4451 ListValueH\0R\x0edomainDiscrete\x12I\n\x0fdomain_interval\x18\x06\x20\
4452 \x01(\x0b2\x1e.tensorboardrs.hparam.IntervalH\0R\x0edomainIntervalB\x08\
4453 \n\x06domain\"D\n\x08Interval\x12\x1b\n\tmin_value\x18\x01\x20\x01(\x01R\
4454 \x08minValue\x12\x1b\n\tmax_value\x18\x02\x20\x01(\x01R\x08maxValue\"4\n\
4455 \nMetricName\x12\x14\n\x05group\x18\x01\x20\x01(\tR\x05group\x12\x10\n\
4456 \x03tag\x18\x02\x20\x01(\tR\x03tag\"\xcd\x01\n\nMetricInfo\x124\n\x04nam\
4457 e\x18\x01\x20\x01(\x0b2\x20.tensorboardrs.hparam.MetricNameR\x04name\x12\
4458 !\n\x0cdisplay_name\x18\x03\x20\x01(\tR\x0bdisplayName\x12\x20\n\x0bdesc\
4459 ription\x18\x04\x20\x01(\tR\x0bdescription\x12D\n\x0cdataset_type\x18\
4460 \x05\x20\x01(\x0e2!.tensorboardrs.hparam.DatasetTypeR\x0bdatasetType\"\
4461 \xe5\x02\n\x0cSessionGroup\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\
4462 \x12I\n\x07hparams\x18\x02\x20\x03(\x0b2/.tensorboardrs.hparam.SessionGr\
4463 oup.HparamsEntryR\x07hparams\x12F\n\rmetric_values\x18\x03\x20\x03(\x0b2\
4464 !.tensorboardrs.hparam.MetricValueR\x0cmetricValues\x129\n\x08sessions\
4465 \x18\x04\x20\x03(\x0b2\x1d.tensorboardrs.hparam.SessionR\x08sessions\x12\
4466 \x1f\n\x0bmonitor_url\x18\x05\x20\x01(\tR\nmonitorUrl\x1aR\n\x0cHparamsE\
4467 ntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12,\n\x05value\x18\x02\
4468 \x20\x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01\"\xa4\x01\n\
4469 \x0bMetricValue\x124\n\x04name\x18\x01\x20\x01(\x0b2\x20.tensorboardrs.h\
4470 param.MetricNameR\x04name\x12\x14\n\x05value\x18\x02\x20\x01(\x01R\x05va\
4471 lue\x12#\n\rtraining_step\x18\x03\x20\x01(\x05R\x0ctrainingStep\x12$\n\
4472 \x0ewall_time_secs\x18\x04\x20\x01(\x01R\x0cwallTimeSecs\"\xa5\x02\n\x07\
4473 Session\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12&\n\x0fstart_ti\
4474 me_secs\x18\x02\x20\x01(\x01R\rstartTimeSecs\x12\"\n\rend_time_secs\x18\
4475 \x03\x20\x01(\x01R\x0bendTimeSecs\x124\n\x06status\x18\x04\x20\x01(\x0e2\
4476 \x1c.tensorboardrs.hparam.StatusR\x06status\x12\x1b\n\tmodel_uri\x18\x05\
4477 \x20\x01(\tR\x08modelUri\x12F\n\rmetric_values\x18\x06\x20\x03(\x0b2!.te\
4478 nsorboardrs.hparam.MetricValueR\x0cmetricValues\x12\x1f\n\x0bmonitor_url\
4479 \x18\x07\x20\x01(\tR\nmonitorUrl\"?\n\x14GetExperimentRequest\x12'\n\x0f\
4480 experiment_name\x18\x01\x20\x01(\tR\x0eexperimentName\"\xaf\x03\n\x18Lis\
4481 tSessionGroupsRequest\x12'\n\x0fexperiment_name\x18\x06\x20\x01(\tR\x0ee\
4482 xperimentName\x12G\n\x10allowed_statuses\x18\x07\x20\x03(\x0e2\x1c.tenso\
4483 rboardrs.hparam.StatusR\x0fallowedStatuses\x12>\n\ncol_params\x18\x01\
4484 \x20\x03(\x0b2\x1f.tensorboardrs.hparam.ColParamsR\tcolParams\x12P\n\x10\
4485 aggregation_type\x18\x02\x20\x01(\x0e2%.tensorboardrs.hparam.Aggregation\
4486 TypeR\x0faggregationType\x12O\n\x12aggregation_metric\x18\x03\x20\x01(\
4487 \x0b2\x20.tensorboardrs.hparam.MetricNameR\x11aggregationMetric\x12\x1f\
4488 \n\x0bstart_index\x18\x04\x20\x01(\x05R\nstartIndex\x12\x1d\n\nslice_siz\
4489 e\x18\x05\x20\x01(\x05R\tsliceSize\"\xcb\x03\n\tColParams\x12:\n\x06metr\
4490 ic\x18\x01\x20\x01(\x0b2\x20.tensorboardrs.hparam.MetricNameH\0R\x06metr\
4491 ic\x12\x18\n\x06hparam\x18\x02\x20\x01(\tH\0R\x06hparam\x125\n\x05order\
4492 \x18\x03\x20\x01(\x0e2\x1f.tensorboardrs.hparam.SortOrderR\x05order\x120\
4493 \n\x14missing_values_first\x18\x04\x20\x01(\x08R\x12missingValuesFirst\
4494 \x12%\n\rfilter_regexp\x18\x05\x20\x01(\tH\x01R\x0cfilterRegexp\x12I\n\
4495 \x0ffilter_interval\x18\x06\x20\x01(\x0b2\x1e.tensorboardrs.hparam.Inter\
4496 valH\x01R\x0efilterInterval\x12E\n\x0ffilter_discrete\x18\x07\x20\x01(\
4497 \x0b2\x1a.google.protobuf.ListValueH\x01R\x0efilterDiscrete\x124\n\x16ex\
4498 clude_missing_values\x18\x08\x20\x01(\x08R\x14excludeMissingValuesB\x06\
4499 \n\x04nameB\x08\n\x06filter\"\x85\x01\n\x19ListSessionGroupsResponse\x12\
4500 I\n\x0esession_groups\x18\x01\x20\x03(\x0b2\".tensorboardrs.hparam.Sessi\
4501 onGroupR\rsessionGroups\x12\x1d\n\ntotal_size\x18\x03\x20\x01(\x05R\ttot\
4502 alSize\"\xa7\x01\n\x16ListMetricEvalsRequest\x12'\n\x0fexperiment_name\
4503 \x18\x03\x20\x01(\tR\x0eexperimentName\x12!\n\x0csession_name\x18\x01\
4504 \x20\x01(\tR\x0bsessionName\x12A\n\x0bmetric_name\x18\x02\x20\x01(\x0b2\
4505 \x20.tensorboardrs.hparam.MetricNameR\nmetricName*`\n\x08DataType\x12\
4506 \x13\n\x0fDATA_TYPE_UNSET\x10\0\x12\x14\n\x10DATA_TYPE_STRING\x10\x01\
4507 \x12\x12\n\x0eDATA_TYPE_BOOL\x10\x02\x12\x15\n\x11DATA_TYPE_FLOAT64\x10\
4508 \x03*P\n\x0bDatasetType\x12\x13\n\x0fDATASET_UNKNOWN\x10\0\x12\x14\n\x10\
4509 DATASET_TRAINING\x10\x01\x12\x16\n\x12DATASET_VALIDATION\x10\x02*X\n\x06\
4510 Status\x12\x12\n\x0eSTATUS_UNKNOWN\x10\0\x12\x12\n\x0eSTATUS_SUCCESS\x10\
4511 \x01\x12\x12\n\x0eSTATUS_FAILURE\x10\x02\x12\x12\n\x0eSTATUS_RUNNING\x10\
4512 \x03*A\n\tSortOrder\x12\x15\n\x11ORDER_UNSPECIFIED\x10\0\x12\r\n\tORDER_\
4513 ASC\x10\x01\x12\x0e\n\nORDER_DESC\x10\x02*\x7f\n\x0fAggregationType\x12\
4514 \x15\n\x11AGGREGATION_UNSET\x10\0\x12\x13\n\x0fAGGREGATION_AVG\x10\x01\
4515 \x12\x16\n\x12AGGREGATION_MEDIAN\x10\x02\x12\x13\n\x0fAGGREGATION_MIN\
4516 \x10\x03\x12\x13\n\x0fAGGREGATION_MAX\x10\x04J\xc3\x84\x01\n\x07\x12\x05\
4517 \x1e\0\x8f\x03\x01\n\x95\x0b\n\x01\x0c\x12\x03\x1e\0\x122\x94\x05\x20Cop\
4518 yright\x202019\x20The\x20TensorFlow\x20Authors.\x20All\x20Rights\x20Rese\
4519 rved.\n\nLicensed\x20under\x20the\x20Apache\x20License,\x20Version\x202.\
4520 0\x20(the\x20\"License\");\nyou\x20may\x20not\x20use\x20this\x20file\x20\
4521 except\x20in\x20compliance\x20with\x20the\x20License.\nYou\x20may\x20obt\
4522 ain\x20a\x20copy\x20of\x20the\x20License\x20at\n\nhttp://www.apache.org/\
4523 licenses/LICENSE-2.0\n\nUnless\x20required\x20by\x20applicable\x20law\
4524 \x20or\x20agreed\x20to\x20in\x20writing,\x20software\ndistributed\x20und\
4525 er\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\
4526 \x20BASIS,\nWITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KI\
4527 ND,\x20either\x20express\x20or\x20implied.\nSee\x20the\x20License\x20for\
4528 \x20the\x20specific\x20language\x20governing\x20permissions\x20and\nlimi\
4529 tations\x20under\x20the\x20License.\n===================================\
4530 ===========================================2\xfd\x02\x20Defines\x20a\x20\
4531 proto3-based\x20REST\x20API\x20that\x20the\x20HParams\x20web-component\
4532 \x20of\x20the\x20plugin\n\x20would\x20use\x20to\x20read\x20data\x20from\
4533 \x20a\x20hyperparameter-tuning\x20experiment.\n\x20This\x20file\x20defin\
4534 es\x20the\x20message\x20types\x20(resources)\x20used\n\x20to\x20pass\x20\
4535 information\x20into\x20and\x20out\x20of\x20the\x20API\x20methods.\x20The\
4536 se\x20messages\x20will\x20be\n\x20transmitted\x20using\x20proto3\x20nati\
4537 ve\x20JSON\x20encoding.\x20See\x20http_api.md\x20for\x20a\n\x20descripti\
4538 on\x20of\x20the\x20actual\x20HTTP\x20API.\n2\x8d\x02\x20General\x20note:\
4539 \x20in\x20what\x20follows\x20we\x20use\x20the\x20field\x20'name'\x20of\
4540 \x20a\x20message\x20to\n\x20stores\x20its\x20id.\x20We\x20avoid\x20calli\
4541 ng\x20this\x20field\x20'id'\x20since\x20it\x20is\x20a\x20reserved\x20wor\
4542 d\n\x20in\x20Python,\x20as\x20well\x20as\x20to\x20be\x20more\x20complian\
4543 t\x20with\x20the\x20API\x20style\x20guide\n\x20detailed\x20in\x20https:/\
4544 /cloud.google.com/apis/design/.\n2d\x20IMPORTANT:\x20If\x20you\x20change\
4545 \x20any\x20of\x20the\x20messages\x20here,\x20make\x20sure\x20to\x20also\
4546 \x20update\n\x20api.d.ts\x20accordingly.\n\n\t\n\x02\x03\0\x12\x03\x20\0\
4547 &\n\x08\n\x01\x02\x12\x03\"\0\x1d\n\x8d\x06\n\x02\x04\0\x12\x042\0E\x01\
4548 \x1a\x80\x06\x20Represents\x20a\x20single\x20experiment.\n\x20An\x20expe\
4549 riment\x20consists\x20of\x20multiple\x20\"sessions\".\x20Typically,\x20i\
4550 n\x20each\x20session\n\x20a\x20model\x20is\x20trained\x20for\x20a\x20giv\
4551 en\x20set\x20of\x20hyperparameter\x20values.\x20In\x20each\x20session\n\
4552 \x20a\x20training\x20program\x20may\x20generate\x20one\x20or\x20more\x20\
4553 series\x20of\x20real\x20numbers--each\n\x20containing\x20the\x20evaluati\
4554 on\x20of\x20some\x20metric\x20on\x20the\x20model\x20at\x20different\x20t\
4555 raining\n\x20steps.\n\n\x20Note\x20that\x20Sessions\x20can\x20consist\
4556 \x20of\x20multiple\x20Tensorboard\x20\"runs\",\x20since\x20in\n\x20a\x20\
4557 distributed\x20Tensorflow\x20deployment,\x20training\x20can\x20be\x20acc\
4558 omplished\x20using\n\x20several\x20cooporating\x20processes,\x20each\x20\
4559 one\x20emitting\x20Summary\x20data\x20to\x20a\x20different\n\x20log\x20d\
4560 irectory\x20or\x20run.\x20For\x20example,\x20in\x20a\x20single\x20sessio\
4561 n\x20one\x20process\x20could\n\x20periodically\x20compute\x20the\x20loss\
4562 \x20on\x20the\x20validation\x20set,\x20and\x20another\x20could\n\x20comp\
4563 ute\x20the\x20loss\x20on\x20the\x20training\x20set.\n\x20NEXT_TAG:\x207\
4564 \n\n\n\n\x03\x04\0\x01\x12\x032\x08\x12\n\x84\x01\n\x04\x04\0\x02\0\x12\
4565 \x035\x02\x12\x1aw\x20--\x20Experiments\x20are\x20scoped\x20by\x20a\x20g\
4566 lobal\x20name.\n\x20Currently,\x20Tensorboard\x20supports\x20displaying\
4567 \x20data\x20for\x20a\x20single\x20experiment.\n\n\x0c\n\x05\x04\0\x02\0\
4568 \x05\x12\x035\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x035\t\r\n\x0c\n\
4569 \x05\x04\0\x02\0\x03\x12\x035\x10\x11\n3\n\x04\x04\0\x02\x01\x12\x038\
4570 \x02\x19\x1a&\x20A\x20description.\x20May\x20contain\x20markdown.\n\n\
4571 \x0c\n\x05\x04\0\x02\x01\x05\x12\x038\x02\x08\n\x0c\n\x05\x04\0\x02\x01\
4572 \x01\x12\x038\t\x14\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x038\x17\x18\n2\n\
4573 \x04\x04\0\x02\x02\x12\x03;\x02\x12\x1a%\x20An\x20id\x20for\x20the\x20ow\
4574 ning\x20user\x20or\x20group.\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03;\
4575 \x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03;\t\r\n\x0c\n\x05\x04\0\
4576 \x02\x02\x03\x12\x03;\x10\x11\nT\n\x04\x04\0\x02\x03\x12\x03>\x02\x1f\
4577 \x1aG\x20The\x20time\x20the\x20experiment\x20was\x20created.\x20In\x20se\
4578 conds\x20since\x20the\x20UNIX\x20epoch.\n\n\x0c\n\x05\x04\0\x02\x03\x05\
4579 \x12\x03>\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03>\t\x1a\n\x0c\n\
4580 \x05\x04\0\x02\x03\x03\x12\x03>\x1d\x1e\nL\n\x04\x04\0\x02\x04\x12\x03A\
4581 \x02'\x1a?\x20Information\x20about\x20each\x20hyperparameter\x20used\x20\
4582 in\x20the\x20experiment.\n\n\x0c\n\x05\x04\0\x02\x04\x04\x12\x03A\x02\n\
4583 \n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03A\x0b\x15\n\x0c\n\x05\x04\0\x02\
4584 \x04\x01\x12\x03A\x16\"\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03A%&\nD\n\
4585 \x04\x04\0\x02\x05\x12\x03D\x02'\x1a7\x20Information\x20about\x20each\
4586 \x20metric\x20used\x20in\x20the\x20experiment.\n\n\x0c\n\x05\x04\0\x02\
4587 \x05\x04\x12\x03D\x02\n\n\x0c\n\x05\x04\0\x02\x05\x06\x12\x03D\x0b\x15\n\
4588 \x0c\n\x05\x04\0\x02\x05\x01\x12\x03D\x16\"\n\x0c\n\x05\x04\0\x02\x05\
4589 \x03\x12\x03D%&\n\x19\n\x02\x04\x01\x12\x04H\0c\x01\x1a\r\x20NEXT_TAG:\
4590 \x207\n\n\n\n\x03\x04\x01\x01\x12\x03H\x08\x12\n,\n\x04\x04\x01\x02\0\
4591 \x12\x03J\x02\x12\x1a\x1f\x20An\x20id\x20for\x20the\x20hyperparameter.\n\
4592 \n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03J\x02\x08\n\x0c\n\x05\x04\x01\x02\
4593 \0\x01\x12\x03J\t\r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03J\x10\x11\nv\n\
4594 \x04\x04\x01\x02\x01\x12\x03N\x02\x1a\x1ai\x20A\x20string\x20used\x20to\
4595 \x20display\x20the\x20hyperparameter\x20in\x20the\x20UI.\x20If\x20empty,\
4596 \x20the\x20UI\n\x20will\x20display\x20the\x20'name'\x20field.\n\n\x0c\n\
4597 \x05\x04\x01\x02\x01\x05\x12\x03N\x02\x08\n\x0c\n\x05\x04\x01\x02\x01\
4598 \x01\x12\x03N\t\x15\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03N\x18\x19\n3\
4599 \n\x04\x04\x01\x02\x02\x12\x03Q\x02\x19\x1a&\x20A\x20description.\x20May\
4600 \x20contain\x20markdown.\n\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03Q\x02\
4601 \x08\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03Q\t\x14\n\x0c\n\x05\x04\x01\
4602 \x02\x02\x03\x12\x03Q\x17\x18\n4\n\x04\x04\x01\x02\x03\x12\x03T\x02\x14\
4603 \x1a'\x20The\x20data\x20type\x20of\x20this\x20hyperparameter.\n\n\x0c\n\
4604 \x05\x04\x01\x02\x03\x06\x12\x03T\x02\n\n\x0c\n\x05\x04\x01\x02\x03\x01\
4605 \x12\x03T\x0b\x0f\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x03T\x12\x13\n\xa9\
4606 \x03\n\x04\x04\x01\x08\0\x12\x04\\\x02b\x03\x1a\x9a\x03\x20Specifies\x20\
4607 the\x20set\x20of\x20values\x20this\x20hyperparameter\x20can\x20hold.\x20\
4608 The\x20UI\x20assumes\n\x20every\x20instance\x20of\x20this\x20hyperparame\
4609 ter\x20will\x20hold\x20a\x20value\x20from\x20this\x20set.\x20It\n\x20is\
4610 \x20used\x20by\x20the\x20UI\x20to\x20allow\x20filtering\x20so\x20that\
4611 \x20only\x20session\x20groups\x20(see\n\x20below)\x20whose\x20associated\
4612 \x20hyperparameter\x20value\x20\"passes\"\x20the\x20filter\x20are\n\x20d\
4613 isplayed.\x20If\x20this\x20is\x20not\x20populated,\x20the\x20domain\x20i\
4614 s\x20assumed\x20to\x20be\x20the\n\x20entire\x20domain\x20of\x20the\x20ty\
4615 pe\x20of\x20the\x20hyperparameter.\n\n\x0c\n\x05\x04\x01\x08\0\x01\x12\
4616 \x03\\\x08\x0e\nI\n\x04\x04\x01\x02\x04\x12\x03^\x042\x1a<\x20A\x20discr\
4617 ete\x20set\x20of\x20the\x20values\x20this\x20hyperparameter\x20can\x20ho\
4618 ld.\n\n\x0c\n\x05\x04\x01\x02\x04\x06\x12\x03^\x04\x1d\n\x0c\n\x05\x04\
4619 \x01\x02\x04\x01\x12\x03^\x1e-\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03^0\
4620 1\no\n\x04\x04\x01\x02\x05\x12\x03a\x04!\x1ab\x20Numeric\x20data\x20type\
4621 \x20only.\x20The\x20(real)\x20interval\x20from\x20which\x20values\x20of\
4622 \x20this\n\x20hyperparameter\x20are\x20taken.\n\n\x0c\n\x05\x04\x01\x02\
4623 \x05\x06\x12\x03a\x04\x0c\n\x0c\n\x05\x04\x01\x02\x05\x01\x12\x03a\r\x1c\
4624 \n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03a\x1f\x20\n\n\n\x02\x05\0\x12\
4625 \x04e\0j\x01\n\n\n\x03\x05\0\x01\x12\x03e\x05\r\n\x0b\n\x04\x05\0\x02\0\
4626 \x12\x03f\x02\x16\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03f\x02\x11\n\x0c\n\
4627 \x05\x05\0\x02\0\x02\x12\x03f\x14\x15\n\x0b\n\x04\x05\0\x02\x01\x12\x03g\
4628 \x02\x17\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03g\x02\x12\n\x0c\n\x05\x05\
4629 \0\x02\x01\x02\x12\x03g\x15\x16\n\x0b\n\x04\x05\0\x02\x02\x12\x03h\x02\
4630 \x15\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03h\x02\x10\n\x0c\n\x05\x05\0\
4631 \x02\x02\x02\x12\x03h\x13\x14\n\x0b\n\x04\x05\0\x02\x03\x12\x03i\x02\x18\
4632 \n\x0c\n\x05\x05\0\x02\x03\x01\x12\x03i\x02\x13\n\x0c\n\x05\x05\0\x02\
4633 \x03\x02\x12\x03i\x16\x17\nb\n\x02\x04\x02\x12\x04n\0q\x01\x1aV\x20Repre\
4634 sents\x20the\x20closed\x20interval\x20[min_value,\x20max_value]\x20of\
4635 \x20the\x20real\x20line.\n\x20NEXT_TAG:\x203\n\n\n\n\x03\x04\x02\x01\x12\
4636 \x03n\x08\x10\n\x0b\n\x04\x04\x02\x02\0\x12\x03o\x02\x17\n\x0c\n\x05\x04\
4637 \x02\x02\0\x05\x12\x03o\x02\x08\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03o\t\
4638 \x12\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03o\x15\x16\n\x0b\n\x04\x04\x02\
4639 \x02\x01\x12\x03p\x02\x17\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03p\x02\
4640 \x08\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03p\t\x12\n\x0c\n\x05\x04\x02\
4641 \x02\x01\x03\x12\x03p\x15\x16\n\x1a\n\x02\x04\x03\x12\x05t\0\x92\x01\x01\
4642 \x1a\r\x20NEXT_TAG:\x203\n\n\n\n\x03\x04\x03\x01\x12\x03t\x08\x12\n\xb0\
4643 \x0c\n\x04\x04\x03\x02\0\x12\x04\x90\x01\x02\x13\x1a\xa1\x0c\x20An\x20id\
4644 entifier\x20for\x20a\x20metric.\x20A\x20metric\x20is\x20a\x20real-valued\
4645 \x20function\x20of\x20the\n\x20model.\x20The\x20UI\x20can\x20plot\x20met\
4646 rics\x20for\x20a\x20session\x20evaluated\x20on\x20the\x20model\x20at\n\
4647 \x20different\x20training\x20steps.\n\n\x20We\x20identify\x20a\x20metric\
4648 \x20by\x20a\x20(group,\x20tag)\x20pair\x20of\x20strings.\x20The\x20UI\
4649 \x20treats\n\x20both\x20of\x20these\x20as\x20opaque\x20strings.\x20The\
4650 \x20only\x20requirement\x20is\x20that\x20the\x20pair\n\x20uniquely\x20id\
4651 entifies\x20a\x20metric\x20in\x20the\x20experiment.\n\n\x20We\x20use\x20\
4652 a\x20pair\x20so\x20the\x20UI\x20could\x20allow\x20the\x20user\x20to\x20g\
4653 roup\x20metrics\x20for\x20a\n\x20single\x20session\x20by\x20either\x20gr\
4654 oup\x20or\x20tag\x20to\x20be\x20displayed\x20in\x20the\x20same\x20chart.\
4655 \n\x20For\x20instance,\x20one\x20can\x20set\x20the\x20metric\x20group\
4656 \x20to\x20correspond\x20to\x20the\x20dataset\n\x20on\x20which\x20the\x20\
4657 model\x20was\x20evaluated,\x20and\x20the\x20UI\x20can\x20then\x20display\
4658 \x20different\n\x20metrics\x20describing\x20the\x20same\x20underlying\
4659 \x20computation\x20and\x20using\x20different\n\x20datasets,\x20on\x20the\
4660 \x20same\x20chart.\n\n\x20When\x20exporting\x20summaries\x20from\x20Tens\
4661 orflow,\x20in\x20a\x20typical\x20setup,\x20a\n\x20training\x20session\
4662 \x20exports\x20evaluations\x20of\x20metrics\x20at\x20different\x20traini\
4663 ng\x20steps\n\x20as\x20Scalar-plugin\x20summaries--each\x20having\x20a\
4664 \x20run\x20of\x20the\x20form\n\x20\"<session_base_log_dir>/<sub_dir>\",\
4665 \x20and\x20some\x20associated\x20tag.\x20The\x20same\n\x20metric\x20for\
4666 \x20different\x20sessions\x20would\x20use\x20the\x20same\x20sub_dir\x20a\
4667 nd\x20tag,\x20but\n\x20would\x20have\x20a\x20different\x20session_base_l\
4668 og_dir.\x20For\x20example,\x20a\x20session\n\x20computing\x20two\x20metr\
4669 ics:\x20model\x20loss\x20on\x20the\x20validation\x20set\x20and\x20model\
4670 \x20loss\x20on\n\x20the\x20training\x20set,\x20can\x20export\x20these\
4671 \x20as\x20scalar\x20summaries\x20with\x20the\x20tag\x20\"loss\"\n\x20and\
4672 \x20runs\x20session_base_log_dir/validation\x20and\x20session_base_log_d\
4673 ir/training,\n\x20respectively.\x20In\x20this\x20setup,\x20the\x20'group\
4674 '\x20field\x20can\x20be\x20populated\x20with\n\x20the\x20\"sub_dir\"\x20\
4675 associated\x20with\x20the\x20metric,\x20and\x20the\x20'tag'\x20field\x20\
4676 can\x20be\n\x20populated\x20with\x20the\x20tag:\x20\"loss\".\n\n\r\n\x05\
4677 \x04\x03\x02\0\x05\x12\x04\x90\x01\x02\x08\n\r\n\x05\x04\x03\x02\0\x01\
4678 \x12\x04\x90\x01\t\x0e\n\r\n\x05\x04\x03\x02\0\x03\x12\x04\x90\x01\x11\
4679 \x12\n\x0c\n\x04\x04\x03\x02\x01\x12\x04\x91\x01\x02\x11\n\r\n\x05\x04\
4680 \x03\x02\x01\x05\x12\x04\x91\x01\x02\x08\n\r\n\x05\x04\x03\x02\x01\x01\
4681 \x12\x04\x91\x01\t\x0c\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\x91\x01\x0f\
4682 \x10\n\x1b\n\x02\x04\x04\x12\x06\x95\x01\0\xa1\x01\x01\x1a\r\x20NEXT_TAG\
4683 :\x206\n\n\x0b\n\x03\x04\x04\x01\x12\x04\x95\x01\x08\x12\n\x0c\n\x04\x04\
4684 \x04\x02\0\x12\x04\x96\x01\x02\x16\n\r\n\x05\x04\x04\x02\0\x06\x12\x04\
4685 \x96\x01\x02\x0c\n\r\n\x05\x04\x04\x02\0\x01\x12\x04\x96\x01\r\x11\n\r\n\
4686 \x05\x04\x04\x02\0\x03\x12\x04\x96\x01\x14\x15\no\n\x04\x04\x04\x02\x01\
4687 \x12\x04\x9a\x01\x02\x1a\x1aa\x20A\x20string\x20used\x20to\x20display\
4688 \x20the\x20metric\x20in\x20the\x20UI.\x20If\x20empty,\x20the\x20UI\n\x20\
4689 will\x20display\x20the\x20'name'\x20field.\n\n\r\n\x05\x04\x04\x02\x01\
4690 \x05\x12\x04\x9a\x01\x02\x08\n\r\n\x05\x04\x04\x02\x01\x01\x12\x04\x9a\
4691 \x01\t\x15\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\x9a\x01\x18\x19\n4\n\
4692 \x04\x04\x04\x02\x02\x12\x04\x9d\x01\x02\x19\x1a&\x20A\x20description.\
4693 \x20May\x20contain\x20markdown.\n\n\r\n\x05\x04\x04\x02\x02\x05\x12\x04\
4694 \x9d\x01\x02\x08\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\x9d\x01\t\x14\n\r\
4695 \n\x05\x04\x04\x02\x02\x03\x12\x04\x9d\x01\x17\x18\nX\n\x04\x04\x04\x02\
4696 \x03\x12\x04\xa0\x01\x02\x1f\x1aJ\x20The\x20dataset\x20type\x20(validati\
4697 on,\x20training)\x20on\x20which\x20the\x20metric\x20is\x20computed.\n\n\
4698 \r\n\x05\x04\x04\x02\x03\x06\x12\x04\xa0\x01\x02\r\n\r\n\x05\x04\x04\x02\
4699 \x03\x01\x12\x04\xa0\x01\x0e\x1a\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\
4700 \xa0\x01\x1d\x1e\n\x0c\n\x02\x05\x01\x12\x06\xa3\x01\0\xa7\x01\x01\n\x0b\
4701 \n\x03\x05\x01\x01\x12\x04\xa3\x01\x05\x10\n\x0c\n\x04\x05\x01\x02\0\x12\
4702 \x04\xa4\x01\x02\x16\n\r\n\x05\x05\x01\x02\0\x01\x12\x04\xa4\x01\x02\x11\
4703 \n\r\n\x05\x05\x01\x02\0\x02\x12\x04\xa4\x01\x14\x15\n\x0c\n\x04\x05\x01\
4704 \x02\x01\x12\x04\xa5\x01\x02\x17\n\r\n\x05\x05\x01\x02\x01\x01\x12\x04\
4705 \xa5\x01\x02\x12\n\r\n\x05\x05\x01\x02\x01\x02\x12\x04\xa5\x01\x15\x16\n\
4706 \x0c\n\x04\x05\x01\x02\x02\x12\x04\xa6\x01\x02\x19\n\r\n\x05\x05\x01\x02\
4707 \x02\x01\x12\x04\xa6\x01\x02\x14\n\r\n\x05\x05\x01\x02\x02\x02\x12\x04\
4708 \xa6\x01\x17\x18\n\x93\x04\n\x02\x04\x05\x12\x06\xb1\x01\0\xc5\x01\x01\
4709 \x1a\x84\x04\x20In\x20some\x20experiments,\x20the\x20user\x20trains\x20a\
4710 \x20model\x20with\x20the\x20same\x20set\x20of\n\x20hyperparameters\x20mu\
4711 ltiple\x20times\x20to\x20get\x20the\x20distribution\x20of\x20metric\n\
4712 \x20evaluations,\x20when\x20the\x20computation\x20(such\x20as\x20the\x20\
4713 training\x20algorithm,\x20or\x20metric\n\x20evaluation)\x20is\x20non-det\
4714 erministic.\x20To\x20make\x20the\x20UI\x20aware\x20of\x20this,\x20sessio\
4715 ns\n\x20are\x20partitioned\x20into\x20groups:\x20each\x20group\x20consis\
4716 ts\x20of\x20all\x20training\x20sessions\n\x20which\x20share\x20the\x20sa\
4717 me\x20values\x20for\x20the\x20hyperparameters.\x20In\x20experiments\x20w\
4718 ith\x20no\n\x20repeated\x20executions,\x20each\x20group\x20consists\x20o\
4719 f\x20exactly\x20one\x20session.\n\x20NEXT_TAG:\x206\n\n\x0b\n\x03\x04\
4720 \x05\x01\x12\x04\xb1\x01\x08\x14\n\x0c\n\x04\x04\x05\x02\0\x12\x04\xb2\
4721 \x01\x02\x12\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\xb2\x01\x02\x08\n\r\n\
4722 \x05\x04\x05\x02\0\x01\x12\x04\xb2\x01\t\r\n\r\n\x05\x04\x05\x02\0\x03\
4723 \x12\x04\xb2\x01\x10\x11\n\x82\x01\n\x04\x04\x05\x02\x01\x12\x04\xb6\x01\
4724 \x02C\x1at\x20Stores\x20the\x20hyperparameters\x20for\x20sessions\x20wit\
4725 hin\x20this\x20group\x20as\x20a\x20mapping\n\x20from\x20the\x20hyperpara\
4726 meter\x20name\x20to\x20its\x20value.\n\n\r\n\x05\x04\x05\x02\x01\x06\x12\
4727 \x04\xb6\x01\x026\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\xb6\x017>\n\r\n\
4728 \x05\x04\x05\x02\x01\x03\x12\x04\xb6\x01AB\n\x87\x03\n\x04\x04\x05\x02\
4729 \x02\x12\x04\xbe\x01\x02)\x1a\xf8\x02\x20A\x20list\x20of\x20pairs\x20(me\
4730 tric,\x20value)--one\x20for\x20each\x20metric\x20in\x20the\x20experiment\
4731 .\n\x20The\x20value\x20denotes\x20the\x20evaluation\x20of\x20the\x20corr\
4732 esponding\x20metric\x20on\n\x20the\x20model\x20aggregated\x20across\x20t\
4733 he\x20sessions\x20in\x20this\x20group.\x20The\x20exact\x20method\n\x20of\
4734 \x20aggregation\x20is\x20specified\x20in\x20the\x20comments\x20of\x20Lis\
4735 tSessionGroupsRequest.\n\x20Unfortunately,\x20we\x20can't\x20store\x20th\
4736 ese\x20as\x20a\x20map,\x20since\x20proto\x20maps\x20can't\x20have\n\x20m\
4737 essage\x20keys.\n\n\r\n\x05\x04\x05\x02\x02\x04\x12\x04\xbe\x01\x02\n\n\
4738 \r\n\x05\x04\x05\x02\x02\x06\x12\x04\xbe\x01\x0b\x16\n\r\n\x05\x04\x05\
4739 \x02\x02\x01\x12\x04\xbe\x01\x17$\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\
4740 \xbe\x01'(\n5\n\x04\x04\x05\x02\x03\x12\x04\xc1\x01\x02\x20\x1a'\x20The\
4741 \x20sessions\x20belonging\x20to\x20this\x20group.\n\n\r\n\x05\x04\x05\
4742 \x02\x03\x04\x12\x04\xc1\x01\x02\n\n\r\n\x05\x04\x05\x02\x03\x06\x12\x04\
4743 \xc1\x01\x0b\x12\n\r\n\x05\x04\x05\x02\x03\x01\x12\x04\xc1\x01\x13\x1b\n\
4744 \r\n\x05\x04\x05\x02\x03\x03\x12\x04\xc1\x01\x1e\x1f\nL\n\x04\x04\x05\
4745 \x02\x04\x12\x04\xc4\x01\x02\x19\x1a>\x20An\x20optional\x20link\x20to\
4746 \x20a\x20web\x20page\x20monitoring\x20the\x20session\x20group.\n\n\r\n\
4747 \x05\x04\x05\x02\x04\x05\x12\x04\xc4\x01\x02\x08\n\r\n\x05\x04\x05\x02\
4748 \x04\x01\x12\x04\xc4\x01\t\x14\n\r\n\x05\x04\x05\x02\x04\x03\x12\x04\xc4\
4749 \x01\x17\x18\n\x1b\n\x02\x04\x06\x12\x06\xc8\x01\0\xd2\x01\x01\x1a\r\x20\
4750 NEXT_TAG:\x205\n\n\x0b\n\x03\x04\x06\x01\x12\x04\xc8\x01\x08\x13\n\x0c\n\
4751 \x04\x04\x06\x02\0\x12\x04\xc9\x01\x02\x16\n\r\n\x05\x04\x06\x02\0\x06\
4752 \x12\x04\xc9\x01\x02\x0c\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xc9\x01\r\
4753 \x11\n\r\n\x05\x04\x06\x02\0\x03\x12\x04\xc9\x01\x14\x15\n\x0c\n\x04\x04\
4754 \x06\x02\x01\x12\x04\xcb\x01\x02\x13\n\r\n\x05\x04\x06\x02\x01\x05\x12\
4755 \x04\xcb\x01\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xcb\x01\t\x0e\
4756 \n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xcb\x01\x11\x12\nB\n\x04\x04\x06\
4757 \x02\x02\x12\x04\xce\x01\x02\x1a\x1a4\x20The\x20training\x20step\x20at\
4758 \x20which\x20this\x20value\x20is\x20computed.\n\n\r\n\x05\x04\x06\x02\
4759 \x02\x05\x12\x04\xce\x01\x02\x07\n\r\n\x05\x04\x06\x02\x02\x01\x12\x04\
4760 \xce\x01\x08\x15\n\r\n\x05\x04\x06\x02\x02\x03\x12\x04\xce\x01\x18\x19\n\
4761 Z\n\x04\x04\x06\x02\x03\x12\x04\xd1\x01\x02\x1c\x1aL\x20The\x20wall\x20t\
4762 ime\x20in\x20seconds\x20since\x20UNIX\x20epoch\x20at\x20which\x20this\
4763 \x20value\x20is\x20computed.\n\n\r\n\x05\x04\x06\x02\x03\x05\x12\x04\xd1\
4764 \x01\x02\x08\n\r\n\x05\x04\x06\x02\x03\x01\x12\x04\xd1\x01\t\x17\n\r\n\
4765 \x05\x04\x06\x02\x03\x03\x12\x04\xd1\x01\x1a\x1b\n\x1b\n\x02\x04\x07\x12\
4766 \x06\xd5\x01\0\xf0\x01\x01\x1a\r\x20NEXT_TAG:\x208\n\n\x0b\n\x03\x04\x07\
4767 \x01\x12\x04\xd5\x01\x08\x0f\nX\n\x04\x04\x07\x02\0\x12\x04\xd7\x01\x02\
4768 \x12\x1aJ\x20An\x20id\x20for\x20the\x20session.\x20Unique\x20within\x20a\
4769 n\x20experiment\x20(not\x20just\x20the\x20group).\n\n\r\n\x05\x04\x07\
4770 \x02\0\x05\x12\x04\xd7\x01\x02\x08\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\
4771 \xd7\x01\t\r\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\xd7\x01\x10\x11\n0\n\
4772 \x04\x04\x07\x02\x01\x12\x04\xda\x01\x02\x1d\x1a\"\x20In\x20seconds\x20s\
4773 ince\x20the\x20UNIX\x20epoch.\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\
4774 \xda\x01\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xda\x01\t\x18\n\r\
4775 \n\x05\x04\x07\x02\x01\x03\x12\x04\xda\x01\x1b\x1c\nn\n\x04\x04\x07\x02\
4776 \x02\x12\x04\xde\x01\x02\x1b\x1a`\x20In\x20seconds\x20since\x20the\x20UN\
4777 IX\x20epoch.\n\x20May\x20be\x200\x20if\x20unavailable\x20or\x20the\x20se\
4778 ssion\x20has\x20not\x20finished\x20yet.\n\n\r\n\x05\x04\x07\x02\x02\x05\
4779 \x12\x04\xde\x01\x02\x08\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\xde\x01\t\
4780 \x16\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xde\x01\x19\x1a\n5\n\x04\x04\
4781 \x07\x02\x03\x12\x04\xe1\x01\x02\x14\x1a'\x20May\x20be\x20STATUS_UNKNOWN\
4782 \x20if\x20unavailable.\n\n\r\n\x05\x04\x07\x02\x03\x06\x12\x04\xe1\x01\
4783 \x02\x08\n\r\n\x05\x04\x07\x02\x03\x01\x12\x04\xe1\x01\t\x0f\n\r\n\x05\
4784 \x04\x07\x02\x03\x03\x12\x04\xe1\x01\x12\x13\n\xa5\x02\n\x04\x04\x07\x02\
4785 \x04\x12\x04\xe7\x01\x02\x17\x1a\x96\x02\x20A\x20URI\x20for\x20a\x20reso\
4786 urce\x20that\x20will\x20allow\x20the\x20user\x20to\x20reconstruct\x20the\
4787 \x20model\x20for\n\x20this\x20session.\x20E.g.,\x20in\x20Tensorflow\x20t\
4788 his\x20could\x20point\x20to\x20a\x20directory\x20where\x20the\n\x20check\
4789 points\x20are\x20stored.\x20Currently,\x20this\x20is\x20treated\x20opaqu\
4790 ely\x20by\x20the\x20UI\n\x20and\x20only\x20displayed\x20to\x20the\x20use\
4791 r\x20as\x20it\x20is\x20passed\x20here.\n\n\r\n\x05\x04\x07\x02\x04\x05\
4792 \x12\x04\xe7\x01\x02\x08\n\r\n\x05\x04\x07\x02\x04\x01\x12\x04\xe7\x01\t\
4793 \x12\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\xe7\x01\x15\x16\n\xb3\x01\n\
4794 \x04\x04\x07\x02\x05\x12\x04\xec\x01\x02)\x1a\xa4\x01\x20Stores\x20each\
4795 \x20metric\x20evaluation\x20on\x20the\x20model\x20at\x20the\x20current\
4796 \x20training\x20step.\n\x20Unfortunately,\x20we\x20can't\x20store\x20the\
4797 se\x20as\x20a\x20map,\x20since\x20proto\x20maps\x20can't\x20have\n\x20me\
4798 ssage\x20keys.\n\n\r\n\x05\x04\x07\x02\x05\x04\x12\x04\xec\x01\x02\n\n\r\
4799 \n\x05\x04\x07\x02\x05\x06\x12\x04\xec\x01\x0b\x16\n\r\n\x05\x04\x07\x02\
4800 \x05\x01\x12\x04\xec\x01\x17$\n\r\n\x05\x04\x07\x02\x05\x03\x12\x04\xec\
4801 \x01'(\nF\n\x04\x04\x07\x02\x06\x12\x04\xef\x01\x02\x19\x1a8\x20An\x20op\
4802 tional\x20link\x20to\x20a\x20web\x20page\x20monitoring\x20the\x20session\
4803 .\n\n\r\n\x05\x04\x07\x02\x06\x05\x12\x04\xef\x01\x02\x08\n\r\n\x05\x04\
4804 \x07\x02\x06\x01\x12\x04\xef\x01\t\x14\n\r\n\x05\x04\x07\x02\x06\x03\x12\
4805 \x04\xef\x01\x17\x18\n3\n\x02\x05\x02\x12\x06\xf3\x01\0\xf8\x01\x01\x1a%\
4806 \x20Represents\x20the\x20status\x20of\x20a\x20Session.\n\n\x0b\n\x03\x05\
4807 \x02\x01\x12\x04\xf3\x01\x05\x0b\n\x0c\n\x04\x05\x02\x02\0\x12\x04\xf4\
4808 \x01\x02\x15\n\r\n\x05\x05\x02\x02\0\x01\x12\x04\xf4\x01\x02\x10\n\r\n\
4809 \x05\x05\x02\x02\0\x02\x12\x04\xf4\x01\x13\x14\n\x0c\n\x04\x05\x02\x02\
4810 \x01\x12\x04\xf5\x01\x02\x15\n\r\n\x05\x05\x02\x02\x01\x01\x12\x04\xf5\
4811 \x01\x02\x10\n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\xf5\x01\x13\x14\n\x0c\
4812 \n\x04\x05\x02\x02\x02\x12\x04\xf6\x01\x02\x15\n\r\n\x05\x05\x02\x02\x02\
4813 \x01\x12\x04\xf6\x01\x02\x10\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\xf6\
4814 \x01\x13\x14\n\x0c\n\x04\x05\x02\x02\x03\x12\x04\xf7\x01\x02\x15\n\r\n\
4815 \x05\x05\x02\x02\x03\x01\x12\x04\xf7\x01\x02\x10\n\r\n\x05\x05\x02\x02\
4816 \x03\x02\x12\x04\xf7\x01\x13\x14\nw\n\x02\x04\x08\x12\x06\xfd\x01\0\x80\
4817 \x02\x01\x1ai\x20Parameters\x20for\x20a\x20GetExperiment\x20API\x20call.\
4818 \n\x20Each\x20experiment\x20is\x20scoped\x20by\x20a\x20unique\x20global\
4819 \x20id.\n\x20NEXT_TAG:\x202\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xfd\x01\
4820 \x08\x1c\n\x18\n\x04\x04\x08\x02\0\x12\x04\xff\x01\x02\x1d\x1a\n\x20REQU\
4821 IRED\n\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\xff\x01\x02\x08\n\r\n\x05\x04\
4822 \x08\x02\0\x01\x12\x04\xff\x01\t\x18\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\
4823 \xff\x01\x1b\x1c\n\x8c\x02\n\x02\x04\t\x12\x06\x87\x02\0\xb8\x02\x01\x1a\
4824 \xfd\x01\x20Parameters\x20for\x20a\x20ListSessionGroups\x20API\x20call.\
4825 \n\x20Computes\x20a\x20list\x20of\x20the\x20current\x20session\x20groups\
4826 \x20allowing\x20for\x20filtering\x20and\n\x20sorting\x20by\x20metrics\
4827 \x20and\x20hyperparameter\x20values.\x20Returns\x20a\x20\"slice\"\x20of\
4828 \n\x20that\x20list\x20specified\x20by\x20start_index\x20and\x20slice_siz\
4829 e.\n\x20NEXT_TAG:\x208\n\n\x0b\n\x03\x04\t\x01\x12\x04\x87\x02\x08\x20\n\
4830 \x0c\n\x04\x04\t\x02\0\x12\x04\x88\x02\x02\x1d\n\r\n\x05\x04\t\x02\0\x05\
4831 \x12\x04\x88\x02\x02\x08\n\r\n\x05\x04\t\x02\0\x01\x12\x04\x88\x02\t\x18\
4832 \n\r\n\x05\x04\t\x02\0\x03\x12\x04\x88\x02\x1b\x1c\n\xa9\x01\n\x04\x04\t\
4833 \x02\x01\x12\x04\x8d\x02\x02'\x1a\x9a\x01\x20Filters\x20the\x20set\x20of\
4834 \x20sessions\x20(from\x20which\x20the\x20session\x20groups\x20are\x20for\
4835 med)\x20to\n\x20contain\x20only\x20these\x20sessions\x20whose\x20status\
4836 \x20is\x20contained\x20in\n\x20'allowed_statuses'.\n\n\r\n\x05\x04\t\x02\
4837 \x01\x04\x12\x04\x8d\x02\x02\n\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\x8d\
4838 \x02\x0b\x11\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\x8d\x02\x12\"\n\r\n\x05\
4839 \x04\t\x02\x01\x03\x12\x04\x8d\x02%&\n\x8f\x05\n\x04\x04\t\x02\x02\x12\
4840 \x04\x9a\x02\x02$\x1a\x80\x05\x20A\x20list\x20of\x20ColParams\x20message\
4841 s--one\x20for\x20each\x20\"column\"\x20of\x20a\x20session\x20group.\x20A\
4842 \n\x20session\x20group\x20column\x20contains\x20either\x20a\x20metric\
4843 \x20evaluated\x20at\x20the\x20current\n\x20reported\x20computation\x20st\
4844 ep\x20or\x20a\x20hyperparameter\x20value.\x20In\x20addition\x20to\n\x20'\
4845 regular'\x20values,\x20a\x20column\x20may\x20take\x20on\x20a\x20special\
4846 \x20'missing-value'\x20which\n\x20denotes\x20that\x20the\x20hyperparamet\
4847 er\x20or\x20metric\x20is\x20not\x20available\n\x20for\x20the\x20session\
4848 \x20group\x20(for\x20example,\x20if\x20the\x20metric\x20is\x20not\x20use\
4849 d\x20in\x20the\n\x20group).\n\n\x20The\x20ColParams\x20messages\x20in\
4850 \x20the\x20repeated\x20field\x20below\x20configure\x20filtering\x20and\n\
4851 \x20sorting\x20of\x20the\x20resulting\x20collection\x20of\x20session\x20\
4852 groups.\x20See\x20the\x20comments\x20of\n\x20the\x20fields\x20in\x20the\
4853 \x20ColParam\x20message\x20below\x20for\x20more\x20details.\n\n\r\n\x05\
4854 \x04\t\x02\x02\x04\x12\x04\x9a\x02\x02\n\n\r\n\x05\x04\t\x02\x02\x06\x12\
4855 \x04\x9a\x02\x0b\x14\n\r\n\x05\x04\t\x02\x02\x01\x12\x04\x9a\x02\x15\x1f\
4856 \n\r\n\x05\x04\t\x02\x02\x03\x12\x04\x9a\x02\"#\n\x84\x05\n\x04\x04\t\
4857 \x02\x03\x12\x04\xa7\x02\x02'\x1a\xf5\x04\x20Fields\x20controlling\x20ho\
4858 w\x20to\x20aggregate\x20metrics\x20across\x20sessions\x20within\x20a\n\
4859 \x20session\x20group.\n\x20If\x20aggregation_type\x20is\x20AGGREGATION_A\
4860 VG,\x20each\x20metric\x20value\x20of\x20the\n\x20session\x20group\x20is\
4861 \x20the\x20average\x20of\x20the\x20values\x20of\x20the\x20metric\x20acro\
4862 ss\x20the\n\x20sessions.\n\x20Otherwise,\x20the\x20session\x20group\x20m\
4863 etric\x20values\x20are\x20taken\x20directly\x20from\x20a\n\x20\"represen\
4864 tative\"\x20session\x20in\x20the\x20group,\x20selected\x20as\x20a\x20ses\
4865 sion\x20for\x20which\n\x20primary_metric\x20takes\x20on\x20its\x20minimu\
4866 m,\x20maximum,\x20or\x20median\x20value,\x20as\n\x20specified\x20by\x20t\
4867 he\x20choice\x20of\x20aggregation_type\x20(for\x20median,\x20if\x20the\
4868 \x20number\x20of\n\x20sessions\x20in\x20the\x20group\x20is\x20even,\x20a\
4869 \x20session\x20with\x20a\x20lower\x20\"middle\"\x20value\x20is\n\x20chos\
4870 en\x20as\x20the\x20representative\x20session).\n\n\r\n\x05\x04\t\x02\x03\
4871 \x06\x12\x04\xa7\x02\x02\x11\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\xa7\x02\
4872 \x12\"\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xa7\x02%&\n9\n\x04\x04\t\x02\
4873 \x04\x12\x04\xaa\x02\x02$\x1a+\x20See\x20comment\x20for\x20'aggregation_\
4874 type'\x20above.\n\n\r\n\x05\x04\t\x02\x04\x06\x12\x04\xaa\x02\x02\x0c\n\
4875 \r\n\x05\x04\t\x02\x04\x01\x12\x04\xaa\x02\r\x1f\n\r\n\x05\x04\t\x02\x04\
4876 \x03\x12\x04\xaa\x02\"#\n\xd4\x01\n\x04\x04\t\x02\x05\x12\x04\xaf\x02\
4877 \x02\x18\x1a\xc5\x01\x20The\x20next\x20two\x20parameters\x20determine\
4878 \x20the\x20\"slice\"\x20of\x20the\x20full\x20list\x20of\n\x20session\x20\
4879 groups--sorted\x20and\x20filtered\x20by\x20the\x20parameters\x20above--t\
4880 o\x20return.\n\x20The\x200-based\x20index\x20of\x20the\x20first\x20sessi\
4881 on\x20group\x20to\x20return.\n\n\r\n\x05\x04\t\x02\x05\x05\x12\x04\xaf\
4882 \x02\x02\x07\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xaf\x02\x08\x13\n\r\n\
4883 \x05\x04\t\x02\x05\x03\x12\x04\xaf\x02\x16\x17\n\xfb\x02\n\x04\x04\t\x02\
4884 \x06\x12\x04\xb7\x02\x02\x17\x1a\xec\x02\x20The\x20number\x20of\x20sessi\
4885 on\x20groups\x20to\x20return\x20starting\x20at\x20the\x20session\x20grou\
4886 p\n\x20indexed\x20by\x20'start_index'.\x20The\x20actual\x20number\x20of\
4887 \x20session\x20groups\x20returned\n\x20is\x20min{slice_size,\x20total_si\
4888 ze\x20-\x20start_index},\x20where\n\x20total_size\x20is\x20the\x20number\
4889 \x20of\x20session\x20groups\x20in\x20the\x20full\x20list\n\x20sorted\x20\
4890 and\x20filtered\x20by\x20the\x20parameters\x20above\x20(if\x20start_inde\
4891 x\x20>\x20total_size\n\x20no\x20session\x20groups\x20are\x20returned).\n\
4892 \n\r\n\x05\x04\t\x02\x06\x05\x12\x04\xb7\x02\x02\x07\n\r\n\x05\x04\t\x02\
4893 \x06\x01\x12\x04\xb7\x02\x08\x12\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\xb7\
4894 \x02\x15\x16\n\xad\x01\n\x02\x04\n\x12\x06\xbd\x02\0\xed\x02\x01\x1a\x9e\
4895 \x01\x20Defines\x20parmeters\x20for\x20a\x20ListSessionGroupsRequest\x20\
4896 for\x20a\x20specific\x20column.\n\x20See\x20the\x20comment\x20for\x20\"L\
4897 istSessionGroupsRequest\"\x20above\x20for\x20more\x20details.\n\x20NEXT_\
4898 TAG:\x209\n\n\x0b\n\x03\x04\n\x01\x12\x04\xbd\x02\x08\x11\n\x0e\n\x04\
4899 \x04\n\x08\0\x12\x06\xbe\x02\x02\xc1\x02\x03\n\r\n\x05\x04\n\x08\0\x01\
4900 \x12\x04\xbe\x02\x08\x0c\n\x0c\n\x04\x04\n\x02\0\x12\x04\xbf\x02\x04\x1a\
4901 \n\r\n\x05\x04\n\x02\0\x06\x12\x04\xbf\x02\x04\x0e\n\r\n\x05\x04\n\x02\0\
4902 \x01\x12\x04\xbf\x02\x0f\x15\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xbf\x02\
4903 \x18\x19\n\x0c\n\x04\x04\n\x02\x01\x12\x04\xc0\x02\x04\x16\n\r\n\x05\x04\
4904 \n\x02\x01\x05\x12\x04\xc0\x02\x04\n\n\r\n\x05\x04\n\x02\x01\x01\x12\x04\
4905 \xc0\x02\x0b\x11\n\r\n\x05\x04\n\x02\x01\x03\x12\x04\xc0\x02\x14\x15\n\
4906 \xc1\x06\n\x04\x04\n\x02\x02\x12\x04\xd1\x02\x02\x16\x1a\xb2\x06\x20Sort\
4907 ing.\n\x20The\x20final\x20order\x20of\x20session\x20groups\x20in\x20the\
4908 \x20response\x20is\x20defined\x20by\x20the\x20sub\n\x20collection\x20of\
4909 \x20ColParams\x20messages\x20(out\x20of\x20the\n\x20ListSessionGroupsReq\
4910 uest.col_params\x20repeated\x20field)\x20whose\x20'order'\x20field\n\x20\
4911 (below)\x20is\x20not\x20ORDER_UNSPECIFIED.\x20In\x20each\x20of\x20the\
4912 \x20messages\x20in\x20this\n\x20sub-collection,\x20the\x20next\x20two\
4913 \x20fields\x20specify\x20the\x20ordering\x20of\x20the\x20values\n\x20and\
4914 \x20missing_values\x20in\x20the\x20associated\x20column\x20of\x20the\x20\
4915 session\x20group.\x20The\n\x20order\x20of\x20the\x20ColParams\x20message\
4916 s\x20themselves\x20within\x20the\x20sub-collection\n\x20determines\x20th\
4917 e\x20\"significance\"\x20of\x20the\x20associated\x20column\x20as\x20a\
4918 \x20sorting\x20key:\n\x20with\x20the\x20first\x20being\x20the\x20primary\
4919 \x20sorting\x20key,\x20the\x20second\x20being\x20the\n\x20secondary\x20s\
4920 orting\x20key,\x20etc.\n\x20Note:\x20The\x20'session\x20group\x20name'\
4921 \x20is\x20added\x20as\x20a\x20least\x20significant\x20sorting\n\x20key\
4922 \x20to\x20the\x20keys\x20defined\x20by\x20the\x20user,\x20so\x20the\x20o\
4923 rder\x20in\x20the\x20response\x20is\x20always\n\x20deterministic.\n\n\r\
4924 \n\x05\x04\n\x02\x02\x06\x12\x04\xd1\x02\x02\x0b\n\r\n\x05\x04\n\x02\x02\
4925 \x01\x12\x04\xd1\x02\x0c\x11\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xd1\x02\
4926 \x14\x15\n\xe0\x01\n\x04\x04\n\x02\x03\x12\x04\xd6\x02\x02\x20\x1a\xd1\
4927 \x01\x20This\x20field\x20is\x20ignored\x20if\x20order\x20is\x20ORDER_UNS\
4928 PECIFIED.\n\x20Otherwise,\x20if\x20true,\x20missing\x20values\x20are\x20\
4929 ordered\x20before\x20every\x20other\x20value\x20in\n\x20the\x20column;\
4930 \x20if\x20false\x20they\x20are\x20ordered\x20after\x20every\x20other\x20\
4931 value\x20in\x20the\n\x20column.\n\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\
4932 \xd6\x02\x02\x06\n\r\n\x05\x04\n\x02\x03\x01\x12\x04\xd6\x02\x07\x1b\n\r\
4933 \n\x05\x04\n\x02\x03\x03\x12\x04\xd6\x02\x1e\x1f\n\xb6\x02\n\x04\x04\n\
4934 \x08\x01\x12\x06\xdd\x02\x02\xe9\x02\x03\x1a\xa5\x02\x20Filtering.\n\x20\
4935 The\x20'filter'\x20oneof\x20specifies\x20a\x20subset\x20of\x20the\x20dom\
4936 ain\x20of\x20the\x20values\x20a\x20column\n\x20may\x20take.\x20Only\x20s\
4937 ession\x20groups\x20with\x20each\x20of\x20their\x20column\x20values\x20b\
4938 elonging\n\x20to\x20this\x20subset\x20are\x20included\x20in\x20the\x20re\
4939 sponse.\x20If\x20this\x20field\x20is\x20not\n\x20specified,\x20the\x20su\
4940 bset\x20is\x20taken\x20to\x20be\x20the\x20entire\x20column\x20domain.\n\
4941 \n\r\n\x05\x04\n\x08\x01\x01\x12\x04\xdd\x02\x08\x0e\n\xeb\x01\n\x04\x04\
4942 \n\x02\x04\x12\x04\xe2\x02\x04\x1d\x1a\xdc\x01\x20Only\x20valid\x20for\
4943 \x20string-valued\x20hyperparameter\x20columns.\x20The\x20subset\x20is\n\
4944 \x20the\x20set\x20of\x20all\x20strings\x20matching\x20the\x20regular\x20\
4945 expression\x20stored\n\x20in\x20'regexp'\x20as\x20a\x20partial\x20match\
4946 \x20(use\x20'^<regexp>$'\x20to\x20have\x20a\x20full\n\x20match\x20agains\
4947 t\x20regexp).\n\n\r\n\x05\x04\n\x02\x04\x05\x12\x04\xe2\x02\x04\n\n\r\n\
4948 \x05\x04\n\x02\x04\x01\x12\x04\xe2\x02\x0b\x18\n\r\n\x05\x04\n\x02\x04\
4949 \x03\x12\x04\xe2\x02\x1b\x1c\nX\n\x04\x04\n\x02\x05\x12\x04\xe5\x02\x04!\
4950 \x1aJ\x20Only\x20valid\x20for\x20numeric-valued\x20columns.\x20The\x20su\
4951 bset\x20is\x20the\x20given\x20interval.\n\n\r\n\x05\x04\n\x02\x05\x06\
4952 \x12\x04\xe5\x02\x04\x0c\n\r\n\x05\x04\n\x02\x05\x01\x12\x04\xe5\x02\r\
4953 \x1c\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xe5\x02\x1f\x20\nK\n\x04\x04\n\
4954 \x02\x06\x12\x04\xe8\x02\x042\x1a=\x20Valid\x20for\x20all\x20data\x20typ\
4955 es.\x20The\x20subset\x20is\x20defined\x20explicitly.\n\n\r\n\x05\x04\n\
4956 \x02\x06\x06\x12\x04\xe8\x02\x04\x1d\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\
4957 \xe8\x02\x1e-\n\r\n\x05\x04\n\x02\x06\x03\x12\x04\xe8\x0201\nm\n\x04\x04\
4958 \n\x02\x07\x12\x04\xec\x02\x02\"\x1a_\x20Specifies\x20whether\x20to\x20e\
4959 xclude\x20session\x20groups\x20whose\x20column\x20value\x20is\x20missing\
4960 \n\x20from\x20the\x20response.\n\n\r\n\x05\x04\n\x02\x07\x05\x12\x04\xec\
4961 \x02\x02\x06\n\r\n\x05\x04\n\x02\x07\x01\x12\x04\xec\x02\x07\x1d\n\r\n\
4962 \x05\x04\n\x02\x07\x03\x12\x04\xec\x02\x20!\n\x0c\n\x02\x05\x03\x12\x06\
4963 \xef\x02\0\xf3\x02\x01\n\x0b\n\x03\x05\x03\x01\x12\x04\xef\x02\x05\x0e\n\
4964 \x0c\n\x04\x05\x03\x02\0\x12\x04\xf0\x02\x02\x18\n\r\n\x05\x05\x03\x02\0\
4965 \x01\x12\x04\xf0\x02\x02\x13\n\r\n\x05\x05\x03\x02\0\x02\x12\x04\xf0\x02\
4966 \x16\x17\n\x0c\n\x04\x05\x03\x02\x01\x12\x04\xf1\x02\x02\x10\n\r\n\x05\
4967 \x05\x03\x02\x01\x01\x12\x04\xf1\x02\x02\x0b\n\r\n\x05\x05\x03\x02\x01\
4968 \x02\x12\x04\xf1\x02\x0e\x0f\n\x0c\n\x04\x05\x03\x02\x02\x12\x04\xf2\x02\
4969 \x02\x11\n\r\n\x05\x05\x03\x02\x02\x01\x12\x04\xf2\x02\x02\x0c\n\r\n\x05\
4970 \x05\x03\x02\x02\x02\x12\x04\xf2\x02\x0f\x10\n\x0c\n\x02\x05\x04\x12\x06\
4971 \xf5\x02\0\xfb\x02\x01\n\x0b\n\x03\x05\x04\x01\x12\x04\xf5\x02\x05\x14\n\
4972 \x0c\n\x04\x05\x04\x02\0\x12\x04\xf6\x02\x02\x18\n\r\n\x05\x05\x04\x02\0\
4973 \x01\x12\x04\xf6\x02\x02\x13\n\r\n\x05\x05\x04\x02\0\x02\x12\x04\xf6\x02\
4974 \x16\x17\n\x0c\n\x04\x05\x04\x02\x01\x12\x04\xf7\x02\x02\x16\n\r\n\x05\
4975 \x05\x04\x02\x01\x01\x12\x04\xf7\x02\x02\x11\n\r\n\x05\x05\x04\x02\x01\
4976 \x02\x12\x04\xf7\x02\x14\x15\n\x0c\n\x04\x05\x04\x02\x02\x12\x04\xf8\x02\
4977 \x02\x19\n\r\n\x05\x05\x04\x02\x02\x01\x12\x04\xf8\x02\x02\x14\n\r\n\x05\
4978 \x05\x04\x02\x02\x02\x12\x04\xf8\x02\x17\x18\n\x0c\n\x04\x05\x04\x02\x03\
4979 \x12\x04\xf9\x02\x02\x16\n\r\n\x05\x05\x04\x02\x03\x01\x12\x04\xf9\x02\
4980 \x02\x11\n\r\n\x05\x05\x04\x02\x03\x02\x12\x04\xf9\x02\x14\x15\n\x0c\n\
4981 \x04\x05\x04\x02\x04\x12\x04\xfa\x02\x02\x16\n\r\n\x05\x05\x04\x02\x04\
4982 \x01\x12\x04\xfa\x02\x02\x11\n\r\n\x05\x05\x04\x02\x04\x02\x12\x04\xfa\
4983 \x02\x14\x15\nB\n\x02\x04\x0b\x12\x06\xff\x02\0\x87\x03\x01\x1a4\x20See\
4984 \x20ListSessionGroups\x20in\x20http_api.md.\n\x20NEXT_TAG:\x204\n\n\x0b\
4985 \n\x03\x04\x0b\x01\x12\x04\xff\x02\x08!\n\x0c\n\x04\x04\x0b\x02\0\x12\
4986 \x04\x80\x03\x02+\n\r\n\x05\x04\x0b\x02\0\x04\x12\x04\x80\x03\x02\n\n\r\
4987 \n\x05\x04\x0b\x02\0\x06\x12\x04\x80\x03\x0b\x17\n\r\n\x05\x04\x0b\x02\0\
4988 \x01\x12\x04\x80\x03\x18&\n\r\n\x05\x04\x0b\x02\0\x03\x12\x04\x80\x03)*\
4989 \n\xef\x01\n\x04\x04\x0b\x02\x01\x12\x04\x86\x03\x02\x17\x1a\xe0\x01\x20\
4990 Denotes\x20the\x20total\x20number\x20of\x20session\x20groups\x20in\x20th\
4991 e\x20full\x20filtered\x20list.\n\x20(Recall\x20that\x20this\x20response\
4992 \x20may\x20only\x20be\x20a\x20slice).\n\x20It\x20is\x20used\x20by\x20the\
4993 \x20UI\x20to\x20calculate\x20total\x20number\x20of\x20pages\x20and\x20ca\
4994 n\x20be\n\x20set\x20here\x20to\x20-1\x20to\x20mean\x20\"unknown\".\n\n\r\
4995 \n\x05\x04\x0b\x02\x01\x05\x12\x04\x86\x03\x02\x07\n\r\n\x05\x04\x0b\x02\
4996 \x01\x01\x12\x04\x86\x03\x08\x12\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\
4997 \x86\x03\x15\x16\nG\n\x02\x04\x0c\x12\x06\x8b\x03\0\x8f\x03\x01\x1a9\x20\
4998 See\x20ListMetricEvalsRequest\x20in\x20http_api.md.\n\x20NEXT_TAG:\x204\
4999 \n\n\x0b\n\x03\x04\x0c\x01\x12\x04\x8b\x03\x08\x1e\n\x0c\n\x04\x04\x0c\
5000 \x02\0\x12\x04\x8c\x03\x02\x1d\n\r\n\x05\x04\x0c\x02\0\x05\x12\x04\x8c\
5001 \x03\x02\x08\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\x8c\x03\t\x18\n\r\n\x05\
5002 \x04\x0c\x02\0\x03\x12\x04\x8c\x03\x1b\x1c\n\x0c\n\x04\x04\x0c\x02\x01\
5003 \x12\x04\x8d\x03\x02\x1a\n\r\n\x05\x04\x0c\x02\x01\x05\x12\x04\x8d\x03\
5004 \x02\x08\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\x8d\x03\t\x15\n\r\n\x05\
5005 \x04\x0c\x02\x01\x03\x12\x04\x8d\x03\x18\x19\n\x0c\n\x04\x04\x0c\x02\x02\
5006 \x12\x04\x8e\x03\x02\x1d\n\r\n\x05\x04\x0c\x02\x02\x06\x12\x04\x8e\x03\
5007 \x02\x0c\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\x8e\x03\r\x18\n\r\n\x05\
5008 \x04\x0c\x02\x02\x03\x12\x04\x8e\x03\x1b\x1cb\x06proto3\
5009";
5010
5011static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
5012
5013fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
5014 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
5015}
5016
5017pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
5018 file_descriptor_proto_lazy.get(|| {
5019 parse_descriptor_proto()
5020 })
5021}