Skip to content

Commit

Permalink
Fix crash when there is an error while fetching metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
francois2metz committed Nov 14, 2022
1 parent b25f4e6 commit d471f66
Showing 1 changed file with 20 additions and 18 deletions.
38 changes: 20 additions & 18 deletions lib/application/task-metrics.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,30 @@ async function taskMetrics() {
SCALINGO_APPS.forEach(async (scalingoApp) => {
try {
const databases = await databaseStatsRepository.getAvailableDatabases(scalingoApi, scalingoApp);
databases.forEach(async ({ name, id: addonId }) => {
const leaderNodeId = await databaseStatsRepository.getDatabaseLeaderNodeId(scalingoApi, scalingoApp, addonId);
const metrics = await databaseStatsRepository.getDBMetrics(scalingoApi, scalingoApp, addonId);
await Promise.all(
databases.map(async ({ name, id: addonId }) => {
const leaderNodeId = await databaseStatsRepository.getDatabaseLeaderNodeId(scalingoApi, scalingoApp, addonId);
const metrics = await databaseStatsRepository.getDBMetrics(scalingoApi, scalingoApp, addonId);

const leaderMetrics = databaseStatsRepository.getInstanceMetrics(metrics, leaderNodeId);
const leaderMetrics = databaseStatsRepository.getInstanceMetrics(metrics, leaderNodeId);

logger.info({
event: 'db-metrics',
app: scalingoApp,
database: name,
data: {
leader_metrics: { ...leaderMetrics, cpu: leaderMetrics.cpu.usage_in_percents },
database_stats: metrics.database_stats,
},
});
logger.info({
event: 'db-metrics',
app: scalingoApp,
database: name,
data: {
leader_metrics: { ...leaderMetrics, cpu: leaderMetrics.cpu.usage_in_percents },
database_stats: metrics.database_stats,
},
});

const disk = await databaseStatsRepository.getDBDisk(scalingoApi, scalingoApp, addonId, leaderNodeId);
logger.info({ event: 'db-disk', app: scalingoApp, database: name, data: disk });
const disk = await databaseStatsRepository.getDBDisk(scalingoApi, scalingoApp, addonId, leaderNodeId);
logger.info({ event: 'db-disk', app: scalingoApp, database: name, data: disk });

const diskio = await databaseStatsRepository.getDBDiskIO(scalingoApi, scalingoApp, addonId, leaderNodeId);
logger.info({ event: 'db-diskio', app: scalingoApp, database: name, data: diskio });
});
const diskio = await databaseStatsRepository.getDBDiskIO(scalingoApi, scalingoApp, addonId, leaderNodeId);
logger.info({ event: 'db-diskio', app: scalingoApp, database: name, data: diskio });
})
);
} catch (error) {
logger.error(error, {
task: 'metrics',
Expand Down

0 comments on commit d471f66

Please sign in to comment.