@kangc/skywalking-backend-js
Version:
The NodeJS agent for Apache SkyWalking
78 lines • 3.65 kB
JavaScript
;
/*!
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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 });
var tslib_1 = require("tslib");
var AgentConfig_1 = tslib_1.__importDefault(require("../../../config/AgentConfig"));
var Common_pb_1 = require("../../../proto/common/Common_pb");
var Tracing_pb_1 = require("../../../proto/language-agent/Tracing_pb");
/**
* An adapter that adapts {@link Segment} objects to gRPC object {@link SegmentObject}.
*/
var SegmentObjectAdapter = /** @class */ (function (_super) {
tslib_1.__extends(SegmentObjectAdapter, _super);
function SegmentObjectAdapter(segment) {
var _this = _super.call(this) || this;
_super.prototype.setService.call(_this, AgentConfig_1.default.serviceName)
.setServiceinstance(AgentConfig_1.default.serviceInstance)
.setTraceid(segment.relatedTraces[0].toString())
.setTracesegmentid(segment.segmentId.toString())
.setSpansList(segment.spans.map(function (span) {
return new Tracing_pb_1.SpanObject()
.setSpanid(span.id)
.setParentspanid(span.parentId)
.setStarttime(span.startTime)
.setEndtime(span.endTime)
.setOperationname(span.operation)
.setPeer(span.peer)
.setSpantype(span.type)
.setSpanlayer(span.layer)
.setComponentid(span.component.id)
.setIserror(span.errored)
.setLogsList(span.logs.map(function (log) {
return new Tracing_pb_1.Log()
.setTime(log.timestamp)
.setDataList(log.items.map(function (logItem) {
return new Common_pb_1.KeyStringValuePair()
.setKey(logItem.key)
.setValue(logItem.val);
}));
}))
.setTagsList(span.tags.map(function (tag) {
return new Common_pb_1.KeyStringValuePair()
.setKey(tag.key)
.setValue(tag.val);
}))
.setRefsList(span.refs.map(function (ref) {
return new Tracing_pb_1.SegmentReference()
.setReftype(Tracing_pb_1.RefType.CROSSPROCESS)
.setTraceid(ref.traceId.toString())
.setParenttracesegmentid(ref.segmentId.toString())
.setParentspanid(ref.spanId)
.setParentservice(ref.service)
.setParentserviceinstance(ref.serviceInstance)
.setNetworkaddressusedatpeer(ref.clientAddress);
}));
}));
return _this;
}
return SegmentObjectAdapter;
}(Tracing_pb_1.SegmentObject));
exports.default = SegmentObjectAdapter;
//# sourceMappingURL=SegmentObjectAdapter.js.map