Skip to content

Commit

Permalink
[BUGFIX] Corriger les imports de run-task-queries-metric
Browse files Browse the repository at this point in the history
  • Loading branch information
pix-service-auto-merge committed Aug 13, 2024
2 parents f1011b5 + 3526003 commit 4e800d4
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 17 deletions.
4 changes: 2 additions & 2 deletions lib/application/run-task-queries-metric.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { run } from './task-queries-metric.js';
import scalingoApi from '../infrastructure/scalingo-api.js';
import databaseStatsRepository from '../infrastructure/database-stats-repository/js';
import * as scalingoApi from '../infrastructure/scalingo-api.js';
import * as databaseStatsRepository from '../infrastructure/database-stats-repository.js';

(async () => {
await run(databaseStatsRepository, scalingoApi);
Expand Down
21 changes: 15 additions & 6 deletions lib/infrastructure/database-stats-repository.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ function truncate(queryString) {
return queryString;
}

export async function getAvailableDatabases(scalingoApi, scalingoApp) {
async function getAvailableDatabases(scalingoApi, scalingoApp) {
const addons = await scalingoApi.getAddons(scalingoApp);

return addons
Expand All @@ -28,7 +28,7 @@ export async function getAvailableDatabases(scalingoApi, scalingoApp) {
});
}

export async function getDBMetrics(scalingoApi, scalingoApp, addonId) {
async function getDBMetrics(scalingoApi, scalingoApp, addonId) {
const leaderNodeId = await _getDatabaseLeaderNodeId(scalingoApi, scalingoApp, addonId);
const metrics = await scalingoApi.getDbMetrics(scalingoApp, addonId);
const leaderMetrics = metrics.instances_metrics[leaderNodeId];
Expand All @@ -45,16 +45,16 @@ export async function getDBMetrics(scalingoApi, scalingoApp, addonId) {
};
}

export async function getPgConnectionString(scalingoApp) {
async function getPgConnectionString(scalingoApp) {
return scalingoApi.getPgConnectionString(scalingoApp);
}

export async function getPgQueryStats(scalingoApp) {
async function getPgQueryStats(scalingoApp) {
const { result } = await scalingoApi.getPgQueryStats(scalingoApp);
return result || [];
}

export async function getPgQueriesMetric(injectedScalingoApi = scalingoApi, scalingoApp) {
async function getPgQueriesMetric(injectedScalingoApi = scalingoApi, scalingoApp) {
const { result: queries } = await injectedScalingoApi.getPgRunningQueries(scalingoApp);

const activeQueries = queries.filter((query) => query.state === 'active');
Expand All @@ -77,11 +77,20 @@ export async function getPgQueriesMetric(injectedScalingoApi = scalingoApi, scal
};
}

export async function resetPgQueryStats(scalingoApp) {
async function resetPgQueryStats(scalingoApp) {
await scalingoApi.resetPgStats(scalingoApp);
}

async function _getDatabaseLeaderNodeId(scalingoApi, scalingoApp, addonId) {
const instancesStatus = await scalingoApi.getInstancesStatus(scalingoApp, addonId);
return instancesStatus.filter(({ type, role }) => type === 'db-node' && role === 'leader').map(({ id }) => id)[0];
}

export {
getAvailableDatabases,
getDBMetrics,
getPgConnectionString,
getPgQueryStats,
getPgQueriesMetric,
resetPgQueryStats,
};
30 changes: 21 additions & 9 deletions lib/infrastructure/scalingo-api.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,39 +21,39 @@ const _getAddonTokenFromApplication = async function (scalingoApp, addonId) {
return _getAddonToken(scalingoApp, scalingoApplicationToken, addonId);
};

export async function getAddons(scalingoApp) {
async function getAddons(scalingoApp) {
const scalingoApplicationToken = await _getScalingoApplicationToken();
return _getAddons(scalingoApp, scalingoApplicationToken);
}

export async function getDbMetrics(scalingoApp, addonId) {
async function getDbMetrics(scalingoApp, addonId) {
const addonToken = await _getAddonTokenFromApplication(scalingoApp, addonId);
return _getDbMetrics(addonToken, addonId);
}

export async function getDbDisk(scalingoApp, addonId, leaderNodeId) {
async function getDbDisk(scalingoApp, addonId, leaderNodeId) {
const addonToken = await _getAddonTokenFromApplication(scalingoApp, addonId);

return _getDbDisk(addonToken, addonId, leaderNodeId);
}

export async function getDbDiskIO(scalingoApp, addonId, leaderNodeId) {
async function getDbDiskIO(scalingoApp, addonId, leaderNodeId) {
const addonToken = await _getAddonTokenFromApplication(scalingoApp, addonId);

return _getDbDiskIO(addonToken, addonId, leaderNodeId);
}

export async function getInstancesStatus(scalingoApp, addonId) {
async function getInstancesStatus(scalingoApp, addonId) {
const addonToken = await _getAddonTokenFromApplication(scalingoApp, addonId);

return _getInstancesStatus(addonToken, addonId);
}

export async function getPgConnectionString(scalingoApp) {
function getPgConnectionString(scalingoApp) {
return _getScalingoPgUrl(scalingoApp);
}

export async function getPgQueryStats(scalingoApp) {
async function getPgQueryStats(scalingoApp) {
const { addonId, token } = await _getScalingoDatabaseAPICredentials(scalingoApp);

const config = requestConfig(token);
Expand All @@ -63,7 +63,7 @@ export async function getPgQueryStats(scalingoApp) {
return stats;
}

export async function getPgRunningQueries(scalingoApp, injectedCredentials = _getScalingoDatabaseAPICredentials) {
async function getPgRunningQueries(scalingoApp, injectedCredentials = _getScalingoDatabaseAPICredentials) {
const { addonId, token } = await injectedCredentials(scalingoApp);
const config = requestConfig(token);
const { data: stats } = await httpServicePost(`${DB_API_URL}/api/databases/${addonId}/action`, config, {
Expand All @@ -72,7 +72,7 @@ export async function getPgRunningQueries(scalingoApp, injectedCredentials = _ge
return stats;
}

export async function resetPgStats(scalingoApp) {
async function resetPgStats(scalingoApp) {
const { addonId, token } = await _getScalingoDatabaseAPICredentials(scalingoApp);

const config = requestConfig(token);
Expand Down Expand Up @@ -158,3 +158,15 @@ async function _getAddonToken(scalingoApp, token, addonId) {
const { data } = await httpServicePost(url, config);
return data.addon.token;
}

export {
getAddons,
getDbMetrics,
getDbDisk,
getDbDiskIO,
getInstancesStatus,
getPgConnectionString,
getPgQueryStats,
getPgRunningQueries,
resetPgStats,
};

0 comments on commit 4e800d4

Please sign in to comment.