Fix missing SOL price metrics

This commit is contained in:
2024-09-01 13:16:48 +02:00
parent e08969bee5
commit e0d4ad20c0
4 changed files with 726 additions and 125 deletions

View File

@@ -15,7 +15,7 @@ app.get('/metrics/:addr?', async (req, res) => {
console.log(`Gathering metrics for ${walletAddress}`);
res.setHeader('Content-Type', registry.contentType);
registry.resetMetrics();
//registry.resetMetrics();
let [solBalance, usdcBalance, marketData] = await Promise.all([
loadWalletBalance(walletAddress),
@@ -26,8 +26,11 @@ app.get('/metrics/:addr?', async (req, res) => {
solBalanceMetric.set(label, extractWalletBalance(solBalance));
usdcBalanceMetric.set(label, extractUSDCBalance(usdcBalance));
solUsdcBalanceMetric.set(label, extractWalletBalance(solBalance) * extractSOLPrice(marketData));
solPriceMetric.set(extractSOLPrice(marketData));
let solPrice = extractSOLPrice(marketData);
if(solPrice){
solUsdcBalanceMetric.set(label, extractWalletBalance(solBalance) * solPrice);
solPriceMetric.set(solPrice);
}
res.send(await registry.metrics());
});

View File

@@ -59,7 +59,7 @@ function extractUSDCBalance(usdcBalance) {
// extract SOL price
function extractSOLPrice(marketData) {
return marketData.data.SOL.price;
return marketData.data?.SOL?.price;
}
// export functions