]> git.saurik.com Git - apple/security.git/blob - keychain/analytics/C2Metric.proto
Security-59306.11.20.tar.gz
[apple/security.git] / keychain / analytics / C2Metric.proto
1 package SecC2MP;
2
3 option java_package="com.apple.edge.metricsedge.model";
4 option java_outer_classname = "C2Metric";
5
6 option (objc_class_default_visibility) = "hidden";
7
8 message Error {
9 optional string error_domain = 1;
10 optional int64 error_code = 2;
11 optional string error_description = 3;
12 optional Error underlying_error = 4;
13 }
14
15 message CloudKitOperationGroupInfo {
16 optional string operation_group_id = 1;
17 optional string operation_group_name = 2;
18
19 optional bool operation_group_triggered = 101;
20 }
21
22 message CloudKitOperationInfo {
23 optional string operation_id = 1;
24 optional string operation_type = 2;
25
26 optional bool operation_triggered = 101;
27
28 optional uint32 operation_group_index = 201; // Index of associated Metric.CloudKitInfo.operation_group
29 }
30
31 message Metric {
32 enum Type {
33 none_type = 0;
34
35 network_event_type = 200;
36 generic_event_type = 201;
37 }
38 optional Type metric_type = 1;
39
40 message DeviceInfo {
41 optional string product_name = 101;
42 optional string product_type = 102;
43 optional string product_version = 103;
44 optional string product_build = 104;
45 optional bool is_apple_internal = 105;
46
47 optional string process_name = 201;
48 optional string process_version = 202;
49 optional string process_uuid = 203;
50
51 optional string user_default_test_name = 301;
52 message InternalTestConfig {
53 optional string key = 101;
54 optional string value = 102;
55 }
56 repeated InternalTestConfig internal_test_config = 302;
57 }
58 optional DeviceInfo device_info = 2;
59
60 message CloudKitInfo {
61 optional string client_process_version = 102;
62 optional string client_bundle_id = 103;
63
64 optional string container = 201;
65 optional string environment = 202;
66 optional bool anonymous = 203;
67
68 repeated CloudKitOperationGroupInfo operation_group = 301;
69 optional uint64 report_operation_group_frequency = 302;
70 optional uint64 report_operation_group_frequency_base = 303;
71
72 repeated CloudKitOperationInfo client_operation = 401;
73 optional uint64 report_client_operation_frequency = 402;
74 optional uint64 report_client_operation_frequency_base = 403;
75 }
76 optional CloudKitInfo cloudkit_info = 3;
77
78 message ServerInfo {
79 optional string service_name = 102;
80 optional string partition = 103;
81 optional string service_build = 104;
82 optional string service_instance = 105;
83 }
84 optional ServerInfo server_info = 4;
85
86 enum Trigger {
87 none_trigger = 0;
88
89 user_default_trigger = 1;
90 frequency_trigger = 2;
91 response_header_trigger = 4; // Can only trigger NetworkStatistic metrics.
92 client_operation_frequency_trigger = 8;
93 operation_group_frequency_trigger = 16;
94 push_trigger = 32;
95 }
96 optional uint64 triggers = 100;
97 optional uint64 report_frequency = 101;
98 optional uint64 report_frequency_base = 102;
99
100 optional NetworkEvent network_event = 200;
101 optional GenericEvent generic_event = 201;
102 }
103
104 message NetworkEvent {
105 enum Trigger { // Deprecated. Use Metric.Trigger instead.
106 none_trigger = 0;
107
108 user_default_trigger = 1;
109 frequency_trigger = 2;
110 response_header_trigger = 4;
111 }
112 optional uint64 triggers = 1; // Deprecated. Use Metric.triggers instead.
113 optional uint64 report_frequency = 2; // Deprecated. Use Metric.report_frequency instead.
114 optional uint64 report_frequency_base = 3; // Deprecated. Use Metric.report_frequency_base instead.
115
116 optional string network_task_description = 101;
117 optional string network_hostname = 102;
118 optional string network_remote_addresss_and_port = 103;
119 optional string network_connection_uuid = 104;
120 optional bool network_connection_reused = 105;
121 optional string network_interface_identifier = 106;
122 optional string network_protocol_name = 107;
123 optional uint32 network_request_header_size = 108;
124 optional uint64 network_request_body_bytes_sent = 109;
125 optional uint32 network_response_header_size = 110;
126 optional uint64 network_response_body_bytes_received = 111;
127 optional uint32 network_previous_attempt_count = 112;
128 optional Error network_fatal_error = 113;
129 optional uint64 network_status_code = 114;
130 optional string network_request_uri = 115;
131
132 optional uint64 timestamp_c2_init = 201;
133 optional uint64 timestamp_c2_start = 202;
134 optional uint64 timestamp_c2_now = 203;
135 optional uint64 timestamp_dns_start = 204;
136 optional uint64 timestamp_dns_end = 205;
137 optional uint64 timestamp_tcp_start = 206;
138 optional uint64 timestamp_tcp_end = 207;
139 optional uint64 timestamp_ssl_start = 208;
140 optional uint64 timestamp_request_start = 209;
141 optional uint64 timestamp_request_end = 210;
142 optional uint64 timestamp_response_start = 211;
143 optional uint64 timestamp_response_end = 212;
144
145 optional string options_quality_of_service = 301;
146 optional bool options_out_of_process = 302;
147 optional bool options_out_of_process_force_discretionary = 303;
148 optional bool options_allow_expensive_access = 304;
149 optional bool options_allow_power_nap_scheduling = 305;
150 optional uint32 options_timeout_interval_for_request = 306;
151 optional uint32 options_timeout_interval_for_resource = 307;
152 optional string options_source_application_bundle_identifier = 308;
153 optional string options_source_application_secondary_identifier = 309;
154 optional bool options_apple_id_context = 310;
155 optional bool options_tls_pinning_required = 311;
156 }
157
158 message GenericEvent {
159 enum Type {
160 none = 0;
161
162 cloudkit = 101;
163 cloudkit_client = 201;
164 server = 301;
165 }
166 optional Type type = 1;
167
168 optional string name = 101;
169
170 optional uint64 timestamp_start = 201;
171 optional uint64 timestamp_end = 202;
172
173 message GenericEventMetric {
174 optional string key = 101;
175
176 message GenericEventMetricValue {
177 optional string string_value = 101;
178 optional double double_value = 102;
179 optional uint64 date_value = 103;
180
181 optional Error error_value = 201;
182 }
183 optional GenericEventMetricValue value = 201;
184 }
185 repeated GenericEventMetric metric = 301;
186 }