UNPKG

matrix-react-sdk

Version:
44 lines (40 loc) 4.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.decorateStartSendingTime = decorateStartSendingTime; exports.sendRoundTripMetric = sendRoundTripMetric; /* Copyright 2024 New Vector Ltd. Copyright 2021 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * Decorates the given event content object with the "send start time". The * object will be modified in-place. * @param {object} content The event content. */ function decorateStartSendingTime(content) { content["io.element.performance_metrics"] = { sendStartTs: Date.now() }; } /** * Called when an event decorated with `decorateStartSendingTime()` has been sent * by the server (the client now knows the event ID). * @param {MatrixClient} client The client to send as. * @param {string} inRoomId The room ID where the original event was sent. * @param {string} forEventId The event ID for the decorated event. */ function sendRoundTripMetric(client, inRoomId, forEventId) { // noinspection JSIgnoredPromiseFromCall client.sendEvent(inRoomId, "io.element.performance_metric", { "io.element.performance_metrics": { forEventId: forEventId, responseTs: Date.now(), kind: "send_time" } }); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkZWNvcmF0ZVN0YXJ0U2VuZGluZ1RpbWUiLCJjb250ZW50Iiwic2VuZFN0YXJ0VHMiLCJEYXRlIiwibm93Iiwic2VuZFJvdW5kVHJpcE1ldHJpYyIsImNsaWVudCIsImluUm9vbUlkIiwiZm9yRXZlbnRJZCIsInNlbmRFdmVudCIsInJlc3BvbnNlVHMiLCJraW5kIl0sInNvdXJjZXMiOlsiLi4vc3JjL3NlbmRUaW1lUGVyZm9ybWFuY2VNZXRyaWNzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIxIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCB7IElDb250ZW50LCBNYXRyaXhDbGllbnQgfSBmcm9tIFwibWF0cml4LWpzLXNkay9zcmMvbWF0cml4XCI7XG5cbi8qKlxuICogRGVjb3JhdGVzIHRoZSBnaXZlbiBldmVudCBjb250ZW50IG9iamVjdCB3aXRoIHRoZSBcInNlbmQgc3RhcnQgdGltZVwiLiBUaGVcbiAqIG9iamVjdCB3aWxsIGJlIG1vZGlmaWVkIGluLXBsYWNlLlxuICogQHBhcmFtIHtvYmplY3R9IGNvbnRlbnQgVGhlIGV2ZW50IGNvbnRlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvcmF0ZVN0YXJ0U2VuZGluZ1RpbWUoY29udGVudDogSUNvbnRlbnQpOiB2b2lkIHtcbiAgICBjb250ZW50W1wiaW8uZWxlbWVudC5wZXJmb3JtYW5jZV9tZXRyaWNzXCJdID0ge1xuICAgICAgICBzZW5kU3RhcnRUczogRGF0ZS5ub3coKSxcbiAgICB9O1xufVxuXG4vKipcbiAqIENhbGxlZCB3aGVuIGFuIGV2ZW50IGRlY29yYXRlZCB3aXRoIGBkZWNvcmF0ZVN0YXJ0U2VuZGluZ1RpbWUoKWAgaGFzIGJlZW4gc2VudFxuICogYnkgdGhlIHNlcnZlciAodGhlIGNsaWVudCBub3cga25vd3MgdGhlIGV2ZW50IElEKS5cbiAqIEBwYXJhbSB7TWF0cml4Q2xpZW50fSBjbGllbnQgVGhlIGNsaWVudCB0byBzZW5kIGFzLlxuICogQHBhcmFtIHtzdHJpbmd9IGluUm9vbUlkIFRoZSByb29tIElEIHdoZXJlIHRoZSBvcmlnaW5hbCBldmVudCB3YXMgc2VudC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBmb3JFdmVudElkIFRoZSBldmVudCBJRCBmb3IgdGhlIGRlY29yYXRlZCBldmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbmRSb3VuZFRyaXBNZXRyaWMoY2xpZW50OiBNYXRyaXhDbGllbnQsIGluUm9vbUlkOiBzdHJpbmcsIGZvckV2ZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIG5vaW5zcGVjdGlvbiBKU0lnbm9yZWRQcm9taXNlRnJvbUNhbGxcbiAgICBjbGllbnQuc2VuZEV2ZW50KGluUm9vbUlkLCBcImlvLmVsZW1lbnQucGVyZm9ybWFuY2VfbWV0cmljXCIsIHtcbiAgICAgICAgXCJpby5lbGVtZW50LnBlcmZvcm1hbmNlX21ldHJpY3NcIjoge1xuICAgICAgICAgICAgZm9yRXZlbnRJZDogZm9yRXZlbnRJZCxcbiAgICAgICAgICAgIHJlc3BvbnNlVHM6IERhdGUubm93KCksXG4gICAgICAgICAgICBraW5kOiBcInNlbmRfdGltZVwiLFxuICAgICAgICB9LFxuICAgIH0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLHdCQUF3QkEsQ0FBQ0MsT0FBaUIsRUFBUTtFQUM5REEsT0FBTyxDQUFDLGdDQUFnQyxDQUFDLEdBQUc7SUFDeENDLFdBQVcsRUFBRUMsSUFBSSxDQUFDQyxHQUFHLENBQUM7RUFDMUIsQ0FBQztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0MsbUJBQW1CQSxDQUFDQyxNQUFvQixFQUFFQyxRQUFnQixFQUFFQyxVQUFrQixFQUFRO0VBQ2xHO0VBQ0FGLE1BQU0sQ0FBQ0csU0FBUyxDQUFDRixRQUFRLEVBQUUsK0JBQStCLEVBQUU7SUFDeEQsZ0NBQWdDLEVBQUU7TUFDOUJDLFVBQVUsRUFBRUEsVUFBVTtNQUN0QkUsVUFBVSxFQUFFUCxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDO01BQ3RCTyxJQUFJLEVBQUU7SUFDVjtFQUNKLENBQUMsQ0FBQztBQUNOIiwiaWdub3JlTGlzdCI6W119