(actual_data)
| 201 | createModelFromChromeTraceFile(contents) { |
| 202 | const data = Object.create(null); // Final data container. |
| 203 | const parseOneGCEvent = (actual_data) => { |
| 204 | Object.keys(actual_data).forEach(data_set => { |
| 205 | const string_entry = actual_data[data_set]; |
| 206 | try { |
| 207 | const entry = JSON.parse(string_entry); |
| 208 | this.createOrUpdateEntryIfNeeded(data, entry); |
| 209 | this.createDatasetIfNeeded(data, entry, data_set); |
| 210 | const isolate = entry.isolate; |
| 211 | const time = entry.time; |
| 212 | const gc_id = entry.id; |
| 213 | data[isolate].gcs[gc_id].time = time; |
| 214 | |
| 215 | const field_data = entry.field_data; |
| 216 | this.addFieldTypeData(data, isolate, gc_id, data_set, |
| 217 | field_data.tagged_fields, |
| 218 | field_data.inobject_smi_fields, |
| 219 | field_data.embedder_fields, |
| 220 | field_data.unboxed_double_fields, |
| 221 | field_data.boxed_double_fields, |
| 222 | field_data.string_data, |
| 223 | field_data.other_raw_fields); |
| 224 | |
| 225 | data[isolate].gcs[gc_id][data_set].bucket_sizes = |
| 226 | entry.bucket_sizes; |
| 227 | for (let [instance_type, value] of Object.entries( |
| 228 | entry.type_data)) { |
| 229 | // Trace file format uses markers that do not have actual |
| 230 | // properties. |
| 231 | if (!('overall' in value)) continue; |
| 232 | this.addInstanceTypeData( |
| 233 | data, isolate, gc_id, data_set, instance_type, value); |
| 234 | } |
| 235 | } catch (e) { |
| 236 | console.error('Unable to parse data set entry', e); |
| 237 | } |
| 238 | }); |
| 239 | }; |
| 240 | console.log(`Processing log as chrome trace file.`); |
| 241 | try { |
| 242 | let gc_events_filter = (event) => { |
nothing calls this directly
no test coverage detected