aws-cdk
Version:
AWS CDK CLI, the command line tool for CDK apps
36 lines • 4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.IoHostTelemetrySink = void 0;
const api_private_1 = require("../../../api-private");
/**
* A telemetry client that collects events and flushes them to stdout.
*/
class IoHostTelemetrySink {
ioHelper;
/**
* Create a new StdoutTelemetryClient
*/
constructor(props) {
this.ioHelper = api_private_1.IoHelper.fromActionAwareIoHost(props.ioHost);
}
/**
* Emit an event
*/
async emit(event) {
try {
// Format the events as a JSON string with pretty printing
const output = JSON.stringify(event, null, 2);
// Write to IoHost
await this.ioHelper.defaults.trace(`--- TELEMETRY EVENT ---\n${output}\n-----------------------\n`);
}
catch (e) {
// Never throw errors, just log them via ioHost
await this.ioHelper.defaults.trace(`Failed to add telemetry event: ${e.message}`);
}
}
async flush() {
return;
}
}
exports.IoHostTelemetrySink = IoHostTelemetrySink;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW8taG9zdC1zaW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW8taG9zdC1zaW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHNEQUFnRDtBQWNoRDs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBQ3RCLFFBQVEsQ0FBVztJQUUzQjs7T0FFRztJQUNILFlBQVksS0FBK0I7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxzQkFBUSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQXNCO1FBQ3RDLElBQUksQ0FBQztZQUNILDBEQUEwRDtZQUMxRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFOUMsa0JBQWtCO1lBQ2xCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLDRCQUE0QixNQUFNLDZCQUE2QixDQUFDLENBQUM7UUFDdEcsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDaEIsK0NBQStDO1lBQy9DLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRixDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUE3QkQsa0RBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJSW9Ib3N0IH0gZnJvbSAnQGF3cy1jZGsvdG9vbGtpdC1saWInO1xuaW1wb3J0IHsgSW9IZWxwZXIgfSBmcm9tICcuLi8uLi8uLi9hcGktcHJpdmF0ZSc7XG5pbXBvcnQgdHlwZSB7IFRlbGVtZXRyeVNjaGVtYSB9IGZyb20gJy4uL3NjaGVtYSc7XG5pbXBvcnQgdHlwZSB7IElUZWxlbWV0cnlTaW5rIH0gZnJvbSAnLi9zaW5rLWludGVyZmFjZSc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIFN0ZG91dFRlbGVtZXRyeUNsaWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElvSG9zdFRlbGVtZXRyeVNpbmtQcm9wcyB7XG4gIC8qKlxuICAgKiBXaGVyZSBtZXNzYWdlcyBhcmUgZ29pbmcgdG8gYmUgc2VudFxuICAgKi9cbiAgcmVhZG9ubHkgaW9Ib3N0OiBJSW9Ib3N0O1xufVxuXG4vKipcbiAqIEEgdGVsZW1ldHJ5IGNsaWVudCB0aGF0IGNvbGxlY3RzIGV2ZW50cyBhbmQgZmx1c2hlcyB0aGVtIHRvIHN0ZG91dC5cbiAqL1xuZXhwb3J0IGNsYXNzIElvSG9zdFRlbGVtZXRyeVNpbmsgaW1wbGVtZW50cyBJVGVsZW1ldHJ5U2luayB7XG4gIHByaXZhdGUgaW9IZWxwZXI6IElvSGVscGVyO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgU3Rkb3V0VGVsZW1ldHJ5Q2xpZW50XG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogSW9Ib3N0VGVsZW1ldHJ5U2lua1Byb3BzKSB7XG4gICAgdGhpcy5pb0hlbHBlciA9IElvSGVscGVyLmZyb21BY3Rpb25Bd2FyZUlvSG9zdChwcm9wcy5pb0hvc3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYW4gZXZlbnRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbWl0KGV2ZW50OiBUZWxlbWV0cnlTY2hlbWEpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgLy8gRm9ybWF0IHRoZSBldmVudHMgYXMgYSBKU09OIHN0cmluZyB3aXRoIHByZXR0eSBwcmludGluZ1xuICAgICAgY29uc3Qgb3V0cHV0ID0gSlNPTi5zdHJpbmdpZnkoZXZlbnQsIG51bGwsIDIpO1xuXG4gICAgICAvLyBXcml0ZSB0byBJb0hvc3RcbiAgICAgIGF3YWl0IHRoaXMuaW9IZWxwZXIuZGVmYXVsdHMudHJhY2UoYC0tLSBURUxFTUVUUlkgRVZFTlQgLS0tXFxuJHtvdXRwdXR9XFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG5gKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIC8vIE5ldmVyIHRocm93IGVycm9ycywganVzdCBsb2cgdGhlbSB2aWEgaW9Ib3N0XG4gICAgICBhd2FpdCB0aGlzLmlvSGVscGVyLmRlZmF1bHRzLnRyYWNlKGBGYWlsZWQgdG8gYWRkIHRlbGVtZXRyeSBldmVudDogJHtlLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGZsdXNoKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybjtcbiAgfVxufVxuIl19