Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@supertenant/core / src / tracing / w3c_trace_context / W3cTraceContext.js
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const constants=require("../constants"),tracingUtil=require("../tracingUtil"),VERSION00="00",LEFT_PAD_16="0000000000000000",SAMPLED_BITMASK=1;function W3cTraceContext(){this.traceParentValid=!1,this.version=void 0,this.traceParentTraceId=void 0,this.traceParentParentId=void 0,this.sampled=void 0,this.traceStateValid=!1,this.traceStateHead=void 0,this.instanaTraceId=void 0,this.instanaParentId=void 0,this.traceStateTail=void 0}W3cTraceContext.fromInstanaIds=function(instanaTraceId,instanaParentId,sampled){var paddedTraceId=16===instanaTraceId.length?LEFT_PAD_16+instanaTraceId:instanaTraceId,traceContext=(sampled="boolean"!=typeof sampled||sampled,new W3cTraceContext);return traceContext.traceParentValid=!0,traceContext.version=VERSION00,traceContext.traceParentTraceId=paddedTraceId,traceContext.traceParentParentId=instanaParentId,traceContext.sampled=sampled,traceContext.traceStateValid=!0,traceContext.instanaTraceId=instanaTraceId,traceContext.instanaParentId=instanaParentId,traceContext},W3cTraceContext.createEmptyUnsampled=function(traceId,parentId){var traceId=16===traceId.length?LEFT_PAD_16+traceId:traceId,traceContext=new W3cTraceContext;return traceContext.traceParentValid=!0,traceContext.version=VERSION00,traceContext.traceParentTraceId=traceId,traceContext.traceParentParentId=parentId,traceContext.sampled=!1,traceContext.traceStateValid=!0,traceContext},W3cTraceContext.prototype.renderTraceParent=function(){return this.traceParentValid?`00-${this.traceParentTraceId}-${this.traceParentParentId}-`+this.renderFlags():""},W3cTraceContext.prototype.renderFlags=function(){return this.sampled?"01":"00"},W3cTraceContext.prototype.hasTraceState=function(){return null!=(this.instanaTraceId&&this.instanaParentId||this.traceStateHead||this.traceStateTail)},W3cTraceContext.prototype.renderTraceState=function(){if(!this.traceStateValid)return"";let allKeyValuePairs=[];var instanaKeyValuePair=this.renderInstanaTraceStateValue();return this.traceStateHead&&(allKeyValuePairs=allKeyValuePairs.concat(this.traceStateHead)),instanaKeyValuePair&&allKeyValuePairs.push(instanaKeyValuePair),(allKeyValuePairs=this.traceStateTail?allKeyValuePairs.concat(this.traceStateTail):allKeyValuePairs).join(",")},W3cTraceContext.prototype.renderInstanaTraceStateValue=function(){return this.instanaTraceId&&this.instanaParentId?constants.w3cInstanaEquals+this.instanaTraceId+";"+this.instanaParentId:null},W3cTraceContext.prototype.resetTraceState=function(){this.traceStateValid=!0,this.traceStateHead=null,this.instanaTraceId=null,this.instanaParentId=null,this.traceStateTail=null},W3cTraceContext.prototype.updateParent=function(instanaTraceId,instanaParentId){this.instanaTraceId=instanaTraceId,this.instanaParentId=instanaParentId,this.traceParentParentId=instanaParentId,this.traceStateHead&&this.traceStateTail?this.traceStateTail=this.traceStateHead.concat(this.traceStateTail):this.traceStateHead&&(this.traceStateTail=this.traceStateHead),this.traceStateHead=null,this.sampled=!0},W3cTraceContext.prototype.restartTrace=function(longTraceId){this.traceParentValid=!0,this.version=VERSION00,this.instanaTraceId=longTraceId?tracingUtil.generateRandomLongTraceId():tracingUtil.generateRandomTraceId(),this.traceParentTraceId=longTraceId?this.instanaTraceId:LEFT_PAD_16+this.instanaTraceId,this.traceParentParentId=this.instanaParentId=tracingUtil.generateRandomSpanId(),this.sampled=!0,this.traceStateValid=!0,this.traceStateHead=null,this.traceStateTail=null},W3cTraceContext.prototype.disableSampling=function(){this.sampled&&(this.traceParentParentId=tracingUtil.generateRandomSpanId()),this.sampled=!1},W3cTraceContext.prototype.clone=function(){return Object.assign(new W3cTraceContext,this)},W3cTraceContext.prototype.getMostRecentForeignTraceStateMember=function(){var traceStateToInspect=this.traceStateHead||this.traceStateTail;if(traceStateToInspect&&0!==traceStateToInspect.length)return traceStateToInspect[0]},W3cTraceContext.VERSION00=VERSION00,W3cTraceContext.SAMPLED_BITMASK=SAMPLED_BITMASK,module.exports=W3cTraceContext;