in generators/color-logger-generator.ts [36:96]
createConfiguredGenerator: function (config: IGeneratorConfig) {
return {
generatorTemplate: this,
makeInstance: (() => (async function*() {
const payload = "x".repeat(config.payloadSize);
const signalPayload = "x".repeat(config.signalPayloadSize);
let logIndex = 0;
let signalIndex = 0;
let blueIndex = 0;
const getTime = () => {
const d = new Date();
return d.getFullYear() + "-" + ('0' + (d.getMonth() + 1)).slice(-2) + "-" + ('0' + d.getDate()).slice(-2) + " " + ('0' + d.getHours()).slice(-2) + ":" + ('0' + d.getMinutes()).slice(-2) + ":" + ('0' + d.getSeconds()).slice(-2) + ('0' + d.getMilliseconds()).slice(-2);
}
while (1) {
const batch = [];
/* Signal log: one out of 71 */
if (logIndex % 71 === 0 && !config.disableSignal && signalIndex < config.signalPayloadCount) {
const logData: ILogData = ({
payload: signalPayload,
event_id: Math.floor(Math.random() * 1000), // generateRandomString(1000),
counter: signalIndex,
global_counter: logIndex,
time: getTime(),
} as any);
batch.push(logData);
++signalIndex;
}
/* Blue log: one out of 100 */
if (logIndex % 100 === 0 && blueIndex < config.payloadCount) {
const logData: ILogData = ({
blue: true,
id: logIndex,
time: getTime(),
} as any);
batch.push(logData);
++blueIndex;
}
/* Normal log: always sent */
const logData: ILogData = ({
payload: payload,
time: getTime(),
gauge: logIndex,
uuid: `abc${logIndex}`,
} as any);
batch.push(logData);
++logIndex;
yield batch;
}
})()),
}
}