From 127587878db17fe7b04680aa9ec635a25898a673 Mon Sep 17 00:00:00 2001 From: Dan Date: Tue, 4 Jun 2024 16:30:53 +0200 Subject: [PATCH] Added LogPerformance --- apps/api/src/app/account/account.service.ts | 2 ++ apps/api/src/app/order/order.service.ts | 2 ++ .../calculator/portfolio-calculator.factory.ts | 2 ++ .../app/portfolio/calculator/portfolio-calculator.ts | 12 ++++++++++++ .../portfolio/calculator/twr/portfolio-calculator.ts | 3 +++ apps/api/src/app/portfolio/portfolio.service.ts | 2 ++ 6 files changed, 23 insertions(+) diff --git a/apps/api/src/app/account/account.service.ts b/apps/api/src/app/account/account.service.ts index 1564fa5b3..ce372003d 100644 --- a/apps/api/src/app/account/account.service.ts +++ b/apps/api/src/app/account/account.service.ts @@ -1,3 +1,4 @@ +import { LogPerformance } from '@ghostfolio/api/aop/logging.interceptor'; import { AccountBalanceService } from '@ghostfolio/api/app/account-balance/account-balance.service'; import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; @@ -149,6 +150,7 @@ export class AccountService { }); } + @LogPerformance public async getCashDetails({ currency, filters = [], diff --git a/apps/api/src/app/order/order.service.ts b/apps/api/src/app/order/order.service.ts index abaefd293..9949f7b1b 100644 --- a/apps/api/src/app/order/order.service.ts +++ b/apps/api/src/app/order/order.service.ts @@ -1,3 +1,4 @@ +import { LogPerformance } from '@ghostfolio/api/aop/logging.interceptor'; import { AccountService } from '@ghostfolio/api/app/account/account.service'; import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event'; import { DataGatheringService } from '@ghostfolio/api/services/data-gathering/data-gathering.service'; @@ -240,6 +241,7 @@ export class OrderService { }); } + @LogPerformance public async getOrders({ endDate, filters, diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts index b6089247e..dad633dd7 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts @@ -1,3 +1,4 @@ +import { LogPerformance } from '@ghostfolio/api/aop/logging.interceptor'; import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface'; import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service'; import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service'; @@ -30,6 +31,7 @@ export class PortfolioCalculatorFactory { private readonly orderservice: OrderService ) {} + @LogPerformance public createCalculator({ accountBalanceItems = [], activities, diff --git a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts index 57d5771ed..ce42e4c06 100644 --- a/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/portfolio-calculator.ts @@ -1,3 +1,4 @@ +import { LogPerformance } from '@ghostfolio/api/aop/logging.interceptor'; import { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface'; import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service'; import { PortfolioOrder } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order.interface'; @@ -148,6 +149,7 @@ export abstract class PortfolioCalculator { positions: TimelinePosition[] ): PortfolioSnapshot; + @LogPerformance public async computeSnapshot( start: Date, end?: Date @@ -422,6 +424,7 @@ export abstract class PortfolioCalculator { }; } + @LogPerformance public async getChart({ dateRange = 'max', withDataDecimation = true, @@ -445,6 +448,7 @@ export abstract class PortfolioCalculator { }); } + @LogPerformance public async getChartData({ end = new Date(Date.now()), start, @@ -785,10 +789,12 @@ export abstract class PortfolioCalculator { }); } + @LogPerformance public getDataProviderInfos() { return this.dataProviderInfos; } + @LogPerformance public async getDividendInBaseCurrency() { await this.snapshotPromise; @@ -799,18 +805,21 @@ export abstract class PortfolioCalculator { ); } + @LogPerformance public async getFeesInBaseCurrency() { await this.snapshotPromise; return this.snapshot.totalFeesWithCurrencyEffect; } + @LogPerformance public async getInterestInBaseCurrency() { await this.snapshotPromise; return this.snapshot.totalInterestWithCurrencyEffect; } + @LogPerformance public getInvestments(): { date: string; investment: Big }[] { if (this.transactionPoints.length === 0) { return []; @@ -828,6 +837,7 @@ export abstract class PortfolioCalculator { }); } + @LogPerformance public getInvestmentsByGroup({ data, groupBy @@ -851,12 +861,14 @@ export abstract class PortfolioCalculator { })); } + @LogPerformance public async getLiabilitiesInBaseCurrency() { await this.snapshotPromise; return this.snapshot.totalLiabilitiesWithCurrencyEffect; } + @LogPerformance public async getSnapshot() { await this.snapshotPromise; diff --git a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts index 69716e405..3ceb5c618 100644 --- a/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts +++ b/apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts @@ -1,3 +1,4 @@ +import { LogPerformance } from '@ghostfolio/api/aop/logging.interceptor'; import { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator'; import { PortfolioOrderItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order-item.interface'; import { getFactor } from '@ghostfolio/api/helper/portfolio.helper'; @@ -17,6 +18,7 @@ import { import { cloneDeep, first, last, sortBy } from 'lodash'; export class TWRPortfolioCalculator extends PortfolioCalculator { + @LogPerformance protected calculateOverallPerformance( positions: TimelinePosition[] ): PortfolioSnapshot { @@ -133,6 +135,7 @@ export class TWRPortfolioCalculator extends PortfolioCalculator { }; } + @LogPerformance protected getSymbolMetrics({ dataSource, end, diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts index 091041221..633fe9e1d 100644 --- a/apps/api/src/app/portfolio/portfolio.service.ts +++ b/apps/api/src/app/portfolio/portfolio.service.ts @@ -211,6 +211,7 @@ export class PortfolioService { }; } + @LogPerformance public getAnnualizedPerformancePercent({ daysInMarket, netPerformancePercentage @@ -229,6 +230,7 @@ export class PortfolioService { return new Big(0); } + @LogPerformance public async getDividends({ activities, groupBy