1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![cfg_attr(rustfmt, rustfmt_skip)]
9
10#![allow(box_pointers)]
11#![allow(dead_code)]
12#![allow(missing_docs)]
13#![allow(non_camel_case_types)]
14#![allow(non_snake_case)]
15#![allow(non_upper_case_globals)]
16#![allow(trivial_casts)]
17#![allow(unsafe_code)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20use protobuf::Message as Message_imported_for_functions;
23use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
24
25#[derive(PartialEq,Clone,Default)]
30pub struct AllocationRecord {
31 pub alloc_micros: i64,
33 pub alloc_bytes: i64,
34 pub unknown_fields: ::protobuf::UnknownFields,
36 pub cached_size: ::protobuf::CachedSize,
37}
38
39impl<'a> ::std::default::Default for &'a AllocationRecord {
40 fn default() -> &'a AllocationRecord {
41 <AllocationRecord as ::protobuf::Message>::default_instance()
42 }
43}
44
45impl AllocationRecord {
46 pub fn new() -> AllocationRecord {
47 ::std::default::Default::default()
48 }
49
50 pub fn get_alloc_micros(&self) -> i64 {
54 self.alloc_micros
55 }
56 pub fn clear_alloc_micros(&mut self) {
57 self.alloc_micros = 0;
58 }
59
60 pub fn set_alloc_micros(&mut self, v: i64) {
62 self.alloc_micros = v;
63 }
64
65 pub fn get_alloc_bytes(&self) -> i64 {
69 self.alloc_bytes
70 }
71 pub fn clear_alloc_bytes(&mut self) {
72 self.alloc_bytes = 0;
73 }
74
75 pub fn set_alloc_bytes(&mut self, v: i64) {
77 self.alloc_bytes = v;
78 }
79}
80
81impl ::protobuf::Message for AllocationRecord {
82 fn is_initialized(&self) -> bool {
83 true
84 }
85
86 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
87 while !is.eof()? {
88 let (field_number, wire_type) = is.read_tag_unpack()?;
89 match field_number {
90 1 => {
91 if wire_type != ::protobuf::wire_format::WireTypeVarint {
92 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
93 }
94 let tmp = is.read_int64()?;
95 self.alloc_micros = tmp;
96 },
97 2 => {
98 if wire_type != ::protobuf::wire_format::WireTypeVarint {
99 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
100 }
101 let tmp = is.read_int64()?;
102 self.alloc_bytes = tmp;
103 },
104 _ => {
105 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
106 },
107 };
108 }
109 ::std::result::Result::Ok(())
110 }
111
112 #[allow(unused_variables)]
114 fn compute_size(&self) -> u32 {
115 let mut my_size = 0;
116 if self.alloc_micros != 0 {
117 my_size += ::protobuf::rt::value_size(1, self.alloc_micros, ::protobuf::wire_format::WireTypeVarint);
118 }
119 if self.alloc_bytes != 0 {
120 my_size += ::protobuf::rt::value_size(2, self.alloc_bytes, ::protobuf::wire_format::WireTypeVarint);
121 }
122 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
123 self.cached_size.set(my_size);
124 my_size
125 }
126
127 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
128 if self.alloc_micros != 0 {
129 os.write_int64(1, self.alloc_micros)?;
130 }
131 if self.alloc_bytes != 0 {
132 os.write_int64(2, self.alloc_bytes)?;
133 }
134 os.write_unknown_fields(self.get_unknown_fields())?;
135 ::std::result::Result::Ok(())
136 }
137
138 fn get_cached_size(&self) -> u32 {
139 self.cached_size.get()
140 }
141
142 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
143 &self.unknown_fields
144 }
145
146 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
147 &mut self.unknown_fields
148 }
149
150 fn as_any(&self) -> &dyn (::std::any::Any) {
151 self as &dyn (::std::any::Any)
152 }
153 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
154 self as &mut dyn (::std::any::Any)
155 }
156 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
157 self
158 }
159
160 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
161 Self::descriptor_static()
162 }
163
164 fn new() -> AllocationRecord {
165 AllocationRecord::new()
166 }
167
168 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
169 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
170 unsafe {
171 descriptor.get(|| {
172 let mut fields = ::std::vec::Vec::new();
173 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
174 "alloc_micros",
175 |m: &AllocationRecord| { &m.alloc_micros },
176 |m: &mut AllocationRecord| { &mut m.alloc_micros },
177 ));
178 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
179 "alloc_bytes",
180 |m: &AllocationRecord| { &m.alloc_bytes },
181 |m: &mut AllocationRecord| { &mut m.alloc_bytes },
182 ));
183 ::protobuf::reflect::MessageDescriptor::new_pb_name::<AllocationRecord>(
184 "AllocationRecord",
185 fields,
186 file_descriptor_proto()
187 )
188 })
189 }
190 }
191
192 fn default_instance() -> &'static AllocationRecord {
193 static mut instance: ::protobuf::lazy::Lazy<AllocationRecord> = ::protobuf::lazy::Lazy::INIT;
194 unsafe {
195 instance.get(AllocationRecord::new)
196 }
197 }
198}
199
200impl ::protobuf::Clear for AllocationRecord {
201 fn clear(&mut self) {
202 self.alloc_micros = 0;
203 self.alloc_bytes = 0;
204 self.unknown_fields.clear();
205 }
206}
207
208impl ::std::fmt::Debug for AllocationRecord {
209 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
210 ::protobuf::text_format::fmt(self, f)
211 }
212}
213
214impl ::protobuf::reflect::ProtobufValue for AllocationRecord {
215 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
216 ::protobuf::reflect::ReflectValueRef::Message(self)
217 }
218}
219
220#[derive(PartialEq,Clone,Default)]
221pub struct AllocatorMemoryUsed {
222 pub allocator_name: ::std::string::String,
224 pub total_bytes: i64,
225 pub peak_bytes: i64,
226 pub live_bytes: i64,
227 pub allocation_records: ::protobuf::RepeatedField<AllocationRecord>,
228 pub allocator_bytes_in_use: i64,
229 pub unknown_fields: ::protobuf::UnknownFields,
231 pub cached_size: ::protobuf::CachedSize,
232}
233
234impl<'a> ::std::default::Default for &'a AllocatorMemoryUsed {
235 fn default() -> &'a AllocatorMemoryUsed {
236 <AllocatorMemoryUsed as ::protobuf::Message>::default_instance()
237 }
238}
239
240impl AllocatorMemoryUsed {
241 pub fn new() -> AllocatorMemoryUsed {
242 ::std::default::Default::default()
243 }
244
245 pub fn get_allocator_name(&self) -> &str {
249 &self.allocator_name
250 }
251 pub fn clear_allocator_name(&mut self) {
252 self.allocator_name.clear();
253 }
254
255 pub fn set_allocator_name(&mut self, v: ::std::string::String) {
257 self.allocator_name = v;
258 }
259
260 pub fn mut_allocator_name(&mut self) -> &mut ::std::string::String {
263 &mut self.allocator_name
264 }
265
266 pub fn take_allocator_name(&mut self) -> ::std::string::String {
268 ::std::mem::replace(&mut self.allocator_name, ::std::string::String::new())
269 }
270
271 pub fn get_total_bytes(&self) -> i64 {
275 self.total_bytes
276 }
277 pub fn clear_total_bytes(&mut self) {
278 self.total_bytes = 0;
279 }
280
281 pub fn set_total_bytes(&mut self, v: i64) {
283 self.total_bytes = v;
284 }
285
286 pub fn get_peak_bytes(&self) -> i64 {
290 self.peak_bytes
291 }
292 pub fn clear_peak_bytes(&mut self) {
293 self.peak_bytes = 0;
294 }
295
296 pub fn set_peak_bytes(&mut self, v: i64) {
298 self.peak_bytes = v;
299 }
300
301 pub fn get_live_bytes(&self) -> i64 {
305 self.live_bytes
306 }
307 pub fn clear_live_bytes(&mut self) {
308 self.live_bytes = 0;
309 }
310
311 pub fn set_live_bytes(&mut self, v: i64) {
313 self.live_bytes = v;
314 }
315
316 pub fn get_allocation_records(&self) -> &[AllocationRecord] {
320 &self.allocation_records
321 }
322 pub fn clear_allocation_records(&mut self) {
323 self.allocation_records.clear();
324 }
325
326 pub fn set_allocation_records(&mut self, v: ::protobuf::RepeatedField<AllocationRecord>) {
328 self.allocation_records = v;
329 }
330
331 pub fn mut_allocation_records(&mut self) -> &mut ::protobuf::RepeatedField<AllocationRecord> {
333 &mut self.allocation_records
334 }
335
336 pub fn take_allocation_records(&mut self) -> ::protobuf::RepeatedField<AllocationRecord> {
338 ::std::mem::replace(&mut self.allocation_records, ::protobuf::RepeatedField::new())
339 }
340
341 pub fn get_allocator_bytes_in_use(&self) -> i64 {
345 self.allocator_bytes_in_use
346 }
347 pub fn clear_allocator_bytes_in_use(&mut self) {
348 self.allocator_bytes_in_use = 0;
349 }
350
351 pub fn set_allocator_bytes_in_use(&mut self, v: i64) {
353 self.allocator_bytes_in_use = v;
354 }
355}
356
357impl ::protobuf::Message for AllocatorMemoryUsed {
358 fn is_initialized(&self) -> bool {
359 for v in &self.allocation_records {
360 if !v.is_initialized() {
361 return false;
362 }
363 };
364 true
365 }
366
367 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
368 while !is.eof()? {
369 let (field_number, wire_type) = is.read_tag_unpack()?;
370 match field_number {
371 1 => {
372 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.allocator_name)?;
373 },
374 2 => {
375 if wire_type != ::protobuf::wire_format::WireTypeVarint {
376 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
377 }
378 let tmp = is.read_int64()?;
379 self.total_bytes = tmp;
380 },
381 3 => {
382 if wire_type != ::protobuf::wire_format::WireTypeVarint {
383 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
384 }
385 let tmp = is.read_int64()?;
386 self.peak_bytes = tmp;
387 },
388 4 => {
389 if wire_type != ::protobuf::wire_format::WireTypeVarint {
390 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
391 }
392 let tmp = is.read_int64()?;
393 self.live_bytes = tmp;
394 },
395 6 => {
396 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.allocation_records)?;
397 },
398 5 => {
399 if wire_type != ::protobuf::wire_format::WireTypeVarint {
400 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
401 }
402 let tmp = is.read_int64()?;
403 self.allocator_bytes_in_use = tmp;
404 },
405 _ => {
406 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
407 },
408 };
409 }
410 ::std::result::Result::Ok(())
411 }
412
413 #[allow(unused_variables)]
415 fn compute_size(&self) -> u32 {
416 let mut my_size = 0;
417 if !self.allocator_name.is_empty() {
418 my_size += ::protobuf::rt::string_size(1, &self.allocator_name);
419 }
420 if self.total_bytes != 0 {
421 my_size += ::protobuf::rt::value_size(2, self.total_bytes, ::protobuf::wire_format::WireTypeVarint);
422 }
423 if self.peak_bytes != 0 {
424 my_size += ::protobuf::rt::value_size(3, self.peak_bytes, ::protobuf::wire_format::WireTypeVarint);
425 }
426 if self.live_bytes != 0 {
427 my_size += ::protobuf::rt::value_size(4, self.live_bytes, ::protobuf::wire_format::WireTypeVarint);
428 }
429 for value in &self.allocation_records {
430 let len = value.compute_size();
431 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
432 };
433 if self.allocator_bytes_in_use != 0 {
434 my_size += ::protobuf::rt::value_size(5, self.allocator_bytes_in_use, ::protobuf::wire_format::WireTypeVarint);
435 }
436 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
437 self.cached_size.set(my_size);
438 my_size
439 }
440
441 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
442 if !self.allocator_name.is_empty() {
443 os.write_string(1, &self.allocator_name)?;
444 }
445 if self.total_bytes != 0 {
446 os.write_int64(2, self.total_bytes)?;
447 }
448 if self.peak_bytes != 0 {
449 os.write_int64(3, self.peak_bytes)?;
450 }
451 if self.live_bytes != 0 {
452 os.write_int64(4, self.live_bytes)?;
453 }
454 for v in &self.allocation_records {
455 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
456 os.write_raw_varint32(v.get_cached_size())?;
457 v.write_to_with_cached_sizes(os)?;
458 };
459 if self.allocator_bytes_in_use != 0 {
460 os.write_int64(5, self.allocator_bytes_in_use)?;
461 }
462 os.write_unknown_fields(self.get_unknown_fields())?;
463 ::std::result::Result::Ok(())
464 }
465
466 fn get_cached_size(&self) -> u32 {
467 self.cached_size.get()
468 }
469
470 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
471 &self.unknown_fields
472 }
473
474 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
475 &mut self.unknown_fields
476 }
477
478 fn as_any(&self) -> &dyn (::std::any::Any) {
479 self as &dyn (::std::any::Any)
480 }
481 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
482 self as &mut dyn (::std::any::Any)
483 }
484 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
485 self
486 }
487
488 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
489 Self::descriptor_static()
490 }
491
492 fn new() -> AllocatorMemoryUsed {
493 AllocatorMemoryUsed::new()
494 }
495
496 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
497 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
498 unsafe {
499 descriptor.get(|| {
500 let mut fields = ::std::vec::Vec::new();
501 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
502 "allocator_name",
503 |m: &AllocatorMemoryUsed| { &m.allocator_name },
504 |m: &mut AllocatorMemoryUsed| { &mut m.allocator_name },
505 ));
506 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
507 "total_bytes",
508 |m: &AllocatorMemoryUsed| { &m.total_bytes },
509 |m: &mut AllocatorMemoryUsed| { &mut m.total_bytes },
510 ));
511 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
512 "peak_bytes",
513 |m: &AllocatorMemoryUsed| { &m.peak_bytes },
514 |m: &mut AllocatorMemoryUsed| { &mut m.peak_bytes },
515 ));
516 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
517 "live_bytes",
518 |m: &AllocatorMemoryUsed| { &m.live_bytes },
519 |m: &mut AllocatorMemoryUsed| { &mut m.live_bytes },
520 ));
521 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AllocationRecord>>(
522 "allocation_records",
523 |m: &AllocatorMemoryUsed| { &m.allocation_records },
524 |m: &mut AllocatorMemoryUsed| { &mut m.allocation_records },
525 ));
526 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
527 "allocator_bytes_in_use",
528 |m: &AllocatorMemoryUsed| { &m.allocator_bytes_in_use },
529 |m: &mut AllocatorMemoryUsed| { &mut m.allocator_bytes_in_use },
530 ));
531 ::protobuf::reflect::MessageDescriptor::new_pb_name::<AllocatorMemoryUsed>(
532 "AllocatorMemoryUsed",
533 fields,
534 file_descriptor_proto()
535 )
536 })
537 }
538 }
539
540 fn default_instance() -> &'static AllocatorMemoryUsed {
541 static mut instance: ::protobuf::lazy::Lazy<AllocatorMemoryUsed> = ::protobuf::lazy::Lazy::INIT;
542 unsafe {
543 instance.get(AllocatorMemoryUsed::new)
544 }
545 }
546}
547
548impl ::protobuf::Clear for AllocatorMemoryUsed {
549 fn clear(&mut self) {
550 self.allocator_name.clear();
551 self.total_bytes = 0;
552 self.peak_bytes = 0;
553 self.live_bytes = 0;
554 self.allocation_records.clear();
555 self.allocator_bytes_in_use = 0;
556 self.unknown_fields.clear();
557 }
558}
559
560impl ::std::fmt::Debug for AllocatorMemoryUsed {
561 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
562 ::protobuf::text_format::fmt(self, f)
563 }
564}
565
566impl ::protobuf::reflect::ProtobufValue for AllocatorMemoryUsed {
567 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
568 ::protobuf::reflect::ReflectValueRef::Message(self)
569 }
570}
571
572#[derive(PartialEq,Clone,Default)]
573pub struct NodeOutput {
574 pub slot: i32,
576 pub tensor_description: ::protobuf::SingularPtrField<super::tensor_description::TensorDescription>,
577 pub unknown_fields: ::protobuf::UnknownFields,
579 pub cached_size: ::protobuf::CachedSize,
580}
581
582impl<'a> ::std::default::Default for &'a NodeOutput {
583 fn default() -> &'a NodeOutput {
584 <NodeOutput as ::protobuf::Message>::default_instance()
585 }
586}
587
588impl NodeOutput {
589 pub fn new() -> NodeOutput {
590 ::std::default::Default::default()
591 }
592
593 pub fn get_slot(&self) -> i32 {
597 self.slot
598 }
599 pub fn clear_slot(&mut self) {
600 self.slot = 0;
601 }
602
603 pub fn set_slot(&mut self, v: i32) {
605 self.slot = v;
606 }
607
608 pub fn get_tensor_description(&self) -> &super::tensor_description::TensorDescription {
612 self.tensor_description.as_ref().unwrap_or_else(|| super::tensor_description::TensorDescription::default_instance())
613 }
614 pub fn clear_tensor_description(&mut self) {
615 self.tensor_description.clear();
616 }
617
618 pub fn has_tensor_description(&self) -> bool {
619 self.tensor_description.is_some()
620 }
621
622 pub fn set_tensor_description(&mut self, v: super::tensor_description::TensorDescription) {
624 self.tensor_description = ::protobuf::SingularPtrField::some(v);
625 }
626
627 pub fn mut_tensor_description(&mut self) -> &mut super::tensor_description::TensorDescription {
630 if self.tensor_description.is_none() {
631 self.tensor_description.set_default();
632 }
633 self.tensor_description.as_mut().unwrap()
634 }
635
636 pub fn take_tensor_description(&mut self) -> super::tensor_description::TensorDescription {
638 self.tensor_description.take().unwrap_or_else(|| super::tensor_description::TensorDescription::new())
639 }
640}
641
642impl ::protobuf::Message for NodeOutput {
643 fn is_initialized(&self) -> bool {
644 for v in &self.tensor_description {
645 if !v.is_initialized() {
646 return false;
647 }
648 };
649 true
650 }
651
652 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
653 while !is.eof()? {
654 let (field_number, wire_type) = is.read_tag_unpack()?;
655 match field_number {
656 1 => {
657 if wire_type != ::protobuf::wire_format::WireTypeVarint {
658 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
659 }
660 let tmp = is.read_int32()?;
661 self.slot = tmp;
662 },
663 3 => {
664 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.tensor_description)?;
665 },
666 _ => {
667 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
668 },
669 };
670 }
671 ::std::result::Result::Ok(())
672 }
673
674 #[allow(unused_variables)]
676 fn compute_size(&self) -> u32 {
677 let mut my_size = 0;
678 if self.slot != 0 {
679 my_size += ::protobuf::rt::value_size(1, self.slot, ::protobuf::wire_format::WireTypeVarint);
680 }
681 if let Some(ref v) = self.tensor_description.as_ref() {
682 let len = v.compute_size();
683 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
684 }
685 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
686 self.cached_size.set(my_size);
687 my_size
688 }
689
690 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
691 if self.slot != 0 {
692 os.write_int32(1, self.slot)?;
693 }
694 if let Some(ref v) = self.tensor_description.as_ref() {
695 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
696 os.write_raw_varint32(v.get_cached_size())?;
697 v.write_to_with_cached_sizes(os)?;
698 }
699 os.write_unknown_fields(self.get_unknown_fields())?;
700 ::std::result::Result::Ok(())
701 }
702
703 fn get_cached_size(&self) -> u32 {
704 self.cached_size.get()
705 }
706
707 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
708 &self.unknown_fields
709 }
710
711 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
712 &mut self.unknown_fields
713 }
714
715 fn as_any(&self) -> &dyn (::std::any::Any) {
716 self as &dyn (::std::any::Any)
717 }
718 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
719 self as &mut dyn (::std::any::Any)
720 }
721 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
722 self
723 }
724
725 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
726 Self::descriptor_static()
727 }
728
729 fn new() -> NodeOutput {
730 NodeOutput::new()
731 }
732
733 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
734 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
735 unsafe {
736 descriptor.get(|| {
737 let mut fields = ::std::vec::Vec::new();
738 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
739 "slot",
740 |m: &NodeOutput| { &m.slot },
741 |m: &mut NodeOutput| { &mut m.slot },
742 ));
743 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::tensor_description::TensorDescription>>(
744 "tensor_description",
745 |m: &NodeOutput| { &m.tensor_description },
746 |m: &mut NodeOutput| { &mut m.tensor_description },
747 ));
748 ::protobuf::reflect::MessageDescriptor::new_pb_name::<NodeOutput>(
749 "NodeOutput",
750 fields,
751 file_descriptor_proto()
752 )
753 })
754 }
755 }
756
757 fn default_instance() -> &'static NodeOutput {
758 static mut instance: ::protobuf::lazy::Lazy<NodeOutput> = ::protobuf::lazy::Lazy::INIT;
759 unsafe {
760 instance.get(NodeOutput::new)
761 }
762 }
763}
764
765impl ::protobuf::Clear for NodeOutput {
766 fn clear(&mut self) {
767 self.slot = 0;
768 self.tensor_description.clear();
769 self.unknown_fields.clear();
770 }
771}
772
773impl ::std::fmt::Debug for NodeOutput {
774 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
775 ::protobuf::text_format::fmt(self, f)
776 }
777}
778
779impl ::protobuf::reflect::ProtobufValue for NodeOutput {
780 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
781 ::protobuf::reflect::ReflectValueRef::Message(self)
782 }
783}
784
785#[derive(PartialEq,Clone,Default)]
786pub struct MemoryStats {
787 pub temp_memory_size: i64,
789 pub persistent_memory_size: i64,
790 pub persistent_tensor_alloc_ids: ::std::vec::Vec<i64>,
791 pub device_temp_memory_size: i64,
792 pub device_persistent_memory_size: i64,
793 pub device_persistent_tensor_alloc_ids: ::std::vec::Vec<i64>,
794 pub unknown_fields: ::protobuf::UnknownFields,
796 pub cached_size: ::protobuf::CachedSize,
797}
798
799impl<'a> ::std::default::Default for &'a MemoryStats {
800 fn default() -> &'a MemoryStats {
801 <MemoryStats as ::protobuf::Message>::default_instance()
802 }
803}
804
805impl MemoryStats {
806 pub fn new() -> MemoryStats {
807 ::std::default::Default::default()
808 }
809
810 pub fn get_temp_memory_size(&self) -> i64 {
814 self.temp_memory_size
815 }
816 pub fn clear_temp_memory_size(&mut self) {
817 self.temp_memory_size = 0;
818 }
819
820 pub fn set_temp_memory_size(&mut self, v: i64) {
822 self.temp_memory_size = v;
823 }
824
825 pub fn get_persistent_memory_size(&self) -> i64 {
829 self.persistent_memory_size
830 }
831 pub fn clear_persistent_memory_size(&mut self) {
832 self.persistent_memory_size = 0;
833 }
834
835 pub fn set_persistent_memory_size(&mut self, v: i64) {
837 self.persistent_memory_size = v;
838 }
839
840 pub fn get_persistent_tensor_alloc_ids(&self) -> &[i64] {
844 &self.persistent_tensor_alloc_ids
845 }
846 pub fn clear_persistent_tensor_alloc_ids(&mut self) {
847 self.persistent_tensor_alloc_ids.clear();
848 }
849
850 pub fn set_persistent_tensor_alloc_ids(&mut self, v: ::std::vec::Vec<i64>) {
852 self.persistent_tensor_alloc_ids = v;
853 }
854
855 pub fn mut_persistent_tensor_alloc_ids(&mut self) -> &mut ::std::vec::Vec<i64> {
857 &mut self.persistent_tensor_alloc_ids
858 }
859
860 pub fn take_persistent_tensor_alloc_ids(&mut self) -> ::std::vec::Vec<i64> {
862 ::std::mem::replace(&mut self.persistent_tensor_alloc_ids, ::std::vec::Vec::new())
863 }
864
865 pub fn get_device_temp_memory_size(&self) -> i64 {
869 self.device_temp_memory_size
870 }
871 pub fn clear_device_temp_memory_size(&mut self) {
872 self.device_temp_memory_size = 0;
873 }
874
875 pub fn set_device_temp_memory_size(&mut self, v: i64) {
877 self.device_temp_memory_size = v;
878 }
879
880 pub fn get_device_persistent_memory_size(&self) -> i64 {
884 self.device_persistent_memory_size
885 }
886 pub fn clear_device_persistent_memory_size(&mut self) {
887 self.device_persistent_memory_size = 0;
888 }
889
890 pub fn set_device_persistent_memory_size(&mut self, v: i64) {
892 self.device_persistent_memory_size = v;
893 }
894
895 pub fn get_device_persistent_tensor_alloc_ids(&self) -> &[i64] {
899 &self.device_persistent_tensor_alloc_ids
900 }
901 pub fn clear_device_persistent_tensor_alloc_ids(&mut self) {
902 self.device_persistent_tensor_alloc_ids.clear();
903 }
904
905 pub fn set_device_persistent_tensor_alloc_ids(&mut self, v: ::std::vec::Vec<i64>) {
907 self.device_persistent_tensor_alloc_ids = v;
908 }
909
910 pub fn mut_device_persistent_tensor_alloc_ids(&mut self) -> &mut ::std::vec::Vec<i64> {
912 &mut self.device_persistent_tensor_alloc_ids
913 }
914
915 pub fn take_device_persistent_tensor_alloc_ids(&mut self) -> ::std::vec::Vec<i64> {
917 ::std::mem::replace(&mut self.device_persistent_tensor_alloc_ids, ::std::vec::Vec::new())
918 }
919}
920
921impl ::protobuf::Message for MemoryStats {
922 fn is_initialized(&self) -> bool {
923 true
924 }
925
926 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
927 while !is.eof()? {
928 let (field_number, wire_type) = is.read_tag_unpack()?;
929 match field_number {
930 1 => {
931 if wire_type != ::protobuf::wire_format::WireTypeVarint {
932 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
933 }
934 let tmp = is.read_int64()?;
935 self.temp_memory_size = tmp;
936 },
937 3 => {
938 if wire_type != ::protobuf::wire_format::WireTypeVarint {
939 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
940 }
941 let tmp = is.read_int64()?;
942 self.persistent_memory_size = tmp;
943 },
944 5 => {
945 ::protobuf::rt::read_repeated_int64_into(wire_type, is, &mut self.persistent_tensor_alloc_ids)?;
946 },
947 2 => {
948 if wire_type != ::protobuf::wire_format::WireTypeVarint {
949 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
950 }
951 let tmp = is.read_int64()?;
952 self.device_temp_memory_size = tmp;
953 },
954 4 => {
955 if wire_type != ::protobuf::wire_format::WireTypeVarint {
956 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
957 }
958 let tmp = is.read_int64()?;
959 self.device_persistent_memory_size = tmp;
960 },
961 6 => {
962 ::protobuf::rt::read_repeated_int64_into(wire_type, is, &mut self.device_persistent_tensor_alloc_ids)?;
963 },
964 _ => {
965 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
966 },
967 };
968 }
969 ::std::result::Result::Ok(())
970 }
971
972 #[allow(unused_variables)]
974 fn compute_size(&self) -> u32 {
975 let mut my_size = 0;
976 if self.temp_memory_size != 0 {
977 my_size += ::protobuf::rt::value_size(1, self.temp_memory_size, ::protobuf::wire_format::WireTypeVarint);
978 }
979 if self.persistent_memory_size != 0 {
980 my_size += ::protobuf::rt::value_size(3, self.persistent_memory_size, ::protobuf::wire_format::WireTypeVarint);
981 }
982 for value in &self.persistent_tensor_alloc_ids {
983 my_size += ::protobuf::rt::value_size(5, *value, ::protobuf::wire_format::WireTypeVarint);
984 };
985 if self.device_temp_memory_size != 0 {
986 my_size += ::protobuf::rt::value_size(2, self.device_temp_memory_size, ::protobuf::wire_format::WireTypeVarint);
987 }
988 if self.device_persistent_memory_size != 0 {
989 my_size += ::protobuf::rt::value_size(4, self.device_persistent_memory_size, ::protobuf::wire_format::WireTypeVarint);
990 }
991 for value in &self.device_persistent_tensor_alloc_ids {
992 my_size += ::protobuf::rt::value_size(6, *value, ::protobuf::wire_format::WireTypeVarint);
993 };
994 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
995 self.cached_size.set(my_size);
996 my_size
997 }
998
999 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1000 if self.temp_memory_size != 0 {
1001 os.write_int64(1, self.temp_memory_size)?;
1002 }
1003 if self.persistent_memory_size != 0 {
1004 os.write_int64(3, self.persistent_memory_size)?;
1005 }
1006 for v in &self.persistent_tensor_alloc_ids {
1007 os.write_int64(5, *v)?;
1008 };
1009 if self.device_temp_memory_size != 0 {
1010 os.write_int64(2, self.device_temp_memory_size)?;
1011 }
1012 if self.device_persistent_memory_size != 0 {
1013 os.write_int64(4, self.device_persistent_memory_size)?;
1014 }
1015 for v in &self.device_persistent_tensor_alloc_ids {
1016 os.write_int64(6, *v)?;
1017 };
1018 os.write_unknown_fields(self.get_unknown_fields())?;
1019 ::std::result::Result::Ok(())
1020 }
1021
1022 fn get_cached_size(&self) -> u32 {
1023 self.cached_size.get()
1024 }
1025
1026 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1027 &self.unknown_fields
1028 }
1029
1030 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1031 &mut self.unknown_fields
1032 }
1033
1034 fn as_any(&self) -> &dyn (::std::any::Any) {
1035 self as &dyn (::std::any::Any)
1036 }
1037 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1038 self as &mut dyn (::std::any::Any)
1039 }
1040 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1041 self
1042 }
1043
1044 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1045 Self::descriptor_static()
1046 }
1047
1048 fn new() -> MemoryStats {
1049 MemoryStats::new()
1050 }
1051
1052 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1053 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1054 unsafe {
1055 descriptor.get(|| {
1056 let mut fields = ::std::vec::Vec::new();
1057 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1058 "temp_memory_size",
1059 |m: &MemoryStats| { &m.temp_memory_size },
1060 |m: &mut MemoryStats| { &mut m.temp_memory_size },
1061 ));
1062 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1063 "persistent_memory_size",
1064 |m: &MemoryStats| { &m.persistent_memory_size },
1065 |m: &mut MemoryStats| { &mut m.persistent_memory_size },
1066 ));
1067 fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1068 "persistent_tensor_alloc_ids",
1069 |m: &MemoryStats| { &m.persistent_tensor_alloc_ids },
1070 |m: &mut MemoryStats| { &mut m.persistent_tensor_alloc_ids },
1071 ));
1072 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1073 "device_temp_memory_size",
1074 |m: &MemoryStats| { &m.device_temp_memory_size },
1075 |m: &mut MemoryStats| { &mut m.device_temp_memory_size },
1076 ));
1077 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1078 "device_persistent_memory_size",
1079 |m: &MemoryStats| { &m.device_persistent_memory_size },
1080 |m: &mut MemoryStats| { &mut m.device_persistent_memory_size },
1081 ));
1082 fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1083 "device_persistent_tensor_alloc_ids",
1084 |m: &MemoryStats| { &m.device_persistent_tensor_alloc_ids },
1085 |m: &mut MemoryStats| { &mut m.device_persistent_tensor_alloc_ids },
1086 ));
1087 ::protobuf::reflect::MessageDescriptor::new_pb_name::<MemoryStats>(
1088 "MemoryStats",
1089 fields,
1090 file_descriptor_proto()
1091 )
1092 })
1093 }
1094 }
1095
1096 fn default_instance() -> &'static MemoryStats {
1097 static mut instance: ::protobuf::lazy::Lazy<MemoryStats> = ::protobuf::lazy::Lazy::INIT;
1098 unsafe {
1099 instance.get(MemoryStats::new)
1100 }
1101 }
1102}
1103
1104impl ::protobuf::Clear for MemoryStats {
1105 fn clear(&mut self) {
1106 self.temp_memory_size = 0;
1107 self.persistent_memory_size = 0;
1108 self.persistent_tensor_alloc_ids.clear();
1109 self.device_temp_memory_size = 0;
1110 self.device_persistent_memory_size = 0;
1111 self.device_persistent_tensor_alloc_ids.clear();
1112 self.unknown_fields.clear();
1113 }
1114}
1115
1116impl ::std::fmt::Debug for MemoryStats {
1117 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1118 ::protobuf::text_format::fmt(self, f)
1119 }
1120}
1121
1122impl ::protobuf::reflect::ProtobufValue for MemoryStats {
1123 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1124 ::protobuf::reflect::ReflectValueRef::Message(self)
1125 }
1126}
1127
1128#[derive(PartialEq,Clone,Default)]
1129pub struct NodeExecStats {
1130 pub node_name: ::std::string::String,
1132 pub all_start_micros: i64,
1133 pub op_start_rel_micros: i64,
1134 pub op_end_rel_micros: i64,
1135 pub all_end_rel_micros: i64,
1136 pub memory: ::protobuf::RepeatedField<AllocatorMemoryUsed>,
1137 pub output: ::protobuf::RepeatedField<NodeOutput>,
1138 pub timeline_label: ::std::string::String,
1139 pub scheduled_micros: i64,
1140 pub thread_id: u32,
1141 pub referenced_tensor: ::protobuf::RepeatedField<super::allocation_description::AllocationDescription>,
1142 pub memory_stats: ::protobuf::SingularPtrField<MemoryStats>,
1143 pub all_start_nanos: i64,
1144 pub op_start_rel_nanos: i64,
1145 pub op_end_rel_nanos: i64,
1146 pub all_end_rel_nanos: i64,
1147 pub scheduled_nanos: i64,
1148 pub unknown_fields: ::protobuf::UnknownFields,
1150 pub cached_size: ::protobuf::CachedSize,
1151}
1152
1153impl<'a> ::std::default::Default for &'a NodeExecStats {
1154 fn default() -> &'a NodeExecStats {
1155 <NodeExecStats as ::protobuf::Message>::default_instance()
1156 }
1157}
1158
1159impl NodeExecStats {
1160 pub fn new() -> NodeExecStats {
1161 ::std::default::Default::default()
1162 }
1163
1164 pub fn get_node_name(&self) -> &str {
1168 &self.node_name
1169 }
1170 pub fn clear_node_name(&mut self) {
1171 self.node_name.clear();
1172 }
1173
1174 pub fn set_node_name(&mut self, v: ::std::string::String) {
1176 self.node_name = v;
1177 }
1178
1179 pub fn mut_node_name(&mut self) -> &mut ::std::string::String {
1182 &mut self.node_name
1183 }
1184
1185 pub fn take_node_name(&mut self) -> ::std::string::String {
1187 ::std::mem::replace(&mut self.node_name, ::std::string::String::new())
1188 }
1189
1190 pub fn get_all_start_micros(&self) -> i64 {
1194 self.all_start_micros
1195 }
1196 pub fn clear_all_start_micros(&mut self) {
1197 self.all_start_micros = 0;
1198 }
1199
1200 pub fn set_all_start_micros(&mut self, v: i64) {
1202 self.all_start_micros = v;
1203 }
1204
1205 pub fn get_op_start_rel_micros(&self) -> i64 {
1209 self.op_start_rel_micros
1210 }
1211 pub fn clear_op_start_rel_micros(&mut self) {
1212 self.op_start_rel_micros = 0;
1213 }
1214
1215 pub fn set_op_start_rel_micros(&mut self, v: i64) {
1217 self.op_start_rel_micros = v;
1218 }
1219
1220 pub fn get_op_end_rel_micros(&self) -> i64 {
1224 self.op_end_rel_micros
1225 }
1226 pub fn clear_op_end_rel_micros(&mut self) {
1227 self.op_end_rel_micros = 0;
1228 }
1229
1230 pub fn set_op_end_rel_micros(&mut self, v: i64) {
1232 self.op_end_rel_micros = v;
1233 }
1234
1235 pub fn get_all_end_rel_micros(&self) -> i64 {
1239 self.all_end_rel_micros
1240 }
1241 pub fn clear_all_end_rel_micros(&mut self) {
1242 self.all_end_rel_micros = 0;
1243 }
1244
1245 pub fn set_all_end_rel_micros(&mut self, v: i64) {
1247 self.all_end_rel_micros = v;
1248 }
1249
1250 pub fn get_memory(&self) -> &[AllocatorMemoryUsed] {
1254 &self.memory
1255 }
1256 pub fn clear_memory(&mut self) {
1257 self.memory.clear();
1258 }
1259
1260 pub fn set_memory(&mut self, v: ::protobuf::RepeatedField<AllocatorMemoryUsed>) {
1262 self.memory = v;
1263 }
1264
1265 pub fn mut_memory(&mut self) -> &mut ::protobuf::RepeatedField<AllocatorMemoryUsed> {
1267 &mut self.memory
1268 }
1269
1270 pub fn take_memory(&mut self) -> ::protobuf::RepeatedField<AllocatorMemoryUsed> {
1272 ::std::mem::replace(&mut self.memory, ::protobuf::RepeatedField::new())
1273 }
1274
1275 pub fn get_output(&self) -> &[NodeOutput] {
1279 &self.output
1280 }
1281 pub fn clear_output(&mut self) {
1282 self.output.clear();
1283 }
1284
1285 pub fn set_output(&mut self, v: ::protobuf::RepeatedField<NodeOutput>) {
1287 self.output = v;
1288 }
1289
1290 pub fn mut_output(&mut self) -> &mut ::protobuf::RepeatedField<NodeOutput> {
1292 &mut self.output
1293 }
1294
1295 pub fn take_output(&mut self) -> ::protobuf::RepeatedField<NodeOutput> {
1297 ::std::mem::replace(&mut self.output, ::protobuf::RepeatedField::new())
1298 }
1299
1300 pub fn get_timeline_label(&self) -> &str {
1304 &self.timeline_label
1305 }
1306 pub fn clear_timeline_label(&mut self) {
1307 self.timeline_label.clear();
1308 }
1309
1310 pub fn set_timeline_label(&mut self, v: ::std::string::String) {
1312 self.timeline_label = v;
1313 }
1314
1315 pub fn mut_timeline_label(&mut self) -> &mut ::std::string::String {
1318 &mut self.timeline_label
1319 }
1320
1321 pub fn take_timeline_label(&mut self) -> ::std::string::String {
1323 ::std::mem::replace(&mut self.timeline_label, ::std::string::String::new())
1324 }
1325
1326 pub fn get_scheduled_micros(&self) -> i64 {
1330 self.scheduled_micros
1331 }
1332 pub fn clear_scheduled_micros(&mut self) {
1333 self.scheduled_micros = 0;
1334 }
1335
1336 pub fn set_scheduled_micros(&mut self, v: i64) {
1338 self.scheduled_micros = v;
1339 }
1340
1341 pub fn get_thread_id(&self) -> u32 {
1345 self.thread_id
1346 }
1347 pub fn clear_thread_id(&mut self) {
1348 self.thread_id = 0;
1349 }
1350
1351 pub fn set_thread_id(&mut self, v: u32) {
1353 self.thread_id = v;
1354 }
1355
1356 pub fn get_referenced_tensor(&self) -> &[super::allocation_description::AllocationDescription] {
1360 &self.referenced_tensor
1361 }
1362 pub fn clear_referenced_tensor(&mut self) {
1363 self.referenced_tensor.clear();
1364 }
1365
1366 pub fn set_referenced_tensor(&mut self, v: ::protobuf::RepeatedField<super::allocation_description::AllocationDescription>) {
1368 self.referenced_tensor = v;
1369 }
1370
1371 pub fn mut_referenced_tensor(&mut self) -> &mut ::protobuf::RepeatedField<super::allocation_description::AllocationDescription> {
1373 &mut self.referenced_tensor
1374 }
1375
1376 pub fn take_referenced_tensor(&mut self) -> ::protobuf::RepeatedField<super::allocation_description::AllocationDescription> {
1378 ::std::mem::replace(&mut self.referenced_tensor, ::protobuf::RepeatedField::new())
1379 }
1380
1381 pub fn get_memory_stats(&self) -> &MemoryStats {
1385 self.memory_stats.as_ref().unwrap_or_else(|| MemoryStats::default_instance())
1386 }
1387 pub fn clear_memory_stats(&mut self) {
1388 self.memory_stats.clear();
1389 }
1390
1391 pub fn has_memory_stats(&self) -> bool {
1392 self.memory_stats.is_some()
1393 }
1394
1395 pub fn set_memory_stats(&mut self, v: MemoryStats) {
1397 self.memory_stats = ::protobuf::SingularPtrField::some(v);
1398 }
1399
1400 pub fn mut_memory_stats(&mut self) -> &mut MemoryStats {
1403 if self.memory_stats.is_none() {
1404 self.memory_stats.set_default();
1405 }
1406 self.memory_stats.as_mut().unwrap()
1407 }
1408
1409 pub fn take_memory_stats(&mut self) -> MemoryStats {
1411 self.memory_stats.take().unwrap_or_else(|| MemoryStats::new())
1412 }
1413
1414 pub fn get_all_start_nanos(&self) -> i64 {
1418 self.all_start_nanos
1419 }
1420 pub fn clear_all_start_nanos(&mut self) {
1421 self.all_start_nanos = 0;
1422 }
1423
1424 pub fn set_all_start_nanos(&mut self, v: i64) {
1426 self.all_start_nanos = v;
1427 }
1428
1429 pub fn get_op_start_rel_nanos(&self) -> i64 {
1433 self.op_start_rel_nanos
1434 }
1435 pub fn clear_op_start_rel_nanos(&mut self) {
1436 self.op_start_rel_nanos = 0;
1437 }
1438
1439 pub fn set_op_start_rel_nanos(&mut self, v: i64) {
1441 self.op_start_rel_nanos = v;
1442 }
1443
1444 pub fn get_op_end_rel_nanos(&self) -> i64 {
1448 self.op_end_rel_nanos
1449 }
1450 pub fn clear_op_end_rel_nanos(&mut self) {
1451 self.op_end_rel_nanos = 0;
1452 }
1453
1454 pub fn set_op_end_rel_nanos(&mut self, v: i64) {
1456 self.op_end_rel_nanos = v;
1457 }
1458
1459 pub fn get_all_end_rel_nanos(&self) -> i64 {
1463 self.all_end_rel_nanos
1464 }
1465 pub fn clear_all_end_rel_nanos(&mut self) {
1466 self.all_end_rel_nanos = 0;
1467 }
1468
1469 pub fn set_all_end_rel_nanos(&mut self, v: i64) {
1471 self.all_end_rel_nanos = v;
1472 }
1473
1474 pub fn get_scheduled_nanos(&self) -> i64 {
1478 self.scheduled_nanos
1479 }
1480 pub fn clear_scheduled_nanos(&mut self) {
1481 self.scheduled_nanos = 0;
1482 }
1483
1484 pub fn set_scheduled_nanos(&mut self, v: i64) {
1486 self.scheduled_nanos = v;
1487 }
1488}
1489
1490impl ::protobuf::Message for NodeExecStats {
1491 fn is_initialized(&self) -> bool {
1492 for v in &self.memory {
1493 if !v.is_initialized() {
1494 return false;
1495 }
1496 };
1497 for v in &self.output {
1498 if !v.is_initialized() {
1499 return false;
1500 }
1501 };
1502 for v in &self.referenced_tensor {
1503 if !v.is_initialized() {
1504 return false;
1505 }
1506 };
1507 for v in &self.memory_stats {
1508 if !v.is_initialized() {
1509 return false;
1510 }
1511 };
1512 true
1513 }
1514
1515 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1516 while !is.eof()? {
1517 let (field_number, wire_type) = is.read_tag_unpack()?;
1518 match field_number {
1519 1 => {
1520 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.node_name)?;
1521 },
1522 2 => {
1523 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1524 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1525 }
1526 let tmp = is.read_int64()?;
1527 self.all_start_micros = tmp;
1528 },
1529 3 => {
1530 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1531 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1532 }
1533 let tmp = is.read_int64()?;
1534 self.op_start_rel_micros = tmp;
1535 },
1536 4 => {
1537 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1538 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1539 }
1540 let tmp = is.read_int64()?;
1541 self.op_end_rel_micros = tmp;
1542 },
1543 5 => {
1544 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1545 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1546 }
1547 let tmp = is.read_int64()?;
1548 self.all_end_rel_micros = tmp;
1549 },
1550 6 => {
1551 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.memory)?;
1552 },
1553 7 => {
1554 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.output)?;
1555 },
1556 8 => {
1557 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.timeline_label)?;
1558 },
1559 9 => {
1560 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1561 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1562 }
1563 let tmp = is.read_int64()?;
1564 self.scheduled_micros = tmp;
1565 },
1566 10 => {
1567 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1568 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1569 }
1570 let tmp = is.read_uint32()?;
1571 self.thread_id = tmp;
1572 },
1573 11 => {
1574 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.referenced_tensor)?;
1575 },
1576 12 => {
1577 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.memory_stats)?;
1578 },
1579 13 => {
1580 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1581 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1582 }
1583 let tmp = is.read_int64()?;
1584 self.all_start_nanos = tmp;
1585 },
1586 14 => {
1587 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1588 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1589 }
1590 let tmp = is.read_int64()?;
1591 self.op_start_rel_nanos = tmp;
1592 },
1593 15 => {
1594 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1595 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1596 }
1597 let tmp = is.read_int64()?;
1598 self.op_end_rel_nanos = tmp;
1599 },
1600 16 => {
1601 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1602 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1603 }
1604 let tmp = is.read_int64()?;
1605 self.all_end_rel_nanos = tmp;
1606 },
1607 17 => {
1608 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1609 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1610 }
1611 let tmp = is.read_int64()?;
1612 self.scheduled_nanos = tmp;
1613 },
1614 _ => {
1615 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1616 },
1617 };
1618 }
1619 ::std::result::Result::Ok(())
1620 }
1621
1622 #[allow(unused_variables)]
1624 fn compute_size(&self) -> u32 {
1625 let mut my_size = 0;
1626 if !self.node_name.is_empty() {
1627 my_size += ::protobuf::rt::string_size(1, &self.node_name);
1628 }
1629 if self.all_start_micros != 0 {
1630 my_size += ::protobuf::rt::value_size(2, self.all_start_micros, ::protobuf::wire_format::WireTypeVarint);
1631 }
1632 if self.op_start_rel_micros != 0 {
1633 my_size += ::protobuf::rt::value_size(3, self.op_start_rel_micros, ::protobuf::wire_format::WireTypeVarint);
1634 }
1635 if self.op_end_rel_micros != 0 {
1636 my_size += ::protobuf::rt::value_size(4, self.op_end_rel_micros, ::protobuf::wire_format::WireTypeVarint);
1637 }
1638 if self.all_end_rel_micros != 0 {
1639 my_size += ::protobuf::rt::value_size(5, self.all_end_rel_micros, ::protobuf::wire_format::WireTypeVarint);
1640 }
1641 for value in &self.memory {
1642 let len = value.compute_size();
1643 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1644 };
1645 for value in &self.output {
1646 let len = value.compute_size();
1647 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1648 };
1649 if !self.timeline_label.is_empty() {
1650 my_size += ::protobuf::rt::string_size(8, &self.timeline_label);
1651 }
1652 if self.scheduled_micros != 0 {
1653 my_size += ::protobuf::rt::value_size(9, self.scheduled_micros, ::protobuf::wire_format::WireTypeVarint);
1654 }
1655 if self.thread_id != 0 {
1656 my_size += ::protobuf::rt::value_size(10, self.thread_id, ::protobuf::wire_format::WireTypeVarint);
1657 }
1658 for value in &self.referenced_tensor {
1659 let len = value.compute_size();
1660 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1661 };
1662 if let Some(ref v) = self.memory_stats.as_ref() {
1663 let len = v.compute_size();
1664 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1665 }
1666 if self.all_start_nanos != 0 {
1667 my_size += ::protobuf::rt::value_size(13, self.all_start_nanos, ::protobuf::wire_format::WireTypeVarint);
1668 }
1669 if self.op_start_rel_nanos != 0 {
1670 my_size += ::protobuf::rt::value_size(14, self.op_start_rel_nanos, ::protobuf::wire_format::WireTypeVarint);
1671 }
1672 if self.op_end_rel_nanos != 0 {
1673 my_size += ::protobuf::rt::value_size(15, self.op_end_rel_nanos, ::protobuf::wire_format::WireTypeVarint);
1674 }
1675 if self.all_end_rel_nanos != 0 {
1676 my_size += ::protobuf::rt::value_size(16, self.all_end_rel_nanos, ::protobuf::wire_format::WireTypeVarint);
1677 }
1678 if self.scheduled_nanos != 0 {
1679 my_size += ::protobuf::rt::value_size(17, self.scheduled_nanos, ::protobuf::wire_format::WireTypeVarint);
1680 }
1681 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1682 self.cached_size.set(my_size);
1683 my_size
1684 }
1685
1686 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1687 if !self.node_name.is_empty() {
1688 os.write_string(1, &self.node_name)?;
1689 }
1690 if self.all_start_micros != 0 {
1691 os.write_int64(2, self.all_start_micros)?;
1692 }
1693 if self.op_start_rel_micros != 0 {
1694 os.write_int64(3, self.op_start_rel_micros)?;
1695 }
1696 if self.op_end_rel_micros != 0 {
1697 os.write_int64(4, self.op_end_rel_micros)?;
1698 }
1699 if self.all_end_rel_micros != 0 {
1700 os.write_int64(5, self.all_end_rel_micros)?;
1701 }
1702 for v in &self.memory {
1703 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1704 os.write_raw_varint32(v.get_cached_size())?;
1705 v.write_to_with_cached_sizes(os)?;
1706 };
1707 for v in &self.output {
1708 os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1709 os.write_raw_varint32(v.get_cached_size())?;
1710 v.write_to_with_cached_sizes(os)?;
1711 };
1712 if !self.timeline_label.is_empty() {
1713 os.write_string(8, &self.timeline_label)?;
1714 }
1715 if self.scheduled_micros != 0 {
1716 os.write_int64(9, self.scheduled_micros)?;
1717 }
1718 if self.thread_id != 0 {
1719 os.write_uint32(10, self.thread_id)?;
1720 }
1721 for v in &self.referenced_tensor {
1722 os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1723 os.write_raw_varint32(v.get_cached_size())?;
1724 v.write_to_with_cached_sizes(os)?;
1725 };
1726 if let Some(ref v) = self.memory_stats.as_ref() {
1727 os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1728 os.write_raw_varint32(v.get_cached_size())?;
1729 v.write_to_with_cached_sizes(os)?;
1730 }
1731 if self.all_start_nanos != 0 {
1732 os.write_int64(13, self.all_start_nanos)?;
1733 }
1734 if self.op_start_rel_nanos != 0 {
1735 os.write_int64(14, self.op_start_rel_nanos)?;
1736 }
1737 if self.op_end_rel_nanos != 0 {
1738 os.write_int64(15, self.op_end_rel_nanos)?;
1739 }
1740 if self.all_end_rel_nanos != 0 {
1741 os.write_int64(16, self.all_end_rel_nanos)?;
1742 }
1743 if self.scheduled_nanos != 0 {
1744 os.write_int64(17, self.scheduled_nanos)?;
1745 }
1746 os.write_unknown_fields(self.get_unknown_fields())?;
1747 ::std::result::Result::Ok(())
1748 }
1749
1750 fn get_cached_size(&self) -> u32 {
1751 self.cached_size.get()
1752 }
1753
1754 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1755 &self.unknown_fields
1756 }
1757
1758 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1759 &mut self.unknown_fields
1760 }
1761
1762 fn as_any(&self) -> &dyn (::std::any::Any) {
1763 self as &dyn (::std::any::Any)
1764 }
1765 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1766 self as &mut dyn (::std::any::Any)
1767 }
1768 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1769 self
1770 }
1771
1772 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1773 Self::descriptor_static()
1774 }
1775
1776 fn new() -> NodeExecStats {
1777 NodeExecStats::new()
1778 }
1779
1780 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1781 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1782 unsafe {
1783 descriptor.get(|| {
1784 let mut fields = ::std::vec::Vec::new();
1785 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1786 "node_name",
1787 |m: &NodeExecStats| { &m.node_name },
1788 |m: &mut NodeExecStats| { &mut m.node_name },
1789 ));
1790 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1791 "all_start_micros",
1792 |m: &NodeExecStats| { &m.all_start_micros },
1793 |m: &mut NodeExecStats| { &mut m.all_start_micros },
1794 ));
1795 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1796 "op_start_rel_micros",
1797 |m: &NodeExecStats| { &m.op_start_rel_micros },
1798 |m: &mut NodeExecStats| { &mut m.op_start_rel_micros },
1799 ));
1800 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1801 "op_end_rel_micros",
1802 |m: &NodeExecStats| { &m.op_end_rel_micros },
1803 |m: &mut NodeExecStats| { &mut m.op_end_rel_micros },
1804 ));
1805 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1806 "all_end_rel_micros",
1807 |m: &NodeExecStats| { &m.all_end_rel_micros },
1808 |m: &mut NodeExecStats| { &mut m.all_end_rel_micros },
1809 ));
1810 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AllocatorMemoryUsed>>(
1811 "memory",
1812 |m: &NodeExecStats| { &m.memory },
1813 |m: &mut NodeExecStats| { &mut m.memory },
1814 ));
1815 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<NodeOutput>>(
1816 "output",
1817 |m: &NodeExecStats| { &m.output },
1818 |m: &mut NodeExecStats| { &mut m.output },
1819 ));
1820 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1821 "timeline_label",
1822 |m: &NodeExecStats| { &m.timeline_label },
1823 |m: &mut NodeExecStats| { &mut m.timeline_label },
1824 ));
1825 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1826 "scheduled_micros",
1827 |m: &NodeExecStats| { &m.scheduled_micros },
1828 |m: &mut NodeExecStats| { &mut m.scheduled_micros },
1829 ));
1830 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
1831 "thread_id",
1832 |m: &NodeExecStats| { &m.thread_id },
1833 |m: &mut NodeExecStats| { &mut m.thread_id },
1834 ));
1835 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::allocation_description::AllocationDescription>>(
1836 "referenced_tensor",
1837 |m: &NodeExecStats| { &m.referenced_tensor },
1838 |m: &mut NodeExecStats| { &mut m.referenced_tensor },
1839 ));
1840 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<MemoryStats>>(
1841 "memory_stats",
1842 |m: &NodeExecStats| { &m.memory_stats },
1843 |m: &mut NodeExecStats| { &mut m.memory_stats },
1844 ));
1845 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1846 "all_start_nanos",
1847 |m: &NodeExecStats| { &m.all_start_nanos },
1848 |m: &mut NodeExecStats| { &mut m.all_start_nanos },
1849 ));
1850 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1851 "op_start_rel_nanos",
1852 |m: &NodeExecStats| { &m.op_start_rel_nanos },
1853 |m: &mut NodeExecStats| { &mut m.op_start_rel_nanos },
1854 ));
1855 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1856 "op_end_rel_nanos",
1857 |m: &NodeExecStats| { &m.op_end_rel_nanos },
1858 |m: &mut NodeExecStats| { &mut m.op_end_rel_nanos },
1859 ));
1860 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1861 "all_end_rel_nanos",
1862 |m: &NodeExecStats| { &m.all_end_rel_nanos },
1863 |m: &mut NodeExecStats| { &mut m.all_end_rel_nanos },
1864 ));
1865 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1866 "scheduled_nanos",
1867 |m: &NodeExecStats| { &m.scheduled_nanos },
1868 |m: &mut NodeExecStats| { &mut m.scheduled_nanos },
1869 ));
1870 ::protobuf::reflect::MessageDescriptor::new_pb_name::<NodeExecStats>(
1871 "NodeExecStats",
1872 fields,
1873 file_descriptor_proto()
1874 )
1875 })
1876 }
1877 }
1878
1879 fn default_instance() -> &'static NodeExecStats {
1880 static mut instance: ::protobuf::lazy::Lazy<NodeExecStats> = ::protobuf::lazy::Lazy::INIT;
1881 unsafe {
1882 instance.get(NodeExecStats::new)
1883 }
1884 }
1885}
1886
1887impl ::protobuf::Clear for NodeExecStats {
1888 fn clear(&mut self) {
1889 self.node_name.clear();
1890 self.all_start_micros = 0;
1891 self.op_start_rel_micros = 0;
1892 self.op_end_rel_micros = 0;
1893 self.all_end_rel_micros = 0;
1894 self.memory.clear();
1895 self.output.clear();
1896 self.timeline_label.clear();
1897 self.scheduled_micros = 0;
1898 self.thread_id = 0;
1899 self.referenced_tensor.clear();
1900 self.memory_stats.clear();
1901 self.all_start_nanos = 0;
1902 self.op_start_rel_nanos = 0;
1903 self.op_end_rel_nanos = 0;
1904 self.all_end_rel_nanos = 0;
1905 self.scheduled_nanos = 0;
1906 self.unknown_fields.clear();
1907 }
1908}
1909
1910impl ::std::fmt::Debug for NodeExecStats {
1911 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1912 ::protobuf::text_format::fmt(self, f)
1913 }
1914}
1915
1916impl ::protobuf::reflect::ProtobufValue for NodeExecStats {
1917 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1918 ::protobuf::reflect::ReflectValueRef::Message(self)
1919 }
1920}
1921
1922#[derive(PartialEq,Clone,Default)]
1923pub struct DeviceStepStats {
1924 pub device: ::std::string::String,
1926 pub node_stats: ::protobuf::RepeatedField<NodeExecStats>,
1927 pub thread_names: ::std::collections::HashMap<u32, ::std::string::String>,
1928 pub unknown_fields: ::protobuf::UnknownFields,
1930 pub cached_size: ::protobuf::CachedSize,
1931}
1932
1933impl<'a> ::std::default::Default for &'a DeviceStepStats {
1934 fn default() -> &'a DeviceStepStats {
1935 <DeviceStepStats as ::protobuf::Message>::default_instance()
1936 }
1937}
1938
1939impl DeviceStepStats {
1940 pub fn new() -> DeviceStepStats {
1941 ::std::default::Default::default()
1942 }
1943
1944 pub fn get_device(&self) -> &str {
1948 &self.device
1949 }
1950 pub fn clear_device(&mut self) {
1951 self.device.clear();
1952 }
1953
1954 pub fn set_device(&mut self, v: ::std::string::String) {
1956 self.device = v;
1957 }
1958
1959 pub fn mut_device(&mut self) -> &mut ::std::string::String {
1962 &mut self.device
1963 }
1964
1965 pub fn take_device(&mut self) -> ::std::string::String {
1967 ::std::mem::replace(&mut self.device, ::std::string::String::new())
1968 }
1969
1970 pub fn get_node_stats(&self) -> &[NodeExecStats] {
1974 &self.node_stats
1975 }
1976 pub fn clear_node_stats(&mut self) {
1977 self.node_stats.clear();
1978 }
1979
1980 pub fn set_node_stats(&mut self, v: ::protobuf::RepeatedField<NodeExecStats>) {
1982 self.node_stats = v;
1983 }
1984
1985 pub fn mut_node_stats(&mut self) -> &mut ::protobuf::RepeatedField<NodeExecStats> {
1987 &mut self.node_stats
1988 }
1989
1990 pub fn take_node_stats(&mut self) -> ::protobuf::RepeatedField<NodeExecStats> {
1992 ::std::mem::replace(&mut self.node_stats, ::protobuf::RepeatedField::new())
1993 }
1994
1995 pub fn get_thread_names(&self) -> &::std::collections::HashMap<u32, ::std::string::String> {
1999 &self.thread_names
2000 }
2001 pub fn clear_thread_names(&mut self) {
2002 self.thread_names.clear();
2003 }
2004
2005 pub fn set_thread_names(&mut self, v: ::std::collections::HashMap<u32, ::std::string::String>) {
2007 self.thread_names = v;
2008 }
2009
2010 pub fn mut_thread_names(&mut self) -> &mut ::std::collections::HashMap<u32, ::std::string::String> {
2012 &mut self.thread_names
2013 }
2014
2015 pub fn take_thread_names(&mut self) -> ::std::collections::HashMap<u32, ::std::string::String> {
2017 ::std::mem::replace(&mut self.thread_names, ::std::collections::HashMap::new())
2018 }
2019}
2020
2021impl ::protobuf::Message for DeviceStepStats {
2022 fn is_initialized(&self) -> bool {
2023 for v in &self.node_stats {
2024 if !v.is_initialized() {
2025 return false;
2026 }
2027 };
2028 true
2029 }
2030
2031 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2032 while !is.eof()? {
2033 let (field_number, wire_type) = is.read_tag_unpack()?;
2034 match field_number {
2035 1 => {
2036 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.device)?;
2037 },
2038 2 => {
2039 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.node_stats)?;
2040 },
2041 3 => {
2042 ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeUint32, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.thread_names)?;
2043 },
2044 _ => {
2045 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2046 },
2047 };
2048 }
2049 ::std::result::Result::Ok(())
2050 }
2051
2052 #[allow(unused_variables)]
2054 fn compute_size(&self) -> u32 {
2055 let mut my_size = 0;
2056 if !self.device.is_empty() {
2057 my_size += ::protobuf::rt::string_size(1, &self.device);
2058 }
2059 for value in &self.node_stats {
2060 let len = value.compute_size();
2061 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2062 };
2063 my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeUint32, ::protobuf::types::ProtobufTypeString>(3, &self.thread_names);
2064 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2065 self.cached_size.set(my_size);
2066 my_size
2067 }
2068
2069 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2070 if !self.device.is_empty() {
2071 os.write_string(1, &self.device)?;
2072 }
2073 for v in &self.node_stats {
2074 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2075 os.write_raw_varint32(v.get_cached_size())?;
2076 v.write_to_with_cached_sizes(os)?;
2077 };
2078 ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeUint32, ::protobuf::types::ProtobufTypeString>(3, &self.thread_names, os)?;
2079 os.write_unknown_fields(self.get_unknown_fields())?;
2080 ::std::result::Result::Ok(())
2081 }
2082
2083 fn get_cached_size(&self) -> u32 {
2084 self.cached_size.get()
2085 }
2086
2087 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2088 &self.unknown_fields
2089 }
2090
2091 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2092 &mut self.unknown_fields
2093 }
2094
2095 fn as_any(&self) -> &dyn (::std::any::Any) {
2096 self as &dyn (::std::any::Any)
2097 }
2098 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2099 self as &mut dyn (::std::any::Any)
2100 }
2101 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2102 self
2103 }
2104
2105 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2106 Self::descriptor_static()
2107 }
2108
2109 fn new() -> DeviceStepStats {
2110 DeviceStepStats::new()
2111 }
2112
2113 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2114 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
2115 unsafe {
2116 descriptor.get(|| {
2117 let mut fields = ::std::vec::Vec::new();
2118 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2119 "device",
2120 |m: &DeviceStepStats| { &m.device },
2121 |m: &mut DeviceStepStats| { &mut m.device },
2122 ));
2123 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<NodeExecStats>>(
2124 "node_stats",
2125 |m: &DeviceStepStats| { &m.node_stats },
2126 |m: &mut DeviceStepStats| { &mut m.node_stats },
2127 ));
2128 fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeUint32, ::protobuf::types::ProtobufTypeString>(
2129 "thread_names",
2130 |m: &DeviceStepStats| { &m.thread_names },
2131 |m: &mut DeviceStepStats| { &mut m.thread_names },
2132 ));
2133 ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeviceStepStats>(
2134 "DeviceStepStats",
2135 fields,
2136 file_descriptor_proto()
2137 )
2138 })
2139 }
2140 }
2141
2142 fn default_instance() -> &'static DeviceStepStats {
2143 static mut instance: ::protobuf::lazy::Lazy<DeviceStepStats> = ::protobuf::lazy::Lazy::INIT;
2144 unsafe {
2145 instance.get(DeviceStepStats::new)
2146 }
2147 }
2148}
2149
2150impl ::protobuf::Clear for DeviceStepStats {
2151 fn clear(&mut self) {
2152 self.device.clear();
2153 self.node_stats.clear();
2154 self.thread_names.clear();
2155 self.unknown_fields.clear();
2156 }
2157}
2158
2159impl ::std::fmt::Debug for DeviceStepStats {
2160 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2161 ::protobuf::text_format::fmt(self, f)
2162 }
2163}
2164
2165impl ::protobuf::reflect::ProtobufValue for DeviceStepStats {
2166 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2167 ::protobuf::reflect::ReflectValueRef::Message(self)
2168 }
2169}
2170
2171#[derive(PartialEq,Clone,Default)]
2172pub struct StepStats {
2173 pub dev_stats: ::protobuf::RepeatedField<DeviceStepStats>,
2175 pub unknown_fields: ::protobuf::UnknownFields,
2177 pub cached_size: ::protobuf::CachedSize,
2178}
2179
2180impl<'a> ::std::default::Default for &'a StepStats {
2181 fn default() -> &'a StepStats {
2182 <StepStats as ::protobuf::Message>::default_instance()
2183 }
2184}
2185
2186impl StepStats {
2187 pub fn new() -> StepStats {
2188 ::std::default::Default::default()
2189 }
2190
2191 pub fn get_dev_stats(&self) -> &[DeviceStepStats] {
2195 &self.dev_stats
2196 }
2197 pub fn clear_dev_stats(&mut self) {
2198 self.dev_stats.clear();
2199 }
2200
2201 pub fn set_dev_stats(&mut self, v: ::protobuf::RepeatedField<DeviceStepStats>) {
2203 self.dev_stats = v;
2204 }
2205
2206 pub fn mut_dev_stats(&mut self) -> &mut ::protobuf::RepeatedField<DeviceStepStats> {
2208 &mut self.dev_stats
2209 }
2210
2211 pub fn take_dev_stats(&mut self) -> ::protobuf::RepeatedField<DeviceStepStats> {
2213 ::std::mem::replace(&mut self.dev_stats, ::protobuf::RepeatedField::new())
2214 }
2215}
2216
2217impl ::protobuf::Message for StepStats {
2218 fn is_initialized(&self) -> bool {
2219 for v in &self.dev_stats {
2220 if !v.is_initialized() {
2221 return false;
2222 }
2223 };
2224 true
2225 }
2226
2227 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2228 while !is.eof()? {
2229 let (field_number, wire_type) = is.read_tag_unpack()?;
2230 match field_number {
2231 1 => {
2232 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.dev_stats)?;
2233 },
2234 _ => {
2235 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2236 },
2237 };
2238 }
2239 ::std::result::Result::Ok(())
2240 }
2241
2242 #[allow(unused_variables)]
2244 fn compute_size(&self) -> u32 {
2245 let mut my_size = 0;
2246 for value in &self.dev_stats {
2247 let len = value.compute_size();
2248 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2249 };
2250 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2251 self.cached_size.set(my_size);
2252 my_size
2253 }
2254
2255 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2256 for v in &self.dev_stats {
2257 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2258 os.write_raw_varint32(v.get_cached_size())?;
2259 v.write_to_with_cached_sizes(os)?;
2260 };
2261 os.write_unknown_fields(self.get_unknown_fields())?;
2262 ::std::result::Result::Ok(())
2263 }
2264
2265 fn get_cached_size(&self) -> u32 {
2266 self.cached_size.get()
2267 }
2268
2269 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2270 &self.unknown_fields
2271 }
2272
2273 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2274 &mut self.unknown_fields
2275 }
2276
2277 fn as_any(&self) -> &dyn (::std::any::Any) {
2278 self as &dyn (::std::any::Any)
2279 }
2280 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2281 self as &mut dyn (::std::any::Any)
2282 }
2283 fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2284 self
2285 }
2286
2287 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2288 Self::descriptor_static()
2289 }
2290
2291 fn new() -> StepStats {
2292 StepStats::new()
2293 }
2294
2295 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2296 static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
2297 unsafe {
2298 descriptor.get(|| {
2299 let mut fields = ::std::vec::Vec::new();
2300 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<DeviceStepStats>>(
2301 "dev_stats",
2302 |m: &StepStats| { &m.dev_stats },
2303 |m: &mut StepStats| { &mut m.dev_stats },
2304 ));
2305 ::protobuf::reflect::MessageDescriptor::new_pb_name::<StepStats>(
2306 "StepStats",
2307 fields,
2308 file_descriptor_proto()
2309 )
2310 })
2311 }
2312 }
2313
2314 fn default_instance() -> &'static StepStats {
2315 static mut instance: ::protobuf::lazy::Lazy<StepStats> = ::protobuf::lazy::Lazy::INIT;
2316 unsafe {
2317 instance.get(StepStats::new)
2318 }
2319 }
2320}
2321
2322impl ::protobuf::Clear for StepStats {
2323 fn clear(&mut self) {
2324 self.dev_stats.clear();
2325 self.unknown_fields.clear();
2326 }
2327}
2328
2329impl ::std::fmt::Debug for StepStats {
2330 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2331 ::protobuf::text_format::fmt(self, f)
2332 }
2333}
2334
2335impl ::protobuf::reflect::ProtobufValue for StepStats {
2336 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2337 ::protobuf::reflect::ReflectValueRef::Message(self)
2338 }
2339}
2340
2341static file_descriptor_proto_data: &'static [u8] = b"\
2342 \n*tensorflow/core/framework/step_stats.proto\x12\ntensorflow\x1a6tensor\
2343 flow/core/framework/allocation_description.proto\x1a2tensorflow/core/fra\
2344 mework/tensor_description.proto\"V\n\x10AllocationRecord\x12!\n\x0calloc\
2345 _micros\x18\x01\x20\x01(\x03R\x0ballocMicros\x12\x1f\n\x0balloc_bytes\
2346 \x18\x02\x20\x01(\x03R\nallocBytes\"\x9d\x02\n\x13AllocatorMemoryUsed\
2347 \x12%\n\x0eallocator_name\x18\x01\x20\x01(\tR\rallocatorName\x12\x1f\n\
2348 \x0btotal_bytes\x18\x02\x20\x01(\x03R\ntotalBytes\x12\x1d\n\npeak_bytes\
2349 \x18\x03\x20\x01(\x03R\tpeakBytes\x12\x1d\n\nlive_bytes\x18\x04\x20\x01(\
2350 \x03R\tliveBytes\x12K\n\x12allocation_records\x18\x06\x20\x03(\x0b2\x1c.\
2351 tensorflow.AllocationRecordR\x11allocationRecords\x123\n\x16allocator_by\
2352 tes_in_use\x18\x05\x20\x01(\x03R\x13allocatorBytesInUse\"n\n\nNodeOutput\
2353 \x12\x12\n\x04slot\x18\x01\x20\x01(\x05R\x04slot\x12L\n\x12tensor_descri\
2354 ption\x18\x03\x20\x01(\x0b2\x1d.tensorflow.TensorDescriptionR\x11tensorD\
2355 escription\"\xfe\x02\n\x0bMemoryStats\x12(\n\x10temp_memory_size\x18\x01\
2356 \x20\x01(\x03R\x0etempMemorySize\x124\n\x16persistent_memory_size\x18\
2357 \x03\x20\x01(\x03R\x14persistentMemorySize\x12=\n\x1bpersistent_tensor_a\
2358 lloc_ids\x18\x05\x20\x03(\x03R\x18persistentTensorAllocIds\x129\n\x17dev\
2359 ice_temp_memory_size\x18\x02\x20\x01(\x03R\x14deviceTempMemorySizeB\x02\
2360 \x18\x01\x12E\n\x1ddevice_persistent_memory_size\x18\x04\x20\x01(\x03R\
2361 \x1adevicePersistentMemorySizeB\x02\x18\x01\x12N\n\"device_persistent_te\
2362 nsor_alloc_ids\x18\x06\x20\x03(\x03R\x1edevicePersistentTensorAllocIdsB\
2363 \x02\x18\x01\"\x93\x06\n\rNodeExecStats\x12\x1b\n\tnode_name\x18\x01\x20\
2364 \x01(\tR\x08nodeName\x12(\n\x10all_start_micros\x18\x02\x20\x01(\x03R\
2365 \x0eallStartMicros\x12-\n\x13op_start_rel_micros\x18\x03\x20\x01(\x03R\
2366 \x10opStartRelMicros\x12)\n\x11op_end_rel_micros\x18\x04\x20\x01(\x03R\
2367 \x0eopEndRelMicros\x12+\n\x12all_end_rel_micros\x18\x05\x20\x01(\x03R\
2368 \x0fallEndRelMicros\x127\n\x06memory\x18\x06\x20\x03(\x0b2\x1f.tensorflo\
2369 w.AllocatorMemoryUsedR\x06memory\x12.\n\x06output\x18\x07\x20\x03(\x0b2\
2370 \x16.tensorflow.NodeOutputR\x06output\x12%\n\x0etimeline_label\x18\x08\
2371 \x20\x01(\tR\rtimelineLabel\x12)\n\x10scheduled_micros\x18\t\x20\x01(\
2372 \x03R\x0fscheduledMicros\x12\x1b\n\tthread_id\x18\n\x20\x01(\rR\x08threa\
2373 dId\x12N\n\x11referenced_tensor\x18\x0b\x20\x03(\x0b2!.tensorflow.Alloca\
2374 tionDescriptionR\x10referencedTensor\x12:\n\x0cmemory_stats\x18\x0c\x20\
2375 \x01(\x0b2\x17.tensorflow.MemoryStatsR\x0bmemoryStats\x12&\n\x0fall_star\
2376 t_nanos\x18\r\x20\x01(\x03R\rallStartNanos\x12+\n\x12op_start_rel_nanos\
2377 \x18\x0e\x20\x01(\x03R\x0fopStartRelNanos\x12'\n\x10op_end_rel_nanos\x18\
2378 \x0f\x20\x01(\x03R\ropEndRelNanos\x12)\n\x11all_end_rel_nanos\x18\x10\
2379 \x20\x01(\x03R\x0eallEndRelNanos\x12'\n\x0fscheduled_nanos\x18\x11\x20\
2380 \x01(\x03R\x0escheduledNanos\"\xf4\x01\n\x0fDeviceStepStats\x12\x16\n\
2381 \x06device\x18\x01\x20\x01(\tR\x06device\x128\n\nnode_stats\x18\x02\x20\
2382 \x03(\x0b2\x19.tensorflow.NodeExecStatsR\tnodeStats\x12O\n\x0cthread_nam\
2383 es\x18\x03\x20\x03(\x0b2,.tensorflow.DeviceStepStats.ThreadNamesEntryR\
2384 \x0bthreadNames\x1a>\n\x10ThreadNamesEntry\x12\x10\n\x03key\x18\x01\x20\
2385 \x01(\rR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\
2386 \x01\"E\n\tStepStats\x128\n\tdev_stats\x18\x01\x20\x03(\x0b2\x1b.tensorf\
2387 low.DeviceStepStatsR\x08devStatsB\x83\x01\n\x18org.tensorflow.frameworkB\
2388 \x0fStepStatsProtosP\x01ZQgithub.com/tensorflow/tensorflow/tensorflow/go\
2389 /core/framework/step_stats_go_proto\xf8\x01\x01J\xa5\x1a\n\x06\x12\x04\0\
2390 \0W\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\0\
2391 \x13\n\t\n\x02\x03\0\x12\x03\x04\0@\n\t\n\x02\x03\x01\x12\x03\x05\0<\n\
2392 \x08\n\x01\x08\x12\x03\x07\0\x1f\n\t\n\x02\x08\x1f\x12\x03\x07\0\x1f\n\
2393 \x08\n\x01\x08\x12\x03\x08\00\n\t\n\x02\x08\x08\x12\x03\x08\00\n\x08\n\
2394 \x01\x08\x12\x03\t\0\"\n\t\n\x02\x08\n\x12\x03\t\0\"\n\x08\n\x01\x08\x12\
2395 \x03\n\01\n\t\n\x02\x08\x01\x12\x03\n\01\n\x08\n\x01\x08\x12\x03\x0b\0h\
2396 \n\t\n\x02\x08\x0b\x12\x03\x0b\0h\nO\n\x02\x04\0\x12\x04\x0e\0\x13\x01\
2397 \x1aC\x20An\x20allocation/de-allocation\x20operation\x20performed\x20by\
2398 \x20the\x20allocator.\n\n\n\n\x03\x04\0\x01\x12\x03\x0e\x08\x18\n.\n\x04\
2399 \x04\0\x02\0\x12\x03\x10\x02\x19\x1a!\x20The\x20timestamp\x20of\x20the\
2400 \x20operation.\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x10\x02\x07\n\x0c\n\
2401 \x05\x04\0\x02\0\x01\x12\x03\x10\x08\x14\n\x0c\n\x05\x04\0\x02\0\x03\x12\
2402 \x03\x10\x17\x18\nF\n\x04\x04\0\x02\x01\x12\x03\x12\x02\x18\x1a9\x20Numb\
2403 er\x20of\x20bytes\x20allocated,\x20or\x20de-allocated\x20if\x20negative.\
2404 \n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x12\x02\x07\n\x0c\n\x05\x04\0\
2405 \x02\x01\x01\x12\x03\x12\x08\x13\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03\
2406 \x12\x16\x17\n\n\n\x02\x04\x01\x12\x04\x15\0\"\x01\n\n\n\x03\x04\x01\x01\
2407 \x12\x03\x15\x08\x1b\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x16\x02\x1c\n\x0c\
2408 \n\x05\x04\x01\x02\0\x05\x12\x03\x16\x02\x08\n\x0c\n\x05\x04\x01\x02\0\
2409 \x01\x12\x03\x16\t\x17\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x16\x1a\x1b\
2410 \n9\n\x04\x04\x01\x02\x01\x12\x03\x18\x02\x18\x1a,\x20These\x20are\x20pe\
2411 r-node\x20allocator\x20memory\x20stats.\n\n\x0c\n\x05\x04\x01\x02\x01\
2412 \x05\x12\x03\x18\x02\x07\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03\x18\x08\
2413 \x13\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03\x18\x16\x17\n\x0b\n\x04\x04\
2414 \x01\x02\x02\x12\x03\x19\x02\x17\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03\
2415 \x19\x02\x07\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03\x19\x08\x12\n\x0c\n\
2416 \x05\x04\x01\x02\x02\x03\x12\x03\x19\x15\x16\n2\n\x04\x04\x01\x02\x03\
2417 \x12\x03\x1b\x02\x17\x1a%\x20The\x20bytes\x20that\x20are\x20not\x20deall\
2418 ocated.\n\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\x03\x1b\x02\x07\n\x0c\n\
2419 \x05\x04\x01\x02\x03\x01\x12\x03\x1b\x08\x12\n\x0c\n\x05\x04\x01\x02\x03\
2420 \x03\x12\x03\x1b\x15\x16\n8\n\x04\x04\x01\x02\x04\x12\x03\x1d\x023\x1a+\
2421 \x20The\x20allocation\x20and\x20deallocation\x20timeline.\n\n\x0c\n\x05\
2422 \x04\x01\x02\x04\x04\x12\x03\x1d\x02\n\n\x0c\n\x05\x04\x01\x02\x04\x06\
2423 \x12\x03\x1d\x0b\x1b\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03\x1d\x1c.\n\
2424 \x0c\n\x05\x04\x01\x02\x04\x03\x12\x03\x1d12\n\x89\x01\n\x04\x04\x01\x02\
2425 \x05\x12\x03!\x02#\x1a|\x20These\x20are\x20snapshots\x20of\x20the\x20ove\
2426 rall\x20allocator\x20memory\x20stats.\n\x20The\x20number\x20of\x20live\
2427 \x20bytes\x20currently\x20allocated\x20by\x20the\x20allocator.\n\n\x0c\n\
2428 \x05\x04\x01\x02\x05\x05\x12\x03!\x02\x07\n\x0c\n\x05\x04\x01\x02\x05\
2429 \x01\x12\x03!\x08\x1e\n\x0c\n\x05\x04\x01\x02\x05\x03\x12\x03!!\"\nK\n\
2430 \x02\x04\x02\x12\x04%\0(\x01\x1a?\x20Output\x20sizes\x20recorded\x20for\
2431 \x20a\x20single\x20execution\x20of\x20a\x20graph\x20node.\n\n\n\n\x03\
2432 \x04\x02\x01\x12\x03%\x08\x12\n\x0b\n\x04\x04\x02\x02\0\x12\x03&\x02\x11\
2433 \n\x0c\n\x05\x04\x02\x02\0\x05\x12\x03&\x02\x07\n\x0c\n\x05\x04\x02\x02\
2434 \0\x01\x12\x03&\x08\x0c\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03&\x0f\x10\n\
2435 \x0b\n\x04\x04\x02\x02\x01\x12\x03'\x02+\n\x0c\n\x05\x04\x02\x02\x01\x06\
2436 \x12\x03'\x02\x13\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03'\x14&\n\x0c\n\
2437 \x05\x04\x02\x02\x01\x03\x12\x03')*\n\"\n\x02\x04\x03\x12\x04+\03\x01\
2438 \x1a\x16\x20For\x20memory\x20tracking.\n\n\n\n\x03\x04\x03\x01\x12\x03+\
2439 \x08\x13\n\x0b\n\x04\x04\x03\x02\0\x12\x03,\x02\x1d\n\x0c\n\x05\x04\x03\
2440 \x02\0\x05\x12\x03,\x02\x07\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03,\x08\
2441 \x18\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03,\x1b\x1c\n\x0b\n\x04\x04\x03\
2442 \x02\x01\x12\x03-\x02#\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03-\x02\x07\
2443 \n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03-\x08\x1e\n\x0c\n\x05\x04\x03\
2444 \x02\x01\x03\x12\x03-!\"\n\x0b\n\x04\x04\x03\x02\x02\x12\x03.\x021\n\x0c\
2445 \n\x05\x04\x03\x02\x02\x04\x12\x03.\x02\n\n\x0c\n\x05\x04\x03\x02\x02\
2446 \x05\x12\x03.\x0b\x10\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03.\x11,\n\
2447 \x0c\n\x05\x04\x03\x02\x02\x03\x12\x03./0\n\x0b\n\x04\x04\x03\x02\x03\
2448 \x12\x030\x028\n\x0c\n\x05\x04\x03\x02\x03\x05\x12\x030\x02\x07\n\x0c\n\
2449 \x05\x04\x03\x02\x03\x01\x12\x030\x08\x1f\n\x0c\n\x05\x04\x03\x02\x03\
2450 \x03\x12\x030\"#\n\x0c\n\x05\x04\x03\x02\x03\x08\x12\x030$7\n\r\n\x06\
2451 \x04\x03\x02\x03\x08\x03\x12\x030%6\n\x0b\n\x04\x04\x03\x02\x04\x12\x031\
2452 \x02>\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x031\x02\x07\n\x0c\n\x05\x04\
2453 \x03\x02\x04\x01\x12\x031\x08%\n\x0c\n\x05\x04\x03\x02\x04\x03\x12\x031(\
2454 )\n\x0c\n\x05\x04\x03\x02\x04\x08\x12\x031*=\n\r\n\x06\x04\x03\x02\x04\
2455 \x08\x03\x12\x031+<\n\x0b\n\x04\x04\x03\x02\x05\x12\x032\x02L\n\x0c\n\
2456 \x05\x04\x03\x02\x05\x04\x12\x032\x02\n\n\x0c\n\x05\x04\x03\x02\x05\x05\
2457 \x12\x032\x0b\x10\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x032\x113\n\x0c\n\
2458 \x05\x04\x03\x02\x05\x03\x12\x03267\n\x0c\n\x05\x04\x03\x02\x05\x08\x12\
2459 \x0328K\n\r\n\x06\x04\x03\x02\x05\x08\x03\x12\x0329J\nN\n\x02\x04\x04\
2460 \x12\x046\0L\x01\x1aB\x20Time/size\x20stats\x20recorded\x20for\x20a\x20s\
2461 ingle\x20execution\x20of\x20a\x20graph\x20node.\n\n\n\n\x03\x04\x04\x01\
2462 \x12\x036\x08\x15\n\xd8\x01\n\x04\x04\x04\x02\0\x12\x03;\x02\x17\x1a\xca\
2463 \x01\x20TODO(tucker):\x20Use\x20some\x20more\x20compact\x20form\x20of\
2464 \x20node\x20identity\x20than\n\x20the\x20full\x20string\x20name.\x20\x20\
2465 Either\x20all\x20processes\x20should\x20agree\x20on\x20a\n\x20global\x20\
2466 id\x20(cost_id?)\x20for\x20each\x20node,\x20or\x20we\x20should\x20use\
2467 \x20a\x20hash\x20of\n\x20the\x20name.\n\n\x0c\n\x05\x04\x04\x02\0\x05\
2468 \x12\x03;\x02\x08\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03;\t\x12\n\x0c\n\
2469 \x05\x04\x04\x02\0\x03\x12\x03;\x15\x16\n\x0b\n\x04\x04\x04\x02\x01\x12\
2470 \x03<\x02\x1d\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03<\x02\x07\n\x0c\n\
2471 \x05\x04\x04\x02\x01\x01\x12\x03<\x08\x18\n\x0c\n\x05\x04\x04\x02\x01\
2472 \x03\x12\x03<\x1b\x1c\n\x0b\n\x04\x04\x04\x02\x02\x12\x03=\x02\x20\n\x0c\
2473 \n\x05\x04\x04\x02\x02\x05\x12\x03=\x02\x07\n\x0c\n\x05\x04\x04\x02\x02\
2474 \x01\x12\x03=\x08\x1b\n\x0c\n\x05\x04\x04\x02\x02\x03\x12\x03=\x1e\x1f\n\
2475 \x0b\n\x04\x04\x04\x02\x03\x12\x03>\x02\x1e\n\x0c\n\x05\x04\x04\x02\x03\
2476 \x05\x12\x03>\x02\x07\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03>\x08\x19\n\
2477 \x0c\n\x05\x04\x04\x02\x03\x03\x12\x03>\x1c\x1d\n\x0b\n\x04\x04\x04\x02\
2478 \x04\x12\x03?\x02\x1f\n\x0c\n\x05\x04\x04\x02\x04\x05\x12\x03?\x02\x07\n\
2479 \x0c\n\x05\x04\x04\x02\x04\x01\x12\x03?\x08\x1a\n\x0c\n\x05\x04\x04\x02\
2480 \x04\x03\x12\x03?\x1d\x1e\n\x0b\n\x04\x04\x04\x02\x05\x12\x03@\x02*\n\
2481 \x0c\n\x05\x04\x04\x02\x05\x04\x12\x03@\x02\n\n\x0c\n\x05\x04\x04\x02\
2482 \x05\x06\x12\x03@\x0b\x1e\n\x0c\n\x05\x04\x04\x02\x05\x01\x12\x03@\x1f%\
2483 \n\x0c\n\x05\x04\x04\x02\x05\x03\x12\x03@()\n\x0b\n\x04\x04\x04\x02\x06\
2484 \x12\x03A\x02!\n\x0c\n\x05\x04\x04\x02\x06\x04\x12\x03A\x02\n\n\x0c\n\
2485 \x05\x04\x04\x02\x06\x06\x12\x03A\x0b\x15\n\x0c\n\x05\x04\x04\x02\x06\
2486 \x01\x12\x03A\x16\x1c\n\x0c\n\x05\x04\x04\x02\x06\x03\x12\x03A\x1f\x20\n\
2487 \x0b\n\x04\x04\x04\x02\x07\x12\x03B\x02\x1c\n\x0c\n\x05\x04\x04\x02\x07\
2488 \x05\x12\x03B\x02\x08\n\x0c\n\x05\x04\x04\x02\x07\x01\x12\x03B\t\x17\n\
2489 \x0c\n\x05\x04\x04\x02\x07\x03\x12\x03B\x1a\x1b\n\x0b\n\x04\x04\x04\x02\
2490 \x08\x12\x03C\x02\x1d\n\x0c\n\x05\x04\x04\x02\x08\x05\x12\x03C\x02\x07\n\
2491 \x0c\n\x05\x04\x04\x02\x08\x01\x12\x03C\x08\x18\n\x0c\n\x05\x04\x04\x02\
2492 \x08\x03\x12\x03C\x1b\x1c\n\x0b\n\x04\x04\x04\x02\t\x12\x03D\x02\x18\n\
2493 \x0c\n\x05\x04\x04\x02\t\x05\x12\x03D\x02\x08\n\x0c\n\x05\x04\x04\x02\t\
2494 \x01\x12\x03D\t\x12\n\x0c\n\x05\x04\x04\x02\t\x03\x12\x03D\x15\x17\n\x0b\
2495 \n\x04\x04\x04\x02\n\x12\x03E\x028\n\x0c\n\x05\x04\x04\x02\n\x04\x12\x03\
2496 E\x02\n\n\x0c\n\x05\x04\x04\x02\n\x06\x12\x03E\x0b\x20\n\x0c\n\x05\x04\
2497 \x04\x02\n\x01\x12\x03E!2\n\x0c\n\x05\x04\x04\x02\n\x03\x12\x03E57\n\x0b\
2498 \n\x04\x04\x04\x02\x0b\x12\x03F\x02\x20\n\x0c\n\x05\x04\x04\x02\x0b\x06\
2499 \x12\x03F\x02\r\n\x0c\n\x05\x04\x04\x02\x0b\x01\x12\x03F\x0e\x1a\n\x0c\n\
2500 \x05\x04\x04\x02\x0b\x03\x12\x03F\x1d\x1f\n\x0b\n\x04\x04\x04\x02\x0c\
2501 \x12\x03G\x02\x1d\n\x0c\n\x05\x04\x04\x02\x0c\x05\x12\x03G\x02\x07\n\x0c\
2502 \n\x05\x04\x04\x02\x0c\x01\x12\x03G\x08\x17\n\x0c\n\x05\x04\x04\x02\x0c\
2503 \x03\x12\x03G\x1a\x1c\n\x0b\n\x04\x04\x04\x02\r\x12\x03H\x02\x20\n\x0c\n\
2504 \x05\x04\x04\x02\r\x05\x12\x03H\x02\x07\n\x0c\n\x05\x04\x04\x02\r\x01\
2505 \x12\x03H\x08\x1a\n\x0c\n\x05\x04\x04\x02\r\x03\x12\x03H\x1d\x1f\n\x0b\n\
2506 \x04\x04\x04\x02\x0e\x12\x03I\x02\x1e\n\x0c\n\x05\x04\x04\x02\x0e\x05\
2507 \x12\x03I\x02\x07\n\x0c\n\x05\x04\x04\x02\x0e\x01\x12\x03I\x08\x18\n\x0c\
2508 \n\x05\x04\x04\x02\x0e\x03\x12\x03I\x1b\x1d\n\x0b\n\x04\x04\x04\x02\x0f\
2509 \x12\x03J\x02\x1f\n\x0c\n\x05\x04\x04\x02\x0f\x05\x12\x03J\x02\x07\n\x0c\
2510 \n\x05\x04\x04\x02\x0f\x01\x12\x03J\x08\x19\n\x0c\n\x05\x04\x04\x02\x0f\
2511 \x03\x12\x03J\x1c\x1e\n\x0b\n\x04\x04\x04\x02\x10\x12\x03K\x02\x1d\n\x0c\
2512 \n\x05\x04\x04\x02\x10\x05\x12\x03K\x02\x07\n\x0c\n\x05\x04\x04\x02\x10\
2513 \x01\x12\x03K\x08\x17\n\x0c\n\x05\x04\x04\x02\x10\x03\x12\x03K\x1a\x1c\n\
2514 \n\n\x02\x04\x05\x12\x04N\0S\x01\n\n\n\x03\x04\x05\x01\x12\x03N\x08\x17\
2515 \n\x0b\n\x04\x04\x05\x02\0\x12\x03O\x02\x14\n\x0c\n\x05\x04\x05\x02\0\
2516 \x05\x12\x03O\x02\x08\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03O\t\x0f\n\x0c\
2517 \n\x05\x04\x05\x02\0\x03\x12\x03O\x12\x13\n\x0b\n\x04\x04\x05\x02\x01\
2518 \x12\x03P\x02(\n\x0c\n\x05\x04\x05\x02\x01\x04\x12\x03P\x02\n\n\x0c\n\
2519 \x05\x04\x05\x02\x01\x06\x12\x03P\x0b\x18\n\x0c\n\x05\x04\x05\x02\x01\
2520 \x01\x12\x03P\x19#\n\x0c\n\x05\x04\x05\x02\x01\x03\x12\x03P&'\n$\n\x04\
2521 \x04\x05\x02\x02\x12\x03R\x02'\x1a\x17\x20Its\x20key\x20is\x20thread\x20\
2522 id.\n\n\x0c\n\x05\x04\x05\x02\x02\x06\x12\x03R\x02\x15\n\x0c\n\x05\x04\
2523 \x05\x02\x02\x01\x12\x03R\x16\"\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03R\
2524 %&\n\n\n\x02\x04\x06\x12\x04U\0W\x01\n\n\n\x03\x04\x06\x01\x12\x03U\x08\
2525 \x11\n\x0b\n\x04\x04\x06\x02\0\x12\x03V\x02)\n\x0c\n\x05\x04\x06\x02\0\
2526 \x04\x12\x03V\x02\n\n\x0c\n\x05\x04\x06\x02\0\x06\x12\x03V\x0b\x1a\n\x0c\
2527 \n\x05\x04\x06\x02\0\x01\x12\x03V\x1b$\n\x0c\n\x05\x04\x06\x02\0\x03\x12\
2528 \x03V'(b\x06proto3\
2529";
2530
2531static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
2532
2533fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
2534 ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
2535}
2536
2537pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
2538 unsafe {
2539 file_descriptor_proto_lazy.get(|| {
2540 parse_descriptor_proto()
2541 })
2542 }
2543}