add additional time measurements

This commit is contained in:
Valentin Zickner 2021-07-11 20:32:59 +02:00 committed by Thomas
parent 24dc312367
commit f1b3c61675
3 changed files with 13 additions and 1 deletions

View File

@ -27,6 +27,8 @@ export class PortfolioCalculator {
) {} ) {}
public computeTransactionPoints(orders: PortfolioOrder[]) { public computeTransactionPoints(orders: PortfolioOrder[]) {
console.time('compute-transaction-points');
orders.sort((a, b) => a.date.localeCompare(b.date)); orders.sort((a, b) => a.date.localeCompare(b.date));
this.transactionPoints = []; this.transactionPoints = [];
@ -90,6 +92,7 @@ export class PortfolioCalculator {
} }
lastDate = currentDate; lastDate = currentDate;
} }
console.timeEnd('compute-transaction-points');
} }
public setTransactionPoints(transactionPoints: TransactionPoint[]) { public setTransactionPoints(transactionPoints: TransactionPoint[]) {
@ -139,6 +142,8 @@ export class PortfolioCalculator {
if (timelineSpecification.length === 0) { if (timelineSpecification.length === 0) {
return []; return [];
} }
console.time('calculate-timeline-total');
console.time('calculate-timeline-calculations');
const startDate = timelineSpecification[0].start; const startDate = timelineSpecification[0].start;
const start = dparse(startDate); const start = dparse(startDate);
@ -166,6 +171,7 @@ export class PortfolioCalculator {
} }
timelinePeriodPromises.push(this.getTimePeriodForDate(j, currentDate)); timelinePeriodPromises.push(this.getTimePeriodForDate(j, currentDate));
} }
console.timeEnd('calculate-timeline-calculations');
console.time('calculate-timeline-periods'); console.time('calculate-timeline-periods');
@ -174,6 +180,7 @@ export class PortfolioCalculator {
); );
console.timeEnd('calculate-timeline-periods'); console.timeEnd('calculate-timeline-periods');
console.timeEnd('calculate-timeline-total');
return timelinePeriods; return timelinePeriods;
} }

View File

@ -91,11 +91,12 @@ export class PortfolioController {
@Res() res: Response @Res() res: Response
): Promise<HistoricalDataItem[]> { ): Promise<HistoricalDataItem[]> {
console.time('get-chart-request'); console.time('get-chart-request');
console.time('portfolio-service-get-chart');
let chartData = await this.portfolioService.getChart( let chartData = await this.portfolioService.getChart(
impersonationId, impersonationId,
range range
); );
console.timeEnd('portfolio-service-get-chart');
let hasNullValue = false; let hasNullValue = false;

View File

@ -151,15 +151,19 @@ export class PortfolioService {
aImpersonationId: string, aImpersonationId: string,
aDateRange: DateRange = 'max' aDateRange: DateRange = 'max'
): Promise<HistoricalDataItem[]> { ): Promise<HistoricalDataItem[]> {
console.time('impersonation-service');
const impersonationUserId = const impersonationUserId =
await this.impersonationService.validateImpersonationId( await this.impersonationService.validateImpersonationId(
aImpersonationId, aImpersonationId,
this.request.user.id this.request.user.id
); );
console.timeEnd('impersonation-service');
console.time('create-portfolio');
const portfolio = await this.createPortfolio( const portfolio = await this.createPortfolio(
impersonationUserId || this.request.user.id impersonationUserId || this.request.user.id
); );
console.timeEnd('create-portfolio');
const orders = portfolio.getOrders(); const orders = portfolio.getOrders();
if (orders.length <= 0) { if (orders.length <= 0) {