[monitoring] include core version in backend info

This commit is contained in:
Mononaut 2025-12-26 13:09:14 +00:00
parent dab68bc73d
commit 989aeed3c8
No known key found for this signature in database
GPG key ID: A3F058E41374C04E

View file

@ -3,9 +3,12 @@ import path from 'path';
import os from 'os';
import { IBackendInfo } from '../mempool.interfaces';
import config from '../config';
import bitcoinClient from './bitcoin/bitcoin-client';
import logger from '../logger';
class BackendInfo {
private backendInfo: IBackendInfo;
private timer;
constructor() {
// This file is created by ./fetch-version.ts during building
@ -26,7 +29,22 @@ class BackendInfo {
gitCommit: versionInfo.gitCommit,
lightning: config.LIGHTNING.ENABLED,
backend: config.MEMPOOL.BACKEND,
coreVersion: '?',
};
this.timer = setInterval(async () => {
await this.$updateCoreVersion();
}, 10 * 60 * 1000); // every 10 minutes
this.$updateCoreVersion(); // starting immediately
}
private async $updateCoreVersion(): Promise<void> {
try {
const networkInfo = await bitcoinClient.getNetworkInfo();
this.backendInfo.coreVersion = networkInfo.subversion;
} catch (e) {
logger.err(`Exception in $updateCoreVersion. Reason: ${(e instanceof Error ? e.message : e)}`);
}
}
public getBackendInfo(): IBackendInfo {