summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/performance_bar
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-10-21 07:08:36 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-10-21 07:08:36 +0000
commit48aff82709769b098321c738f3444b9bdaa694c6 (patch)
treee00c7c43e2d9b603a5a6af576b1685e400410dee /app/assets/javascripts/performance_bar
parent879f5329ee916a948223f8f43d77fba4da6cd028 (diff)
downloadgitlab-ce-48aff82709769b098321c738f3444b9bdaa694c6.tar.gz
Add latest changes from gitlab-org/gitlab@13-5-stable-eev13.5.0-rc42
Diffstat (limited to 'app/assets/javascripts/performance_bar')
-rw-r--r--app/assets/javascripts/performance_bar/components/performance_bar_app.vue2
-rw-r--r--app/assets/javascripts/performance_bar/performance_bar_log.js25
2 files changed, 26 insertions, 1 deletions
diff --git a/app/assets/javascripts/performance_bar/components/performance_bar_app.vue b/app/assets/javascripts/performance_bar/components/performance_bar_app.vue
index 165feb1b6aa..e38771785b7 100644
--- a/app/assets/javascripts/performance_bar/components/performance_bar_app.vue
+++ b/app/assets/javascripts/performance_bar/components/performance_bar_app.vue
@@ -36,7 +36,7 @@ export default {
metric: 'active-record',
title: 'pg',
header: s__('PerformanceBar|SQL queries'),
- keys: ['sql'],
+ keys: ['sql', 'cached'],
},
{
metric: 'bullet',
diff --git a/app/assets/javascripts/performance_bar/performance_bar_log.js b/app/assets/javascripts/performance_bar/performance_bar_log.js
index 638c544f2e1..55b4d626e56 100644
--- a/app/assets/javascripts/performance_bar/performance_bar_log.js
+++ b/app/assets/javascripts/performance_bar/performance_bar_log.js
@@ -1,5 +1,6 @@
/* eslint-disable no-console */
import { getCLS, getFID, getLCP } from 'web-vitals';
+import { PERFORMANCE_TYPE_MARK, PERFORMANCE_TYPE_MEASURE } from '~/performance_constants';
const initVitalsLog = () => {
const reportVital = data => {
@@ -16,6 +17,29 @@ const initVitalsLog = () => {
getLCP(reportVital);
};
+const logUserTimingMetrics = () => {
+ const metricsProcessor = list => {
+ const entries = list.getEntries();
+ entries.forEach(entry => {
+ const { name, entryType, startTime, duration } = entry;
+ const typeMapper = {
+ [PERFORMANCE_TYPE_MARK]: String.fromCodePoint(0x1f3af),
+ [PERFORMANCE_TYPE_MEASURE]: String.fromCodePoint(0x1f4d0),
+ };
+ console.group(`${typeMapper[entryType]} ${name}`);
+ if (entryType === PERFORMANCE_TYPE_MARK) {
+ console.log(`Start time: ${startTime}`);
+ } else if (entryType === PERFORMANCE_TYPE_MEASURE) {
+ console.log(`Duration: ${duration}`);
+ }
+ console.log(entry);
+ console.groupEnd();
+ });
+ };
+ const observer = new PerformanceObserver(metricsProcessor);
+ observer.observe({ entryTypes: [PERFORMANCE_TYPE_MEASURE, PERFORMANCE_TYPE_MARK] });
+};
+
const initPerformanceBarLog = () => {
console.log(
`%c ${String.fromCodePoint(0x1f98a)} GitLab performance bar`,
@@ -23,6 +47,7 @@ const initPerformanceBarLog = () => {
);
initVitalsLog();
+ logUserTimingMetrics();
};
export default initPerformanceBarLog;