UNPKG

@hippy/debug-server-next

Version:
113 lines (112 loc) 3.79 kB
"use strict"; /* * Tencent is pleased to support the open source community by making * Hippy available. * * Copyright (C) 2017-2019 THL A29 Limited, a Tencent company. * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.createCDPPerformance = exports.report = void 0; const tslib_1 = require("tslib"); const os_1 = tslib_1.__importDefault(require("os")); const aegis_1 = tslib_1.__importDefault(require("@debug-server-next/patch/aegis")); const beacon_1 = tslib_1.__importDefault(require("@debug-server-next/patch/beacon")); const config_1 = require("@debug-server-next/config"); const bundle_version_1 = require("@debug-server-next/utils/bundle-version"); const enum_1 = require("@debug-server-next/@types/enum"); const package_json_1 = require("../../package.json"); class Report { constructor() { this.event = (event) => { aegis.reportEvent(event); getBeacon().onDirectUserAction(event.name, event); }; this.error = (e) => { aegis.report(e); }; this.log = (msg) => { aegis.infoAll(msg); }; this.time = (duration, event) => { aegis.reportTime({ duration, ...event, }); }; this.timeStart = (name) => { const start = Date.now(); return (event = {}) => { const end = Date.now(); const duration = end - start; aegis.reportTime({ duration, ...event, name, }); }; }; this.addCommonParams = (params) => { getBeacon().addAdditionalParams({ ...params, userApp: global.debugAppArgv.env, devtoolsPlatform: devtoolsPlatform(), devtoolsEnv: config_1.config.isCluster ? 'remote' : 'local', hostname: os_1.default.hostname(), }); }; } } exports.report = new Report(); const aegis = new aegis_1.default({ id: config_1.config.aegisId, selector: { type: 'host', }, uin: (0, bundle_version_1.getBundleVersionId)(), version: package_json_1.version, ext3: config_1.config.isCluster ? 'remote' : 'local', // protocol: 'http', }); let beacon; const getBeacon = () => { if (!beacon) { beacon = new beacon_1.default({ appkey: '0WEB0A25405J1LFO', versionCode: package_json_1.version, openid: (0, bundle_version_1.getBundleVersionId)(), unionid: (0, bundle_version_1.getBundleVersionId)(), }); } return beacon; }; const devtoolsPlatform = () => { const osType = os_1.default.type(); if (osType === enum_1.OSType.Darwin) { if (process.arch === 'arm64') { return `${osType}_arm64`; } return `${osType}_x86`; } return osType; }; const createCDPPerformance = (perf) => ({ devtoolsToDebugServer: 0, debugServerReceiveFromDevtools: 0, debugServerToDevtools: 0, devtoolsReceive: 0, ...(perf || {}), }); exports.createCDPPerformance = createCDPPerformance;