convex
Version:
Client for the Convex Cloud
55 lines (54 loc) • 1.91 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var metrics_exports = {};
__export(metrics_exports, {
getMarksReport: () => getMarksReport,
mark: () => mark
});
module.exports = __toCommonJS(metrics_exports);
const markNames = [
"convexClientConstructed",
"convexWebSocketOpen",
"convexFirstMessageReceived"
];
function mark(name, sessionId) {
const detail = { sessionId };
if (typeof performance === "undefined" || !performance.mark) return;
performance.mark(name, { detail });
}
function performanceMarkToJson(mark2) {
let name = mark2.name.slice("convex".length);
name = name.charAt(0).toLowerCase() + name.slice(1);
return {
name,
startTime: mark2.startTime
};
}
function getMarksReport(sessionId) {
if (typeof performance === "undefined" || !performance.getEntriesByName) {
return [];
}
const allMarks = [];
for (const name of markNames) {
const marks = performance.getEntriesByName(name).filter((entry) => entry.entryType === "mark").filter((mark2) => mark2.detail.sessionId === sessionId);
allMarks.push(...marks);
}
return allMarks.map(performanceMarkToJson);
}
//# sourceMappingURL=metrics.js.map