You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Dataflow] Extractor instrumentation is here! (#2204)
* feat-fix: allow cf to be undefined
* refactor: heat countmap eval
* refactor: clean up config query update format
* feat-fix: add heat config flag to the interface wiki
* refactor: repl no longe rappends out of fear of state acc
/** These keys are only intended for use within code, allowing to instrument the dataflow analyzer! */
155
+
readonlyinstrument: {
156
+
/**
157
+
* Modify the dataflow processors used during dataflow analysis.
158
+
* Make sure that all processors required for correct analysis are still present!
159
+
* This may have arbitrary consequences on the analysis precision and performance, consider focusing on decorating existing processors instead of replacing them.
}).optional().description('Semantics regarding how to handle the R environment.')
284
302
}).description('Configure language semantics and how flowR handles them.'),
285
303
repl: Joi.object({
286
-
quickStats: Joi.boolean().optional().description('Whether to show quick stats in the REPL after each evaluation.')
304
+
quickStats: Joi.boolean().optional().description('Whether to show quick stats in the REPL after each evaluation.'),
305
+
dfProcessorHeat: Joi.boolean().optional().description('This instruments the dataflow processors to count how often each processor is called.')
287
306
}).description('Configuration options for the REPL.'),
288
307
project: Joi.object({
289
308
resolveUnknownPathsOnDisk: Joi.boolean().optional().description('Whether to resolve unknown paths loaded by the r project disk when trying to source/analyze files.')
maxIndexCount: Joi.number().required().description('The maximum number of indices tracked per object with the pointer analysis.')
311
330
})
312
331
).description('Whether to track pointers in the dataflow graph, if not, the graph will be over-approximated wrt. containers and accesses.'),
332
+
instrument: Joi.object({
333
+
dataflowExtractors: Joi.any().optional().description('These keys are only intended for use within code, allowing to instrument the dataflow analyzer!')
334
+
}),
313
335
resolveSource: Joi.object({
314
336
dropPaths: Joi.string().valid(...Object.values(DropPathsOption)).description('Allow to drop the first or all parts of the sourced path, if it is relative.'),
315
337
ignoreCapitalization: Joi.boolean().description('Search for filenames matching in the lowercase.'),
Copy file name to clipboardExpand all lines: src/documentation/wiki-query.ts
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -533,7 +533,7 @@ ${
533
533
}
534
534
535
535
One of the most useful options to change on-the-fly are probably those under \`repl\`. For example, setting \`repl.quickStats=true\`
536
-
enables quick statistics after each REPL command.
536
+
enables quick statistics after each REPL command. Likewise, setting \`repl.dfProcessorHeat=true\` enables the dataflow processor heatmap after each REPL command.
0 commit comments