Browse Source

Added LogPerformance

pull/5027/head
Dan 1 year ago
parent
commit
127587878d
  1. 2
      apps/api/src/app/account/account.service.ts
  2. 2
      apps/api/src/app/order/order.service.ts
  3. 2
      apps/api/src/app/portfolio/calculator/portfolio-calculator.factory.ts
  4. 12
      apps/api/src/app/portfolio/calculator/portfolio-calculator.ts
  5. 3
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts
  6. 2
      apps/api/src/app/portfolio/portfolio.service.ts

2
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 { AccountBalanceService } from '@ghostfolio/api/app/account-balance/account-balance.service';
import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event'; import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event';
import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service'; import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-data/exchange-rate-data.service';
@ -149,6 +150,7 @@ export class AccountService {
}); });
} }
@LogPerformance
public async getCashDetails({ public async getCashDetails({
currency, currency,
filters = [], filters = [],

2
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 { AccountService } from '@ghostfolio/api/app/account/account.service';
import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event'; import { PortfolioChangedEvent } from '@ghostfolio/api/events/portfolio-changed.event';
import { DataGatheringService } from '@ghostfolio/api/services/data-gathering/data-gathering.service'; import { DataGatheringService } from '@ghostfolio/api/services/data-gathering/data-gathering.service';
@ -240,6 +241,7 @@ export class OrderService {
}); });
} }
@LogPerformance
public async getOrders({ public async getOrders({
endDate, endDate,
filters, filters,

2
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 { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service'; import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service';
import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service'; import { RedisCacheService } from '@ghostfolio/api/app/redis-cache/redis-cache.service';
@ -30,6 +31,7 @@ export class PortfolioCalculatorFactory {
private readonly orderservice: OrderService private readonly orderservice: OrderService
) {} ) {}
@LogPerformance
public createCalculator({ public createCalculator({
accountBalanceItems = [], accountBalanceItems = [],
activities, activities,

12
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 { Activity } from '@ghostfolio/api/app/order/interfaces/activities.interface';
import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service'; import { CurrentRateService } from '@ghostfolio/api/app/portfolio/current-rate.service';
import { PortfolioOrder } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order.interface'; import { PortfolioOrder } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order.interface';
@ -148,6 +149,7 @@ export abstract class PortfolioCalculator {
positions: TimelinePosition[] positions: TimelinePosition[]
): PortfolioSnapshot; ): PortfolioSnapshot;
@LogPerformance
public async computeSnapshot( public async computeSnapshot(
start: Date, start: Date,
end?: Date end?: Date
@ -422,6 +424,7 @@ export abstract class PortfolioCalculator {
}; };
} }
@LogPerformance
public async getChart({ public async getChart({
dateRange = 'max', dateRange = 'max',
withDataDecimation = true, withDataDecimation = true,
@ -445,6 +448,7 @@ export abstract class PortfolioCalculator {
}); });
} }
@LogPerformance
public async getChartData({ public async getChartData({
end = new Date(Date.now()), end = new Date(Date.now()),
start, start,
@ -785,10 +789,12 @@ export abstract class PortfolioCalculator {
}); });
} }
@LogPerformance
public getDataProviderInfos() { public getDataProviderInfos() {
return this.dataProviderInfos; return this.dataProviderInfos;
} }
@LogPerformance
public async getDividendInBaseCurrency() { public async getDividendInBaseCurrency() {
await this.snapshotPromise; await this.snapshotPromise;
@ -799,18 +805,21 @@ export abstract class PortfolioCalculator {
); );
} }
@LogPerformance
public async getFeesInBaseCurrency() { public async getFeesInBaseCurrency() {
await this.snapshotPromise; await this.snapshotPromise;
return this.snapshot.totalFeesWithCurrencyEffect; return this.snapshot.totalFeesWithCurrencyEffect;
} }
@LogPerformance
public async getInterestInBaseCurrency() { public async getInterestInBaseCurrency() {
await this.snapshotPromise; await this.snapshotPromise;
return this.snapshot.totalInterestWithCurrencyEffect; return this.snapshot.totalInterestWithCurrencyEffect;
} }
@LogPerformance
public getInvestments(): { date: string; investment: Big }[] { public getInvestments(): { date: string; investment: Big }[] {
if (this.transactionPoints.length === 0) { if (this.transactionPoints.length === 0) {
return []; return [];
@ -828,6 +837,7 @@ export abstract class PortfolioCalculator {
}); });
} }
@LogPerformance
public getInvestmentsByGroup({ public getInvestmentsByGroup({
data, data,
groupBy groupBy
@ -851,12 +861,14 @@ export abstract class PortfolioCalculator {
})); }));
} }
@LogPerformance
public async getLiabilitiesInBaseCurrency() { public async getLiabilitiesInBaseCurrency() {
await this.snapshotPromise; await this.snapshotPromise;
return this.snapshot.totalLiabilitiesWithCurrencyEffect; return this.snapshot.totalLiabilitiesWithCurrencyEffect;
} }
@LogPerformance
public async getSnapshot() { public async getSnapshot() {
await this.snapshotPromise; await this.snapshotPromise;

3
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 { PortfolioCalculator } from '@ghostfolio/api/app/portfolio/calculator/portfolio-calculator';
import { PortfolioOrderItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order-item.interface'; import { PortfolioOrderItem } from '@ghostfolio/api/app/portfolio/interfaces/portfolio-order-item.interface';
import { getFactor } from '@ghostfolio/api/helper/portfolio.helper'; import { getFactor } from '@ghostfolio/api/helper/portfolio.helper';
@ -17,6 +18,7 @@ import {
import { cloneDeep, first, last, sortBy } from 'lodash'; import { cloneDeep, first, last, sortBy } from 'lodash';
export class TWRPortfolioCalculator extends PortfolioCalculator { export class TWRPortfolioCalculator extends PortfolioCalculator {
@LogPerformance
protected calculateOverallPerformance( protected calculateOverallPerformance(
positions: TimelinePosition[] positions: TimelinePosition[]
): PortfolioSnapshot { ): PortfolioSnapshot {
@ -133,6 +135,7 @@ export class TWRPortfolioCalculator extends PortfolioCalculator {
}; };
} }
@LogPerformance
protected getSymbolMetrics({ protected getSymbolMetrics({
dataSource, dataSource,
end, end,

2
apps/api/src/app/portfolio/portfolio.service.ts

@ -211,6 +211,7 @@ export class PortfolioService {
}; };
} }
@LogPerformance
public getAnnualizedPerformancePercent({ public getAnnualizedPerformancePercent({
daysInMarket, daysInMarket,
netPerformancePercentage netPerformancePercentage
@ -229,6 +230,7 @@ export class PortfolioService {
return new Big(0); return new Big(0);
} }
@LogPerformance
public async getDividends({ public async getDividends({
activities, activities,
groupBy groupBy

Loading…
Cancel
Save