skywalking-backend-js-netease
Version:
The NodeJS agent for Apache SkyWalking
67 lines • 3.11 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 });
const tslib_1 = require("tslib");
const AgentConfig_1 = tslib_1.__importDefault(require("../../../config/AgentConfig"));
const Common_pb_1 = require("../../../proto/common/Common_pb");
const Tracing_pb_1 = require("../../../proto/language-agent/Tracing_pb");
/**
* An adapter that adapts {@link Segment} objects to gRPC object {@link SegmentObject}.
*/
class SegmentObjectAdapter extends Tracing_pb_1.SegmentObject {
constructor(segment) {
super();
super
.setService(AgentConfig_1.default.serviceName)
.setServiceinstance(AgentConfig_1.default.serviceInstance)
.setTraceid(segment.relatedTraces[0].toString())
.setTracesegmentid(segment.segmentId.toString())
.setSpansList(segment.spans.map((span) => 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((log) => new Tracing_pb_1.Log()
.setTime(log.timestamp)
.setDataList(log.items.map((logItem) => new Common_pb_1.KeyStringValuePair()
.setKey(logItem.key)
.setValue(logItem.val)))))
.setTagsList(span.tags.map((tag) => new Common_pb_1.KeyStringValuePair()
.setKey(tag.key)
.setValue(tag.val)))
.setRefsList(span.refs.map((ref) => 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)
.setParentendpoint(ref.endpoint)
.setParentserviceinstance(ref.serviceInstance)
.setNetworkaddressusedatpeer(ref.clientAddress)))));
}
}
exports.default = SegmentObjectAdapter;
//# sourceMappingURL=SegmentObjectAdapter.js.map