133 lines
4.1 KiB
JavaScript
133 lines
4.1 KiB
JavaScript
// Metro module 6464 (f6465).
|
|
import "./errorCallback";
|
|
import "./Module6367";
|
|
import { getGlobalSingleton } from "./Module6369";
|
|
import { getClient } from "./Module6395";
|
|
import { getActiveSpan, getRootSpan, spanToJSON } from "./spanTimeInputToSeconds";
|
|
import { DEBUG_BUILD } from "./Module6396";
|
|
import { logger } from "./consoleSandbox_6368";
|
|
import { COUNTER_METRIC_TYPE, DISTRIBUTION_METRIC_TYPE, SET_METRIC_TYPE, GAUGE_METRIC_TYPE } from "./Module6465";
|
|
import { timestampInSeconds } from "./Module6382";
|
|
import { startSpanManual } from "./createChildOrRootSpan_6402";
|
|
import { handleCallbackErrors } from "./Module6403";
|
|
function $mk78656() {
|
|
return () => new WeakMap();
|
|
}
|
|
function $mk78657($env) {
|
|
return () => $env[0].flush();
|
|
}
|
|
function $mk78658($env) {
|
|
return () => $env[0].close();
|
|
}
|
|
const addToMetricsAggregator = function addToMetricsAggregator(a0, a1, a2, a3, r4 = {}) {
|
|
const r12 = r4.client || getClient();
|
|
if (r12) {
|
|
const activeSpan = getActiveSpan();
|
|
const r7 = activeSpan ? getRootSpan(activeSpan) : void 0;
|
|
const transaction = r7 && spanToJSON(r7).description;
|
|
const { unit, tags, timestamp } = r4;
|
|
const options = r12.getOptions();
|
|
const { release, environment } = options;
|
|
const r10 = {};
|
|
if (release) {
|
|
r10.release = release;
|
|
}
|
|
if (environment) {
|
|
r10.environment = environment;
|
|
}
|
|
if (transaction) {
|
|
r10.transaction = transaction;
|
|
}
|
|
if (DEBUG_BUILD) {
|
|
logger.log(`Adding value of ${a3} to ${a1} metric ${a2}`);
|
|
}
|
|
const globalSingleton = getGlobalSingleton("globalMetricsAggregators", $mk78656());
|
|
let r63 = globalSingleton.get(r12);
|
|
if (!r63) {
|
|
let env15760;
|
|
const r65 = env15760 = {};
|
|
const r70 = new a0(r12);
|
|
env15760[0] = r70;
|
|
r12.on("flush", $mk78657(r65));
|
|
r12.on("close", $mk78658(r65));
|
|
globalSingleton.set(r12, r70);
|
|
r63 = r70;
|
|
}
|
|
r63.add.call(r63, a1, a2, a3, unit, {
|
|
...r10,
|
|
...tags
|
|
}, timestamp);
|
|
}
|
|
};
|
|
export const metrics = {
|
|
increment: function increment(a0, a1, r4 = 1) {
|
|
let r6 = r4;
|
|
if (typeof r6 === "string") {
|
|
r6 = parseInt(r4);
|
|
}
|
|
addToMetricsAggregator(a0, COUNTER_METRIC_TYPE, a1, r6, arguments[3]);
|
|
},
|
|
distribution: function distribution(a0, a1, a2, a3) {
|
|
addToMetricsAggregator(a0, DISTRIBUTION_METRIC_TYPE, a1, typeof a2 === "string" ? parseInt(a2) : a2, a3);
|
|
},
|
|
set: function set(a0, a1, a2, a3) {
|
|
addToMetricsAggregator(a0, SET_METRIC_TYPE, a1, a2, a3);
|
|
},
|
|
gauge: function gauge(a0, a1, a2, a3) {
|
|
addToMetricsAggregator(a0, GAUGE_METRIC_TYPE, a1, typeof a2 === "string" ? parseInt(a2) : a2, a3);
|
|
},
|
|
timing: function timing(a0, a1, a2) {
|
|
let c15761_4;
|
|
let unit = arguments[3];
|
|
if (unit === void 0) {
|
|
unit = "second";
|
|
}
|
|
const r5 = arguments[4];
|
|
let c15761_3 = r5;
|
|
c15761_4 = void 0;
|
|
if (typeof a2 === "function") {
|
|
const startTime = timestampInSeconds();
|
|
c15761_4 = startTime;
|
|
return startSpanManual({
|
|
op: "metrics.timing",
|
|
name: a1,
|
|
startTime,
|
|
onlyIfParent: true
|
|
}, (c25887_0) => handleCallbackErrors(() => a2(), () => {}, () => {
|
|
const r18 = timestampInSeconds();
|
|
const r10 = r18 - c15761_4;
|
|
const r20 = {
|
|
...c15761_3,
|
|
unit: "second"
|
|
};
|
|
let r27 = r10;
|
|
if (typeof r27 === "string") {
|
|
r27 = parseInt(r10);
|
|
}
|
|
addToMetricsAggregator(a0, DISTRIBUTION_METRIC_TYPE, a1, r27, r20);
|
|
c25887_0.end(r18);
|
|
}));
|
|
}
|
|
const r8 = {
|
|
...r5,
|
|
unit
|
|
};
|
|
addToMetricsAggregator(a0, DISTRIBUTION_METRIC_TYPE, a1, typeof a2 === "string" ? parseInt(a2) : a2, r8);
|
|
},
|
|
getMetricsAggregatorForClient: function getMetricsAggregatorForClient(a0, a1) {
|
|
const globalSingleton = getGlobalSingleton("globalMetricsAggregators", $mk78656());
|
|
const r18 = globalSingleton.get(a0);
|
|
if (r18) {
|
|
return r18;
|
|
}
|
|
let env15759;
|
|
const r19 = env15759 = {};
|
|
const r22 = new a1(a0);
|
|
env15759[0] = r22;
|
|
a0.on("flush", $mk78657(r19));
|
|
a0.on("close", $mk78658(r19));
|
|
globalSingleton.set(a0, r22);
|
|
return r22;
|
|
}
|
|
};
|