@datadog/mobile-react-native
Version:
A client-side React Native module to interact with Datadog
33 lines (31 loc) • 1.72 kB
JavaScript
;
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