UNPKG

@datadog/mobile-react-native

Version:

A client-side React Native module to interact with Datadog

33 lines (31 loc) 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DdTrace = void 0; var _InternalLog = require("../InternalLog"); var _SdkVerbosity = require("../SdkVerbosity"); var _bufferNativeCall = require("../sdk/DatadogProvider/Buffer/bufferNativeCall"); var _argsUtils = require("../utils/argsUtils"); var _DefaultTimeProvider = require("../utils/time-provider/DefaultTimeProvider"); /* * Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0. * This product includes software developed at Datadog (https://www.datadoghq.com/). * Copyright 2016-Present Datadog, Inc. */ const timeProvider = new _DefaultTimeProvider.DefaultTimeProvider(); class DdTraceWrapper { // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires nativeTrace = require('../specs/NativeDdTrace').default; startSpan = (operation, context = {}, timestampMs = timeProvider.now()) => { const spanId = (0, _bufferNativeCall.bufferNativeCallReturningId)(() => this.nativeTrace.startSpan(operation, (0, _argsUtils.validateContext)(context), timestampMs)); _InternalLog.InternalLog.log(`Starting span “${operation}” #${spanId}`, _SdkVerbosity.SdkVerbosity.DEBUG); return spanId; }; finishSpan = (spanId, context = {}, timestampMs = timeProvider.now()) => { _InternalLog.InternalLog.log(`Finishing span #${spanId}`, _SdkVerbosity.SdkVerbosity.DEBUG); return (0, _bufferNativeCall.bufferNativeCallWithId)(id => this.nativeTrace.finishSpan(id, (0, _argsUtils.validateContext)(context), timestampMs), spanId); }; } const DdTrace = exports.DdTrace = new DdTraceWrapper(); //# sourceMappingURL=DdTrace.js.map