From 0ed2592e41cb3b098ba34477e17433fe8f644b62 Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Fri, 8 Mar 2019 20:07:29 +0900
Subject: [PATCH] Resolve #4453

---
 src/server/api/call.ts | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/server/api/call.ts b/src/server/api/call.ts
index dac57b8f75..89a44b3c65 100644
--- a/src/server/api/call.ts
+++ b/src/server/api/call.ts
@@ -1,3 +1,4 @@
+import { performance } from 'perf_hooks';
 import limiter from './limiter';
 import { IUser } from '../../models/user';
 import { IApp } from '../../models/app';
@@ -71,6 +72,7 @@ export default async (endpoint: string, user: IUser, app: IApp, data: any, file?
 	}
 
 	// API invoking
+	const before = performance.now();
 	return await ep.exec(data, user, app, file).catch((e: Error) => {
 		if (e instanceof ApiError) {
 			throw e;
@@ -88,5 +90,11 @@ export default async (endpoint: string, user: IUser, app: IApp, data: any, file?
 				}
 			});
 		}
+	}).finally(() => {
+		const after = performance.now();
+		const time = after - before;
+		if (time > 1000) {
+			apiLogger.warn(`SLOW API CALL DETECTED: ${ep.name} (${time}ms)`);
+		}
 	});
 };