# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: easyfl/pb/tracking_service.proto

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from easyfl.pb import common_pb2 as easyfl_dot_pb_dot_common__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='easyfl/pb/tracking_service.proto',
  package='easyfl.pb',
  syntax='proto3',
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n easyfl/pb/tracking_service.proto\x12\teasyfl.pb\x1a\x16\x65\x61syfl/pb/common.proto\"D\n\x16TrackTaskMetricRequest\x12*\n\x0btask_metric\x18\x01 \x01(\x0b\x32\x15.easyfl.pb.TaskMetric\"<\n\x17TrackTaskMetricResponse\x12!\n\x06status\x18\x01 \x01(\x0b\x32\x11.easyfl.pb.Status\"G\n\x17TrackRoundMetricRequest\x12,\n\x0cround_metric\x18\x01 \x01(\x0b\x32\x16.easyfl.pb.RoundMetric\"=\n\x18TrackRoundMetricResponse\x12!\n\x06status\x18\x01 \x01(\x0b\x32\x11.easyfl.pb.Status\"K\n\x18TrackClientMetricRequest\x12/\n\x0e\x63lient_metrics\x18\x01 \x03(\x0b\x32\x17.easyfl.pb.ClientMetric\">\n\x19TrackClientMetricResponse\x12!\n\x06status\x18\x01 \x01(\x0b\x32\x11.easyfl.pb.Status\"\xd0\x01\n\x1dTrackClientTrainMetricRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08round_id\x18\x02 \x01(\x05\x12\x11\n\tclient_id\x18\x03 \x01(\t\x12\x12\n\ntrain_loss\x18\x04 \x03(\x02\x12\x12\n\ntrain_time\x18\x05 \x01(\x02\x12\x19\n\x11train_upload_time\x18\x06 \x01(\x02\x12\x1b\n\x13train_download_size\x18\x07 \x01(\x02\x12\x19\n\x11train_upload_size\x18\x08 \x01(\x02\"C\n\x1eTrackClientTrainMetricResponse\x12!\n\x06status\x18\x01 \x01(\x0b\x32\x11.easyfl.pb.Status\"\xc7\x01\n\x1cTrackClientTestMetricRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08round_id\x18\x02 \x01(\x05\x12\x11\n\tclient_id\x18\x03 \x01(\t\x12\x15\n\rtest_accuracy\x18\x04 \x01(\x02\x12\x11\n\ttest_loss\x18\x05 \x01(\x02\x12\x11\n\ttest_time\x18\x06 \x01(\x02\x12\x18\n\x10test_upload_time\x18\x07 \x01(\x02\x12\x1a\n\x12test_download_size\x18\x08 \x01(\x02\"B\n\x1dTrackClientTestMetricResponse\x12!\n\x06status\x18\x01 \x01(\x0b\x32\x11.easyfl.pb.Status\"Q\n\x1cGetRoundTrainTestTimeRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06rounds\x18\x02 \x01(\x05\x12\x10\n\x08interval\x18\x03 \x01(\x05\"/\n\rTrainTestTime\x12\x10\n\x08round_id\x18\x01 \x01(\x05\x12\x0c\n\x04time\x18\x02 \x01(\x02\"v\n\x1dGetRoundTrainTestTimeResponse\x12\x32\n\x10train_test_times\x18\x01 \x03(\x0b\x32\x18.easyfl.pb.TrainTestTime\x12!\n\x06status\x18\x02 \x01(\x0b\x32\x11.easyfl.pb.Status\"9\n\x16GetRoundMetricsRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x0e\n\x06rounds\x18\x02 \x03(\x05\"\x88\x01\n\x17GetRoundMetricsResponse\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08round_id\x18\x02 \x01(\x05\x12\'\n\x07metrics\x18\x03 \x03(\x0b\x32\x16.easyfl.pb.RoundMetric\x12!\n\x06status\x18\x04 \x01(\x0b\x32\x11.easyfl.pb.Status\"P\n\x17GetClientMetricsRequest\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08round_id\x18\x02 \x01(\x05\x12\x12\n\nclient_ids\x18\x03 \x03(\t\"\x8a\x01\n\x18GetClientMetricsResponse\x12\x0f\n\x07task_id\x18\x01 \x01(\t\x12\x10\n\x08round_id\x18\x02 \x01(\x05\x12(\n\x07metrics\x18\x03 \x03(\x0b\x32\x17.easyfl.pb.ClientMetric\x12!\n\x06status\x18\x04 \x01(\x0b\x32\x11.easyfl.pb.Status2\xb6\x06\n\x0fTrackingService\x12Z\n\x0fTrackTaskMetric\x12!.easyfl.pb.TrackTaskMetricRequest\x1a\".easyfl.pb.TrackTaskMetricResponse\"\x00\x12]\n\x10TrackRoundMetric\x12\".easyfl.pb.TrackRoundMetricRequest\x1a#.easyfl.pb.TrackRoundMetricResponse\"\x00\x12`\n\x11TrackClientMetric\x12#.easyfl.pb.TrackClientMetricRequest\x1a$.easyfl.pb.TrackClientMetricResponse\"\x00\x12o\n\x16TrackClientTrainMetric\x12(.easyfl.pb.TrackClientTrainMetricRequest\x1a).easyfl.pb.TrackClientTrainMetricResponse\"\x00\x12l\n\x15TrackClientTestMetric\x12\'.easyfl.pb.TrackClientTestMetricRequest\x1a(.easyfl.pb.TrackClientTestMetricResponse\"\x00\x12Z\n\x0fGetRoundMetrics\x12!.easyfl.pb.GetRoundMetricsRequest\x1a\".easyfl.pb.GetRoundMetricsResponse\"\x00\x12]\n\x10GetClientMetrics\x12\".easyfl.pb.GetClientMetricsRequest\x1a#.easyfl.pb.GetClientMetricsResponse\"\x00\x12l\n\x15GetRoundTrainTestTime\x12\'.easyfl.pb.GetRoundTrainTestTimeRequest\x1a(.easyfl.pb.GetRoundTrainTestTimeResponse\"\x00\x62\x06proto3'
  ,
  dependencies=[easyfl_dot_pb_dot_common__pb2.DESCRIPTOR,])




_TRACKTASKMETRICREQUEST = _descriptor.Descriptor(
  name='TrackTaskMetricRequest',
  full_name='easyfl.pb.TrackTaskMetricRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_metric', full_name='easyfl.pb.TrackTaskMetricRequest.task_metric', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=71,
  serialized_end=139,
)


_TRACKTASKMETRICRESPONSE = _descriptor.Descriptor(
  name='TrackTaskMetricResponse',
  full_name='easyfl.pb.TrackTaskMetricResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.TrackTaskMetricResponse.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=141,
  serialized_end=201,
)


_TRACKROUNDMETRICREQUEST = _descriptor.Descriptor(
  name='TrackRoundMetricRequest',
  full_name='easyfl.pb.TrackRoundMetricRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='round_metric', full_name='easyfl.pb.TrackRoundMetricRequest.round_metric', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=203,
  serialized_end=274,
)


_TRACKROUNDMETRICRESPONSE = _descriptor.Descriptor(
  name='TrackRoundMetricResponse',
  full_name='easyfl.pb.TrackRoundMetricResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.TrackRoundMetricResponse.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=276,
  serialized_end=337,
)


_TRACKCLIENTMETRICREQUEST = _descriptor.Descriptor(
  name='TrackClientMetricRequest',
  full_name='easyfl.pb.TrackClientMetricRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_metrics', full_name='easyfl.pb.TrackClientMetricRequest.client_metrics', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=339,
  serialized_end=414,
)


_TRACKCLIENTMETRICRESPONSE = _descriptor.Descriptor(
  name='TrackClientMetricResponse',
  full_name='easyfl.pb.TrackClientMetricResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.TrackClientMetricResponse.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=416,
  serialized_end=478,
)


_TRACKCLIENTTRAINMETRICREQUEST = _descriptor.Descriptor(
  name='TrackClientTrainMetricRequest',
  full_name='easyfl.pb.TrackClientTrainMetricRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.TrackClientTrainMetricRequest.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='round_id', full_name='easyfl.pb.TrackClientTrainMetricRequest.round_id', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='easyfl.pb.TrackClientTrainMetricRequest.client_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='train_loss', full_name='easyfl.pb.TrackClientTrainMetricRequest.train_loss', index=3,
      number=4, type=2, cpp_type=6, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='train_time', full_name='easyfl.pb.TrackClientTrainMetricRequest.train_time', index=4,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='train_upload_time', full_name='easyfl.pb.TrackClientTrainMetricRequest.train_upload_time', index=5,
      number=6, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='train_download_size', full_name='easyfl.pb.TrackClientTrainMetricRequest.train_download_size', index=6,
      number=7, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='train_upload_size', full_name='easyfl.pb.TrackClientTrainMetricRequest.train_upload_size', index=7,
      number=8, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=481,
  serialized_end=689,
)


_TRACKCLIENTTRAINMETRICRESPONSE = _descriptor.Descriptor(
  name='TrackClientTrainMetricResponse',
  full_name='easyfl.pb.TrackClientTrainMetricResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.TrackClientTrainMetricResponse.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=691,
  serialized_end=758,
)


_TRACKCLIENTTESTMETRICREQUEST = _descriptor.Descriptor(
  name='TrackClientTestMetricRequest',
  full_name='easyfl.pb.TrackClientTestMetricRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.TrackClientTestMetricRequest.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='round_id', full_name='easyfl.pb.TrackClientTestMetricRequest.round_id', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='easyfl.pb.TrackClientTestMetricRequest.client_id', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test_accuracy', full_name='easyfl.pb.TrackClientTestMetricRequest.test_accuracy', index=3,
      number=4, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test_loss', full_name='easyfl.pb.TrackClientTestMetricRequest.test_loss', index=4,
      number=5, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test_time', full_name='easyfl.pb.TrackClientTestMetricRequest.test_time', index=5,
      number=6, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test_upload_time', full_name='easyfl.pb.TrackClientTestMetricRequest.test_upload_time', index=6,
      number=7, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='test_download_size', full_name='easyfl.pb.TrackClientTestMetricRequest.test_download_size', index=7,
      number=8, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=761,
  serialized_end=960,
)


_TRACKCLIENTTESTMETRICRESPONSE = _descriptor.Descriptor(
  name='TrackClientTestMetricResponse',
  full_name='easyfl.pb.TrackClientTestMetricResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.TrackClientTestMetricResponse.status', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=962,
  serialized_end=1028,
)


_GETROUNDTRAINTESTTIMEREQUEST = _descriptor.Descriptor(
  name='GetRoundTrainTestTimeRequest',
  full_name='easyfl.pb.GetRoundTrainTestTimeRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.GetRoundTrainTestTimeRequest.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='rounds', full_name='easyfl.pb.GetRoundTrainTestTimeRequest.rounds', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='interval', full_name='easyfl.pb.GetRoundTrainTestTimeRequest.interval', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1030,
  serialized_end=1111,
)


_TRAINTESTTIME = _descriptor.Descriptor(
  name='TrainTestTime',
  full_name='easyfl.pb.TrainTestTime',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='round_id', full_name='easyfl.pb.TrainTestTime.round_id', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='time', full_name='easyfl.pb.TrainTestTime.time', index=1,
      number=2, type=2, cpp_type=6, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1113,
  serialized_end=1160,
)


_GETROUNDTRAINTESTTIMERESPONSE = _descriptor.Descriptor(
  name='GetRoundTrainTestTimeResponse',
  full_name='easyfl.pb.GetRoundTrainTestTimeResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='train_test_times', full_name='easyfl.pb.GetRoundTrainTestTimeResponse.train_test_times', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.GetRoundTrainTestTimeResponse.status', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1162,
  serialized_end=1280,
)


_GETROUNDMETRICSREQUEST = _descriptor.Descriptor(
  name='GetRoundMetricsRequest',
  full_name='easyfl.pb.GetRoundMetricsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.GetRoundMetricsRequest.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='rounds', full_name='easyfl.pb.GetRoundMetricsRequest.rounds', index=1,
      number=2, type=5, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1282,
  serialized_end=1339,
)


_GETROUNDMETRICSRESPONSE = _descriptor.Descriptor(
  name='GetRoundMetricsResponse',
  full_name='easyfl.pb.GetRoundMetricsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.GetRoundMetricsResponse.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='round_id', full_name='easyfl.pb.GetRoundMetricsResponse.round_id', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='metrics', full_name='easyfl.pb.GetRoundMetricsResponse.metrics', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.GetRoundMetricsResponse.status', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1342,
  serialized_end=1478,
)


_GETCLIENTMETRICSREQUEST = _descriptor.Descriptor(
  name='GetClientMetricsRequest',
  full_name='easyfl.pb.GetClientMetricsRequest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.GetClientMetricsRequest.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='round_id', full_name='easyfl.pb.GetClientMetricsRequest.round_id', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='client_ids', full_name='easyfl.pb.GetClientMetricsRequest.client_ids', index=2,
      number=3, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1480,
  serialized_end=1560,
)


_GETCLIENTMETRICSRESPONSE = _descriptor.Descriptor(
  name='GetClientMetricsResponse',
  full_name='easyfl.pb.GetClientMetricsResponse',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='task_id', full_name='easyfl.pb.GetClientMetricsResponse.task_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='round_id', full_name='easyfl.pb.GetClientMetricsResponse.round_id', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='metrics', full_name='easyfl.pb.GetClientMetricsResponse.metrics', index=2,
      number=3, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='status', full_name='easyfl.pb.GetClientMetricsResponse.status', index=3,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1563,
  serialized_end=1701,
)

_TRACKTASKMETRICREQUEST.fields_by_name['task_metric'].message_type = easyfl_dot_pb_dot_common__pb2._TASKMETRIC
_TRACKTASKMETRICRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_TRACKROUNDMETRICREQUEST.fields_by_name['round_metric'].message_type = easyfl_dot_pb_dot_common__pb2._ROUNDMETRIC
_TRACKROUNDMETRICRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_TRACKCLIENTMETRICREQUEST.fields_by_name['client_metrics'].message_type = easyfl_dot_pb_dot_common__pb2._CLIENTMETRIC
_TRACKCLIENTMETRICRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_TRACKCLIENTTRAINMETRICRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_TRACKCLIENTTESTMETRICRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_GETROUNDTRAINTESTTIMERESPONSE.fields_by_name['train_test_times'].message_type = _TRAINTESTTIME
_GETROUNDTRAINTESTTIMERESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_GETROUNDMETRICSRESPONSE.fields_by_name['metrics'].message_type = easyfl_dot_pb_dot_common__pb2._ROUNDMETRIC
_GETROUNDMETRICSRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
_GETCLIENTMETRICSRESPONSE.fields_by_name['metrics'].message_type = easyfl_dot_pb_dot_common__pb2._CLIENTMETRIC
_GETCLIENTMETRICSRESPONSE.fields_by_name['status'].message_type = easyfl_dot_pb_dot_common__pb2._STATUS
DESCRIPTOR.message_types_by_name['TrackTaskMetricRequest'] = _TRACKTASKMETRICREQUEST
DESCRIPTOR.message_types_by_name['TrackTaskMetricResponse'] = _TRACKTASKMETRICRESPONSE
DESCRIPTOR.message_types_by_name['TrackRoundMetricRequest'] = _TRACKROUNDMETRICREQUEST
DESCRIPTOR.message_types_by_name['TrackRoundMetricResponse'] = _TRACKROUNDMETRICRESPONSE
DESCRIPTOR.message_types_by_name['TrackClientMetricRequest'] = _TRACKCLIENTMETRICREQUEST
DESCRIPTOR.message_types_by_name['TrackClientMetricResponse'] = _TRACKCLIENTMETRICRESPONSE
DESCRIPTOR.message_types_by_name['TrackClientTrainMetricRequest'] = _TRACKCLIENTTRAINMETRICREQUEST
DESCRIPTOR.message_types_by_name['TrackClientTrainMetricResponse'] = _TRACKCLIENTTRAINMETRICRESPONSE
DESCRIPTOR.message_types_by_name['TrackClientTestMetricRequest'] = _TRACKCLIENTTESTMETRICREQUEST
DESCRIPTOR.message_types_by_name['TrackClientTestMetricResponse'] = _TRACKCLIENTTESTMETRICRESPONSE
DESCRIPTOR.message_types_by_name['GetRoundTrainTestTimeRequest'] = _GETROUNDTRAINTESTTIMEREQUEST
DESCRIPTOR.message_types_by_name['TrainTestTime'] = _TRAINTESTTIME
DESCRIPTOR.message_types_by_name['GetRoundTrainTestTimeResponse'] = _GETROUNDTRAINTESTTIMERESPONSE
DESCRIPTOR.message_types_by_name['GetRoundMetricsRequest'] = _GETROUNDMETRICSREQUEST
DESCRIPTOR.message_types_by_name['GetRoundMetricsResponse'] = _GETROUNDMETRICSRESPONSE
DESCRIPTOR.message_types_by_name['GetClientMetricsRequest'] = _GETCLIENTMETRICSREQUEST
DESCRIPTOR.message_types_by_name['GetClientMetricsResponse'] = _GETCLIENTMETRICSRESPONSE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

TrackTaskMetricRequest = _reflection.GeneratedProtocolMessageType('TrackTaskMetricRequest', (_message.Message,), {
  'DESCRIPTOR' : _TRACKTASKMETRICREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackTaskMetricRequest)
  })
_sym_db.RegisterMessage(TrackTaskMetricRequest)

TrackTaskMetricResponse = _reflection.GeneratedProtocolMessageType('TrackTaskMetricResponse', (_message.Message,), {
  'DESCRIPTOR' : _TRACKTASKMETRICRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackTaskMetricResponse)
  })
_sym_db.RegisterMessage(TrackTaskMetricResponse)

TrackRoundMetricRequest = _reflection.GeneratedProtocolMessageType('TrackRoundMetricRequest', (_message.Message,), {
  'DESCRIPTOR' : _TRACKROUNDMETRICREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackRoundMetricRequest)
  })
_sym_db.RegisterMessage(TrackRoundMetricRequest)

TrackRoundMetricResponse = _reflection.GeneratedProtocolMessageType('TrackRoundMetricResponse', (_message.Message,), {
  'DESCRIPTOR' : _TRACKROUNDMETRICRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackRoundMetricResponse)
  })
_sym_db.RegisterMessage(TrackRoundMetricResponse)

TrackClientMetricRequest = _reflection.GeneratedProtocolMessageType('TrackClientMetricRequest', (_message.Message,), {
  'DESCRIPTOR' : _TRACKCLIENTMETRICREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackClientMetricRequest)
  })
_sym_db.RegisterMessage(TrackClientMetricRequest)

TrackClientMetricResponse = _reflection.GeneratedProtocolMessageType('TrackClientMetricResponse', (_message.Message,), {
  'DESCRIPTOR' : _TRACKCLIENTMETRICRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackClientMetricResponse)
  })
_sym_db.RegisterMessage(TrackClientMetricResponse)

TrackClientTrainMetricRequest = _reflection.GeneratedProtocolMessageType('TrackClientTrainMetricRequest', (_message.Message,), {
  'DESCRIPTOR' : _TRACKCLIENTTRAINMETRICREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackClientTrainMetricRequest)
  })
_sym_db.RegisterMessage(TrackClientTrainMetricRequest)

TrackClientTrainMetricResponse = _reflection.GeneratedProtocolMessageType('TrackClientTrainMetricResponse', (_message.Message,), {
  'DESCRIPTOR' : _TRACKCLIENTTRAINMETRICRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackClientTrainMetricResponse)
  })
_sym_db.RegisterMessage(TrackClientTrainMetricResponse)

TrackClientTestMetricRequest = _reflection.GeneratedProtocolMessageType('TrackClientTestMetricRequest', (_message.Message,), {
  'DESCRIPTOR' : _TRACKCLIENTTESTMETRICREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackClientTestMetricRequest)
  })
_sym_db.RegisterMessage(TrackClientTestMetricRequest)

TrackClientTestMetricResponse = _reflection.GeneratedProtocolMessageType('TrackClientTestMetricResponse', (_message.Message,), {
  'DESCRIPTOR' : _TRACKCLIENTTESTMETRICRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrackClientTestMetricResponse)
  })
_sym_db.RegisterMessage(TrackClientTestMetricResponse)

GetRoundTrainTestTimeRequest = _reflection.GeneratedProtocolMessageType('GetRoundTrainTestTimeRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETROUNDTRAINTESTTIMEREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.GetRoundTrainTestTimeRequest)
  })
_sym_db.RegisterMessage(GetRoundTrainTestTimeRequest)

TrainTestTime = _reflection.GeneratedProtocolMessageType('TrainTestTime', (_message.Message,), {
  'DESCRIPTOR' : _TRAINTESTTIME,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.TrainTestTime)
  })
_sym_db.RegisterMessage(TrainTestTime)

GetRoundTrainTestTimeResponse = _reflection.GeneratedProtocolMessageType('GetRoundTrainTestTimeResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETROUNDTRAINTESTTIMERESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.GetRoundTrainTestTimeResponse)
  })
_sym_db.RegisterMessage(GetRoundTrainTestTimeResponse)

GetRoundMetricsRequest = _reflection.GeneratedProtocolMessageType('GetRoundMetricsRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETROUNDMETRICSREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.GetRoundMetricsRequest)
  })
_sym_db.RegisterMessage(GetRoundMetricsRequest)

GetRoundMetricsResponse = _reflection.GeneratedProtocolMessageType('GetRoundMetricsResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETROUNDMETRICSRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.GetRoundMetricsResponse)
  })
_sym_db.RegisterMessage(GetRoundMetricsResponse)

GetClientMetricsRequest = _reflection.GeneratedProtocolMessageType('GetClientMetricsRequest', (_message.Message,), {
  'DESCRIPTOR' : _GETCLIENTMETRICSREQUEST,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.GetClientMetricsRequest)
  })
_sym_db.RegisterMessage(GetClientMetricsRequest)

GetClientMetricsResponse = _reflection.GeneratedProtocolMessageType('GetClientMetricsResponse', (_message.Message,), {
  'DESCRIPTOR' : _GETCLIENTMETRICSRESPONSE,
  '__module__' : 'easyfl.pb.tracking_service_pb2'
  # @@protoc_insertion_point(class_scope:easyfl.pb.GetClientMetricsResponse)
  })
_sym_db.RegisterMessage(GetClientMetricsResponse)



_TRACKINGSERVICE = _descriptor.ServiceDescriptor(
  name='TrackingService',
  full_name='easyfl.pb.TrackingService',
  file=DESCRIPTOR,
  index=0,
  serialized_options=None,
  create_key=_descriptor._internal_create_key,
  serialized_start=1704,
  serialized_end=2526,
  methods=[
  _descriptor.MethodDescriptor(
    name='TrackTaskMetric',
    full_name='easyfl.pb.TrackingService.TrackTaskMetric',
    index=0,
    containing_service=None,
    input_type=_TRACKTASKMETRICREQUEST,
    output_type=_TRACKTASKMETRICRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='TrackRoundMetric',
    full_name='easyfl.pb.TrackingService.TrackRoundMetric',
    index=1,
    containing_service=None,
    input_type=_TRACKROUNDMETRICREQUEST,
    output_type=_TRACKROUNDMETRICRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='TrackClientMetric',
    full_name='easyfl.pb.TrackingService.TrackClientMetric',
    index=2,
    containing_service=None,
    input_type=_TRACKCLIENTMETRICREQUEST,
    output_type=_TRACKCLIENTMETRICRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='TrackClientTrainMetric',
    full_name='easyfl.pb.TrackingService.TrackClientTrainMetric',
    index=3,
    containing_service=None,
    input_type=_TRACKCLIENTTRAINMETRICREQUEST,
    output_type=_TRACKCLIENTTRAINMETRICRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='TrackClientTestMetric',
    full_name='easyfl.pb.TrackingService.TrackClientTestMetric',
    index=4,
    containing_service=None,
    input_type=_TRACKCLIENTTESTMETRICREQUEST,
    output_type=_TRACKCLIENTTESTMETRICRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetRoundMetrics',
    full_name='easyfl.pb.TrackingService.GetRoundMetrics',
    index=5,
    containing_service=None,
    input_type=_GETROUNDMETRICSREQUEST,
    output_type=_GETROUNDMETRICSRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetClientMetrics',
    full_name='easyfl.pb.TrackingService.GetClientMetrics',
    index=6,
    containing_service=None,
    input_type=_GETCLIENTMETRICSREQUEST,
    output_type=_GETCLIENTMETRICSRESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
  _descriptor.MethodDescriptor(
    name='GetRoundTrainTestTime',
    full_name='easyfl.pb.TrackingService.GetRoundTrainTestTime',
    index=7,
    containing_service=None,
    input_type=_GETROUNDTRAINTESTTIMEREQUEST,
    output_type=_GETROUNDTRAINTESTTIMERESPONSE,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
  ),
])
_sym_db.RegisterServiceDescriptor(_TRACKINGSERVICE)

DESCRIPTOR.services_by_name['TrackingService'] = _TRACKINGSERVICE

# @@protoc_insertion_point(module_scope)
