UNPKG

@kangc/skywalking-backend-js

Version:

The NodeJS agent for Apache SkyWalking

46 lines (45 loc) 2.14 kB
/*! * * 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. * */ import Context from '../../trace/context/Context'; import Span from '../../trace/span/Span'; import Segment from '../../trace/context/Segment'; import EntrySpan from '../../trace/span/EntrySpan'; import ExitSpan from '../../trace/span/ExitSpan'; import LocalSpan from '../../trace/span/LocalSpan'; import { Component } from '../Component'; import { ContextCarrier } from './ContextCarrier'; import { SpanType } from '../../proto/language-agent/Tracing_pb'; export default class SpanContext implements Context { static nActiveSegments: number; spanId: number; nSpans: number; finished: boolean; segment: Segment; ignoreCheck(operation: string, type: SpanType, carrier?: ContextCarrier): Span | undefined; spanCheck(spanType: SpanType, operation: string, carrier?: ContextCarrier): [Span | null, Span?]; newSpan(spanClass: typeof EntrySpan | typeof ExitSpan | typeof LocalSpan, parent: Span, operation: string): Span; newEntrySpan(operation: string, carrier?: ContextCarrier, inherit?: Component | Component[]): Span; newExitSpan(operation: string, component: Component, inherit?: Component): Span; newLocalSpan(operation: string): Span; start(span: Span): Context; stop(span: Span): boolean; async(span: Span): void; resync(span: Span): void; traceId(): string; }