Add utilities to produce diagnostics
This commit is contained in:
parent
c8dd2bc90f
commit
36777d2236
3 changed files with 140 additions and 0 deletions
44
lib/diagnostics.js
generated
Normal file
44
lib/diagnostics.js
generated
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.addDiagnostic = exports.makeDiagnostic = void 0;
|
||||
const fs_1 = require("fs");
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const logging_1 = require("./logging");
|
||||
/**
|
||||
* Constructs a new diagnostic message with the specified id and name, as well as optional additional data.
|
||||
*
|
||||
* @param id An identifier under which it makes sense to group this diagnostic message.
|
||||
* @param name Display name for the ID.
|
||||
* @param data Optional additional data to initialize the diagnostic with.
|
||||
* @returns Returns the new diagnostic message.
|
||||
*/
|
||||
function makeDiagnostic(id, name, data = undefined) {
|
||||
return {
|
||||
...data,
|
||||
timestamp: data?.timestamp ?? new Date().toISOString(),
|
||||
source: { ...data?.source, id, name },
|
||||
};
|
||||
}
|
||||
exports.makeDiagnostic = makeDiagnostic;
|
||||
/**
|
||||
* Writes the given diagnostic to the database.
|
||||
*
|
||||
* @param config The configuration that tells us where to store the diagnostic.
|
||||
* @param diagnostic The diagnostic message to add to the database.
|
||||
*/
|
||||
function addDiagnostic(config, diagnostic) {
|
||||
const logger = (0, logging_1.getActionsLogger)();
|
||||
const diagnosticsPath = path_1.default.resolve(config.dbLocation, "diagnostic");
|
||||
const jsonPath = path_1.default.resolve(diagnosticsPath, `codeql-action-${diagnostic.timestamp}.json`);
|
||||
try {
|
||||
(0, fs_1.writeFileSync)(jsonPath, JSON.stringify(diagnostic));
|
||||
}
|
||||
catch (err) {
|
||||
logger.warning(`Unable to write diagnostic message to database: ${err}`);
|
||||
}
|
||||
}
|
||||
exports.addDiagnostic = addDiagnostic;
|
||||
//# sourceMappingURL=diagnostics.js.map
|
||||
1
lib/diagnostics.js.map
Normal file
1
lib/diagnostics.js.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAmC;AACnC,gDAAwB;AAGxB,uCAA6C;AAmD7C;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,EAAU,EACV,IAAY,EACZ,OAA+C,SAAS;IAExD,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAVD,wCAUC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,MAAc,EAAE,UAA6B;IACzE,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAC3B,eAAe,EACf,iBAAiB,UAAU,CAAC,SAAS,OAAO,CAC7C,CAAC;IAEF,IAAI;QACF,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;KACrD;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,CAAC,OAAO,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AAbD,sCAaC"}
|
||||
Loading…
Add table
Add a link
Reference in a new issue