Use mutation for adding service/image ids to logs to reduce allocations

Change-type: patch
This commit is contained in:
Pagan Gazzard 2023-10-11 14:19:32 +01:00 committed by Felipe Lalanne
parent d685ccacb2
commit 3d73bf3e91
2 changed files with 13 additions and 12 deletions

View File

@ -12,7 +12,7 @@ import {
LogBackend,
LogMessage,
} from './logging';
import logMonitor from './logging/monitor';
import logMonitor, { MonitorHook } from './logging/monitor';
import * as globalEventBus from './event-bus';
import superConsole from './lib/supervisor-console';
@ -109,9 +109,7 @@ export function enable(value: boolean = true) {
}
export function log(message: LogMessage) {
if (backend != null) {
backend.log(message);
}
backend?.log(message);
}
export function logSystemMessage(
@ -139,9 +137,10 @@ export function lock(containerId: string): Bluebird.Disposer<() => void> {
});
}
type ServiceInfo = { serviceId: number; imageId: number };
export function attach(
containerId: string,
serviceInfo: { serviceId: number; imageId: number },
{ serviceId, imageId }: ServiceInfo,
): Bluebird<void> {
// First detect if we already have an attached log stream
// for this container
@ -150,9 +149,14 @@ export function attach(
}
return Bluebird.using(lock(containerId), async () => {
await logMonitor.attach(containerId, (message) => {
log({ ...serviceInfo, ...message });
});
await logMonitor.attach(
containerId,
(message: Parameters<MonitorHook>[0] & Partial<ServiceInfo>) => {
message.serviceId = serviceId;
message.imageId = imageId;
log(message);
},
);
});
}

View File

@ -5,10 +5,7 @@ import * as db from '../db';
import { spawnJournalctl, toJournalDate } from '../lib/journald';
import log from '../lib/supervisor-console';
export type MonitorHook = ({
message,
isStdErr,
}: {
export type MonitorHook = (message: {
message: string;
isStdErr: boolean;
timestamp: number;