syntax = "proto2";
option optimize_for = SPEED;
option py_generic_services = false;

message CClientMetrics_ClientBootstrap_RequestInfo {
	optional string original_hostname = 1;
	optional string actual_hostname = 2;
	optional string path = 3;
	optional string base_name = 4;
	optional bool success = 5;
	optional uint32 status_code = 6;
	optional string address_of_request_url = 7;
	optional uint32 response_time_ms = 8;
	optional uint64 bytes_received = 9;
	optional uint32 num_retries = 10;
}

message CClientMetrics_ClientBootstrap_Summary {
	optional uint32 launcher_type = 1;
	optional uint32 steam_realm = 2;
	optional string beta_name = 3;
	optional bool download_completed = 4;
	optional uint32 total_time_ms = 6;
	repeated .CClientMetrics_ClientBootstrap_RequestInfo manifest_requests = 7;
	repeated .CClientMetrics_ClientBootstrap_RequestInfo package_requests = 8;
}

message CClientMetrics_ContentDownloadResponse_Counts {
	optional uint32 class_100 = 1;
	optional uint32 class_200 = 2;
	optional uint32 class_300 = 3;
	optional uint32 class_400 = 4;
	optional uint32 class_500 = 5;
	optional uint32 no_response = 6;
	optional uint32 class_unknown = 7;
}

message CClientMetrics_ContentDownloadResponse_HostCounts {
	optional string hostname = 1;
	optional uint32 source_type = 2;
	optional .CClientMetrics_ContentDownloadResponse_Counts counts = 3;
}

message CClientMetrics_ContentDownloadResponse_Hosts {
	repeated .CClientMetrics_ContentDownloadResponse_HostCounts hosts = 1;
}
