Trace Go when Go extraction reconciliation is enabled

This commit is contained in:
Henry Mercer 2022-09-01 14:40:54 +01:00
parent fe1bd9ac76
commit cf5d465980
39 changed files with 272 additions and 110 deletions

8
lib/analyze.js generated
View file

@ -70,12 +70,12 @@ async function setupPythonExtractor(logger) {
logger.info(`Setting LGTM_PYTHON_SETUP_VERSION=${output}`);
process.env["LGTM_PYTHON_SETUP_VERSION"] = output;
}
async function createdDBForScannedLanguages(codeql, config, logger, featureFlags) {
async function createdDBForScannedLanguages(codeql, config, isGoExtractionReconciliationEnabled, logger, featureFlags) {
// Insert the LGTM_INDEX_X env vars at this point so they are set when
// we extract any scanned languages.
analysisPaths.includeAndExcludeAnalysisPaths(config);
for (const language of config.languages) {
if ((0, languages_1.isScannedLanguage)(language, logger) &&
if ((0, languages_1.isScannedLanguage)(language, isGoExtractionReconciliationEnabled, logger) &&
!dbIsFinalized(config, language, logger)) {
logger.startGroup(`Extracting ${language}`);
if (language === languages_1.Language.python) {
@ -102,7 +102,7 @@ exports.dbIsFinalized = dbIsFinalized;
async function finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger, featureFlags) {
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
const extractionStart = perf_hooks_1.performance.now();
await createdDBForScannedLanguages(codeql, config, logger, featureFlags);
await createdDBForScannedLanguages(codeql, config, await util.isGoExtractionReconciliationEnabled(featureFlags), logger, featureFlags);
const extractionTime = perf_hooks_1.performance.now() - extractionStart;
const trapImportStart = perf_hooks_1.performance.now();
for (const language of config.languages) {
@ -303,7 +303,7 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger, f
// step.
if (await util.codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) {
// Delete variables as specified by the end-tracing script
await (0, tracer_config_1.endTracingForCluster)(config, logger);
await (0, tracer_config_1.endTracingForCluster)(config, await util.isGoExtractionReconciliationEnabled(featureFlags), logger);
}
else {
// Delete the tracer config env var to avoid tracing ourselves